随笔分类 -  java

摘要:使用NIO编程的优点: 1.客户端发起的连接操作是异步的,可以通过在多路复用器注册OP_CONNECT等待后续结果,不需要像之前的客户端那样被同步阻塞. 2.SocketChannel的读写操作都是异步的,如果没有可读写的数据它不会同步等待,直接返回,这样I/O通信线程就可以处理其他的链路,不需要同 阅读全文
posted @ 2017-07-18 14:36 断了线的风筝~ 阅读(235) 评论(0) 推荐(0)
摘要:TimeServer: TimeServerHandler: TimeClient: BIO主要的问题在于每当一个新的客户端请求连接时,服务器必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接。在高性能服务器应用领域,往往需要面向成千上万个客户端的并发连接,这种模型显然无法满 阅读全文
posted @ 2017-07-18 11:58 断了线的风筝~ 阅读(176) 评论(0) 推荐(0)
摘要:对象已死吗? 1.引用计数算法(虚拟机并没有使用) 给对象中添加一个引用计数器,每当有一个地方应用它时,计数器值就加1;当引用失败时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。但是它很难解决对象之间相互循环引用的问题。 2.可达性分析算法 通过一系列的称为“GC Roots”的对 阅读全文
posted @ 2017-04-07 16:13 断了线的风筝~ 阅读(198) 评论(0) 推荐(0)
摘要:运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线 阅读全文
posted @ 2017-04-06 14:52 断了线的风筝~ 阅读(173) 评论(0) 推荐(0)