整个世界的问题在于,愚者和狂徒对自己总是如此确信,而智者则满是疑虑。 ——伯特兰·罗素 无知乃是上帝的降祸,知识乃是人类藉以飞向天堂的翅膀。 ...
整个世界的问题在于,愚者和狂徒对自己总是如此确信,而智者则满是疑虑。 ——伯特兰·罗素 无知乃是上帝的降祸,知识乃是人类藉以飞向天堂的翅膀。 ...
引言 HyperLogLog算法经常在数据库中被用来统计某一字段的Distinct Value(下文简称DV),比如Redis的HyperLogLog结构,出于好奇探索了一下...
提高锁性能的几点建议减小锁持有时间减小锁粒度读写分离锁替换独占锁(读多写少的场景)锁分离(LinkedBlockingQueue中的putLock,takeLock)锁粗化(...
重入锁ReentrantLock是指一个线程在执行过程中可以多次获取的同一个锁,加锁和解锁操作必须成对出现lock、unlock,在 JDK 1.5 之前,重入锁的性能远好于...
Thread.stop方法会立即终止线程,可能会导致数据不一致的情况,正确的结束线程的方法是在run方法中加上对终止标识的判断逻辑实现 线程中断不会使线程立即退出,而是给线程...
并发和并行都可以表示两个或者多个任务一起执行,并发偏重于多个任务交替执行(多个任务间还是串行),并行是多个任务同时执行 临界区用来表示一种公共资源或共享数据,可以被多个线程使...
SslHandler提供了SSL/TLS加密,通常作为第一个ChannelHandlerimage.png 一个 HTTP 请求/响应可能由多个数据部分组成,并且它总是以一个...
解码器用于将入站数据从一种格式转换到另一种格式,主要包括两类将字节解码为消息——ByteToMessageDecoder和ReplayingDecoder将一种消息类型解码为...
Netty 提供了 Embedded 传输,用于测试ChannelHandler,EmbeddedChannel提供了通过ChannelPipeline传播事件的简便方法。将...
引导类的层次结构包括一个抽象的父类和两个具体的引导子类,服务器致力于使用一个父 Channel 来接受来自客户端的连接,并创建子 Channel 以用于它们之间的通信;而客户...
EventLoop——事件循环,扩展了ScheduledExecutorService,可以提供JDK的所有方法,如scheduleAtFixedRate,schedule等...
Netty 的 ByteBuffer 替代品是 ByteBuf ,既解决了 JDK API 的局限性,又为网络应用程序的开发者提供了更好的 API。通过两个组件abstrac...
Channel 的生命周期ChannelUnregistered:Channel 已经被创建,但还未注册到 EventLoopChannelRegistered:Channe...
使用 JDK 的 NIO 实现异步的服务端,大体包括 创建 Channel=>绑定端口=>注册监听=>处理连接建立事件=>注册读写=>处理读写public class MyP...
Channel:Socket ;EventLoop:控制流、多线程处理、并发;ChannelFuture:异步通知image.png一个EventLoopGroup包含一个或...
@Sharable标示一个ChannelHandler 可以被多个 Channel 安全地共享 ChannelInboundHandlerAdapter的每个方法都可以被重写...
Netty是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端 传统Java网络编程,accept形式提供阻塞式 IO 能支撑中小数...
service sshd 没有启动sudo yum install openssh-serversystemctl enable sshd.servicesystemctl ...