java
文章平均质量分 67
sk_z
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap中computeIfAbsent递归调用导致死循环
原因是:map.computeIfAbsent(key1, mappingFunction)如果当前key1-hash对应的tab位(可以理解为槽)刚好是空的,在计算mappingFunction之前会step1: 先往对应位置放一个ReservationNode占位step2: 然后计算mappingFunction的值value, step3: 再将value组装成最终NODE, 把占...原创 2018-12-23 16:47:20 · 4236 阅读 · 0 评论 -
NIO中channel和buffer底层交互--directBuffer和heapBuffer区别
举一个从SocketChannel中读数据的例子: /** * SocketChannel 接口 * @throws NotYetConnectedException * If this channel is not yet connected */ public abstract int read(ByteBuffer...原创 2018-12-28 18:47:34 · 629 阅读 · 0 评论 -
30分钟入门netty
netty是一款用于网络通信的框架, 优点是异步、事件驱动型、高吞吐量、低延时; 支持大量应用层协议如FTP, SMTP, HTTP等, 简化了用户在客户端或者服务端的开发. 客户端开发使用netty提供的Bootstrap, 服务端可以使用ServerBootstrap.文中涉及代码为netty 4.1.32.Final版本Bootstrap和ServerBootstrap都继承Abst...原创 2019-01-13 13:04:04 · 285 阅读 · 0 评论