摘要:
最近加班太多,很久没有更新博客了,周末看了下阿里大神并发的书籍,把知识点做个记录。 一:线程安全的定义 当多个线程并发访问某个类时,如果不用考虑运营环境下的调度和交替运行,且不需要额外的辅助,这里认为这个类就是线程安全的。 原子操作的描述:一个操作单元要么全部成功,要么全部失败。后面再看看数据库中关 阅读全文
摘要:
一:jstack找到最耗cpu的线程并定位代码 1.ps -ef|grep java 或者 jps -l 得到进程pid 2.找到该进程内最耗cpu的线程,我一般使用: top -Hp pid 3.cpu时间最长的就是pid为21742的线程,printf "x%\n" 21742,得到十六进制,为 阅读全文
摘要:
我在前面说过了server的启动,差不多可以看到netty nio主要的东西包括了:nioEventLoop,nioMessageUnsafe,channelPipeline,channelHandler等。比较绕的就是handler的顺序:head >tail,这个也是netty链式管理复杂的地方 阅读全文
摘要:
nio server启动的第一步,都是要创建一个serverSocketChannel,我截取一段启动代码,一步步分析: 阅读全文
摘要:
转自:http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备 阅读全文
摘要:
如果不了解netty的,可以百度下,netty社区现在也比较活跃。 现在所谓的大数据,flume,storm等底层都是netty。 netty的性能模型: io模型 >异步非阻塞io 1:jdk1.4开始提供了非阻塞io,即nio jdk1.5以后,epoll代替了poll,打破了selector上 阅读全文
摘要:
ClassPathResource: String resource = ""; //相对路径 Resource resource = new ClassPathResource(resource); //获取当前类下,同一个包中的资源 Resource resource = new Cla... 阅读全文