随笔分类 - java
摘要:面向对象的基本原则有,抽象、分类、封装,消息通信,多态性,行为分析和复杂性控制。 一、抽象 抽象是指从事物中舍弃个别的、非本质的特征,抽取共同的,本质特征的思维方式。 从几个方面理解抽象, 1,编程语言本身越来越抽象。 过程抽象,如,函数。 数据抽象,如,类,栈。 在类的范围内,使用过程抽象来形成操
阅读全文
摘要:作者:张铁蕾链接:https://www.zhihu.com/question/49618581/answer/117107570来源:知乎著作权归作者所有,转载请联系作者获得授权。 首先,从大的方面说,这篇文档的名字,虽然叫“Backpressure”(背压),但却是在讲述一个更大的话题,“Flo
阅读全文
摘要:Java8允许在接口中加入具体方法。 接口中的具体方法有两种,default方法和static方法,identity()就是Function接口的一个静态方法。 Function.identity()返回一个输出跟输入一样的Lambda表达式对象,等价于形如t->t 形式的Lambda表达式。 pr
阅读全文
摘要:map是同步处理数据,flatMap是异步处理数据。 map()返回的是最终订阅的对象。 而flatMap()是个方法,返回的是一个流,也就是一个Flux或者Mono。 可以把这个flux看作一个二维嵌套的flux。其中绿色的和黄色的分别是一个Flux。 当我们要订阅Flux的时候,我们需要把嵌套里
阅读全文
摘要:一个对象转换成另一个对象。 过滤出,员工薪酬等于2000,通过map方法转换成以Leader为对象的Flux。 通过log查看过滤之后的员工 也可以把log放在map之后
阅读全文
摘要:Logs日志,向服务器发请求或服务器响应的时候所产生的Log日志。 服务器端 在filter里加上日志logRequest, filter里加上logReaponse 运行 Resquest和Response日志都可以打出来 可以把WebClient配置定义在一个Configuration,定义成一
阅读全文
摘要:1,服务器端加一个错误埋点 2,客户端使用onStatus()错误处理,处理500错误机制 处理4开头和5开头的异常 3,访问 服务器后台: 4,服务器端模拟一个401错误 客户端访问 isError包含了4开头的错误码和5开头的错误码。
阅读全文
摘要:一、WebClient Uri传参 Uri传参有两种,一种是@RequestParam,一种是@PathVariable @RequestParam通过key,value的形式传参。 @PathVariable通过占位符的形式传参。 1,@RequestParam传参 1,服务器端 接收消费者端提交
阅读全文
摘要:Spring WebClient Spring MVC中用RestTemplate调远程的接口,线程阻塞。 WebClient线程非阻塞。 一、demo调用服务器端接口 1,服务器端findAll接口 2,客户端,消费者 bodyToFlux()方法将返回来的body转化成Flux对象。 二、Web
阅读全文
摘要:SSE:Server-Sent Event服务器推送事件,服务器推送数据。 一、SSE和WebSocket区别。 SSE是单向,WebSocket是双向。 WebSocket场景:聊天工具。 SSE场景:股票交易市场。 二、实战 Flux每一秒推送一个数据: 加上媒体类型 三、SSE推送数据包含哪些
阅读全文
摘要:https://spring.io/reactive Reactive技术栈 WebFlux Transfer/sec跟Requests/sec趋势不一致是因为WebFlux返回内容时,同样的内容占用的空间就是小,你可以自己写个demo用浏览器的调试控制台看看,同样的数据由WebFlux返回时传输的
阅读全文
摘要:Spark,缺点是批计算,Spark-Streaming的流本质上还是批(微批)计算。 Flink真正流计算,实时分布式处理框架,支持高吞吐,低延迟,高性能。 一、Flink Apache Flink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。 1,有界流和无界流 任何
阅读全文
摘要:一、Gradle安装 1,新建GRADLE_HOME 此电脑=》属性=》高级系统设置=》环境变量=》系统变量=》新建一个GRADLE_HOME 2,找到Path,新建%GRADLE_HOME%\bin 3.通过gradle -v验证是否安装成功 二、gradle项目目录结构介绍 配置文件和代码分离
阅读全文
摘要:SpringBoot有哪些优势? 简化配置:SpringBoot是对Spring的进一步封装,基于注解开发,舍弃了笨重的XML,确实需要配置的使用yml或者properties进行简要配置。【auto-configuration自动化配置,改下默认值即可】 产品级独立运行: 每一个工程都可以打成一个
阅读全文
摘要:创建Flux 创建Mono 订阅 subscribie() 第一个参数:订阅的数据 第二个参数:处理错误的机制 第三个参数:订阅完成后做相应的处理 第四个参数:订阅数据的量,默认获取Long.MAX_VALUE,也就是默认订阅所有的数据。 其他写法: React Map: 一个对象转化成另一个对象
阅读全文
摘要:使用Intellij idea的时候,编译项目始终报错java: cannot find symbol symbol: variable log 装Lombok Plugin 插件 设置 build、execution、deployment -> compiler -> annotation pro
阅读全文