Java 函数式编程

Java 函数式编程

这是Java函数式编程的自学笔记。 虽然昨晚使劲想明白了,不过思维还是没有完全转变过来,估计要自如运用,还得有段时间。 这篇笔记里充满着反复的思考,希望过段时间自己回来还能够看明白。 函数柯里化的一个关键的思想就是,如果是按顺序传递参数的话,每次返回的函数对象的类型应该是下一个参数的类型。这个到了后

reduce的三种重载

reduce的三种重载

reduce的重载秘密 在之前看SIA5的过程中,比较头疼的就是lambda表达式还不是很熟练,反应式的流全部都要用函数式编程,这两天正好在补一补lambda的相关知识。 Java 8里对于lambda最多的应用就是集合加上一个.stream()变成Stream接口对象,然后用lambda表达式操作

Spring in Action 5 Self-learning notes 16 - 总结

Spring in Action 5 Self-learning notes 16 - 总结

总结 拼着老命吧Spring in Action 5这本最新的书看完了。整本书的脉络很清晰,和我之前的感慨一样,这本书实际上是假设读者已经基本上对于Spring in Action第四版全部了解的情况下写的,对于Spring的IOC,AOP等概念几乎没有重复介绍,而是在第四版的基础上重点介绍Spri

Spring in Action 5 Self-learning notes 15 - Actuator的使用

Spring in Action 5 Self-learning notes 15 - Actuator的使用

Actuator 端点 这一章主要是Actuator的使用,都是一些纯粹的工具和配置方法,以记录要点的形式快速通过。 修改默认路径:management.endpoints.web.base-path=/ac 默认只有/health和/info端点,可以自行添加和减少内容: management.e

Spring in Action 5 Self-learning notes 14 - 错误和延迟处理

Spring in Action 5 Self-learning notes 14 - 错误和延迟处理

错误处理 如果服务取不到数据,或者发生错误,如果需要一层层的try catch和处理比较麻烦,有一个软件可以提供一旦出错之后,自动去执行其他的方法,来完成这个方法的返回结果。 比如如果REST 服务查不到一个数据,那么可以返回一个默认的数据,需要添加依赖: <dependency> <gro

Spring in Action 5 Self-learning notes 13 - ConfigServer

Spring in Action 5 Self-learning notes 13 - ConfigServer

有了注册服务器,解决了服务之间互相找其他服务的依赖问题(这也是更广范围的依赖注入啊哈哈),还有一个问题需要解决,就是配置问题。 之前每个微服务的配置都是散落在各自的软件包中。这一次就要来看看Spring Cloud’s Config Server,是一个集中配置到一处的服务器,通过这个服务器可以集中

Spring in Action 5 Self-learning notes 12 - Eureka 服务器配置

Spring in Action 5 Self-learning notes 12 - Eureka 服务器配置

Eureka服务本身也是一个微服务,相当于一个黄页,只不过是动态的。其他的所有服务都要到Eureka其中注册,要使用服务的消费者需要到Eureka中查询服务的状态,然后根据Eureka返回服务的地址,去寻找对应的服务端点进行消费。 根据SIA5的内容,这一次搭建一个简单的REST服务注册到Eurek

Spring in Action 5 Self-learning notes 11 - Reactive 存取数据

Spring in Action 5 Self-learning notes 11 - Reactive 存取数据

上一篇的当务之急就是还没有响应式的数据库,JPA无法直接返回Flux或者Mono类型。 目前Spring 响应式支持的数据库有Cassandra,MongoDB,Couchbase和Redis。 非响应式数据库 非响应式数据库的主要支持来自于Spring Data JPA,遗憾的是,这些关系型数据库

Spring in Action 5 Self-learning notes 10 - Reactive API

Spring in Action 5 Self-learning notes 10 - Reactive API

理解完了Reactor,就要看在Spring 项目中如何使用了。这里还要接触Spring 5提供的新框架: WebFlux,与Spring MVC一样易于使用。 开始使用Spring WebFlux 传统的Spring MVC的方式,每个连接使用一个从线程池拿出来的线程进行处理,会阻塞。请求线程会一

Spring in Action 5 Self-learning notes 9 - Reactor

Spring in Action 5 Self-learning notes 9 - Reactor

有两种编程模式:Imperative和Reactive。 Imperative有点像SIA5中提到的一次订阅一年报纸,但是要等到一年结束才能给一年的报纸的方法。 Reactive有点像现实中的报纸订阅,很多任务可以并行工作,每个任务都可以处理数据并把数据交给下一个任务 这一章要了解Reactor这个