tctip demo页面>
摘要: (原) 第四篇,客户端与服务端心跳 心跳事件有三种,读空闲,写空闲,读写空闲,定义在了IdleState枚举类中,分别为READER_IDLE,WRITER_IDLE,ALL_IDLE 服务端: main方法与之前的例子差不多,只不过多了加了一个日志,其中,handler是用于处理bossGroup 阅读全文
posted @ 2019-07-29 15:12 冰冻开水 阅读(1082) 评论(0) 推荐(0) 编辑
摘要: (原) 第三篇,客户端与服务端通信 以下例子逻辑: 如果客户端连上服务端,服务端控制台就显示,XXX个客户端地址连接上线。 第一个客户端连接成功后,客户端控制台不显示信息,再有其它客户端再连接上线,则其它客户端显示:【服务器】 - XXX 已加入 当客户端发送一条消息给服务端,其它客户端控制台都能收 阅读全文
posted @ 2019-07-29 15:08 冰冻开水 阅读(487) 评论(2) 推荐(0) 编辑
摘要: (原) 第二篇,客户端与服务端互发消息 与第一篇的例子类似,这里服务端需要三个类,客户端也需要三个类。 服务端关键代码如下:MyServer与上一个例子中的TestServer 差多,这里只列举不同的地方。 通过MyServerHandler能看到,服务端收到消息后会向客户端发送一个UUID。 客户 阅读全文
posted @ 2019-07-29 14:55 冰冻开水 阅读(3900) 评论(0) 推荐(0) 编辑
摘要: (原) 第一篇,从一个最简单的例子开始 1、netty是干什么,怎么用,这里不作介绍,先从一个例子来了解它, netty 5.0以上的版本被废弃了,以下例子从4.1.10.Final版本开始。 2、一共3个类 1> TestServer 用于启动服务,这里有二个EventLoopGroup,boss 阅读全文
posted @ 2019-07-26 15:12 冰冻开水 阅读(501) 评论(0) 推荐(0) 编辑
摘要: (原) 首先有3个div, 第1个,固定大小是200*200(单位为px,下同) 第2个,不固定大小,其大小要用第3个div把个撑开,但是这个div必需要有滚动条, 第3个,固定大小与第1个div保持一致200*200 先上代码再解释: 如图: 第1个div是红色边框,第2个是绿色,第3个是蓝色。 阅读全文
posted @ 2019-05-27 17:18 冰冻开水 阅读(8027) 评论(0) 推荐(0) 编辑
摘要: (原) 在用ribbon负载均衡取eureka注册中心中的地址时,默认采用循环策略,例如商品服务有3个,分别为URL1,URL2,URL3,那么在客户端第一次取时,会取到URL1,第二次取时取到URL2,第三次是URL3,然后依次循环。 很好奇这种算法是怎么保证永远是顺序取的,如果在高并发下,是否也 阅读全文
posted @ 2019-05-08 16:50 冰冻开水 阅读(401) 评论(0) 推荐(0) 编辑
摘要: (原) 以下例子springboot后端地址为:localhost:7080/pingandai vue前端地址为:locahost:8080/pingandai/ 1、如果路由模式设置的是history。 这里的nofount.html就是index.html页面: 2、 如果路由模式设置的是默认 阅读全文
posted @ 2019-04-23 17:54 冰冻开水 阅读(5341) 评论(1) 推荐(1) 编辑
摘要: (原) shiro最核心的2个操作,一个是登录的实现,一就是过滤器了。登录有时间再补录说明,这里分析下shiro过滤器怎样玩的。 1、目标 这里会按如下顺序逐一看其实原理,并尽量找出其出处。 先看一下shiro过滤器有哪些及它们的别名分别对应哪些类:点这里 这里只分析平时用的最多的一个:authc过 阅读全文
posted @ 2019-03-11 21:49 冰冻开水 阅读(15948) 评论(3) 推荐(11) 编辑
摘要: 1、 通过generate返回一个Stream对象,接收一个 Supplier函数 例如: 2、 This is a short-circuiting terminal operation 这是一个终止操作,返回一个Optional,为什么是Optional而不是一个对象T呢?因为Stream中可能 阅读全文
posted @ 2018-11-14 21:59 冰冻开水 阅读(676) 评论(0) 推荐(0) 编辑
摘要: (原) stream的内容比较多,先简单看一下它的说明: 一个元素的序列,它支持一个串行和并行的聚合操作。下面的例子介绍了使用stream和intstream进行聚合操作。 这个例子里,widgets是一个集合,我们通过Collection.stream()创建了一个Widget的Stream对象。 阅读全文
posted @ 2018-11-11 11:51 冰冻开水 阅读(824) 评论(0) 推荐(0) 编辑