摘要:
类的字段 private final Channel parent; //父channel private final ChannelId id; //唯一id private final Unsafe unsafe; //实际处理I/O操作的类 private final DefaultChann 阅读全文
摘要:
Channel全名是 io.netty.channel.Channel Channel全名是 io.netty.channel.Channel 是netty通信的载体,是netty网络操作的抽象接口,包含了JDK提供的Channel的功能,还额外聚合了一组功能。 Chnanel包含的东西相当庞杂,这 阅读全文
摘要:
上篇博客留了个尾巴“而且LineBasedFrameDecoder据说还有一种不要求携带结束符的解码方式”,今天就从源码来看看是怎么回事。 一、基本原理 如果没有netty,用户自行拆包,原理是: netty的原理也是如此。 netty的原理也是如此。 LineBasedFrameDecoder的基 阅读全文
摘要:
Client 建立连接,发送一百条消息 //在到服务器的连接已经建立之后将被调用 @Override public void channelActive(ChannelHandlerContext ctx){ for (int i = 0; i < 100; i++) { byte[] req = 阅读全文
摘要:
初学netty碰到一个bug,想进入源码中去调试,但在配置source attachment的情况下只能看到源码,可以添加断点,但是运行时代码没有中断。 在网上搜了好久感觉都说得有点不清不楚,综合多个答案,终于被我找到方法,特此分享给大家。 1、下载jar包的源码包 2、放入项目的libs 3、在代 阅读全文
摘要:
这是我刚开始学习netty写的第一个demo,原准备照着《Netty权威指南》的入门demo敲一边,等到我去下载jar包搭建环境的时候才发现Netty竟然没有5.x版本,现在最高 4.1.9。一脸懵逼的我一搜才知道Netty从5.x退回到4.x,具体原因不清楚。4.x与5.x毕竟隔着一个大版本,中间 阅读全文
摘要:
程序世界的代理模式同现实中的代理人(例如:律师)类似,执行当事人授权的一些事情或执行一些当事人无力完成的专业操作。 代理模式的作用: 完成用户请求,屏蔽用户对真实对象的直接访问。 在远程连接中对用户请求进行一些其他操作。例如转账,转账前进行登录检查,转账后记录日志。 延时加载,提升系统性能。 下面通 阅读全文
摘要:
单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 优点: 1、省略创建对象所花费的时间减少系统开销,尤其是重量级对象。 2、减少对象的创建,减轻GC压力。 3、设置全局访问入口,优化资源访问。 一、最简单的实现 方案1: 1 public class SingletonC 阅读全文
摘要:
工作中遇到过一个bug,用两个POJO的 Integer 字段 做 == 判断,明明“数值”相等结果返回 false。检查代码,调试,看源码搞了好久,才知道是Java包装类理解不够惹的祸。 为了弄清楚其中的本质,先上一段代码: 1 int a = 5; 2 Integer b = 5; 3 Inte 阅读全文
摘要:
问题:今天项目有一个需求,需要new一个HashMap,将它赋值给一个修饰符为static+final的Map。 思路:不能停服,那就只能动态修改了,那必然用到反射。反射的一些基础知识请自行学习 参考:1、http://my.oschina.net/dxqr/blog/215504?p={{tota 阅读全文