SF
linc
linc
注册登录
关注博客
注册登录
主页
关于
RSS
Java concurrent 源码学习笔记2 - 锁
小姨夫
2018-09-19
阅读 13 分钟
1.5k
concurrent包里的很多方法都是基于sun.misc.Unsafe这个类,Unsafe这个类从名字上可以看出是一个不安全的类,JDK也并没有把这个类开放给用户使用(但是我们可以通过一些比较hack的方式使用到这个类)。Unsafe是一个单例的类,通过静态的getUnsafe()方法获取到他的实例,可以看到,在方法中会判断调用Unsafe.getUnsafe()方...
Java concurrent 源码学习笔记1 - 概览
小姨夫
2018-09-19
阅读 1 分钟
1.6k
Java concurrent 源码学习笔记基于JDK1.8 concurrent包源码大致分为以下几组: 对util包集合框架的扩展(更好的支持多线程并发操作) 线程池相关 锁 基本数据类型的原子性封装
记一次大量CLOSE_WAIT连接导致的服务宕机
小姨夫
2018-06-14
阅读 2 分钟
14.9k
最近线上服务出现了一段时间的无法响应,在此总结一下问题的排查过程。 监控信息 监控显示CPU和内存没有异常波动,TCP连接中有大量的CLOSE_WAIT状态的连接。看一下TCP连接断开的过程: 也就是说客户端发起了断开连接的包,服务端收到数据后状态变更为CLOSE_WAIT,这时需要等待服务端处理完连接中未发送完的数据之后发送F...
记一次线上CPU超高的排查过程
小姨夫
2017-11-01
阅读 3 分钟
4.6k
top显示进程18781占用CPU超过190%(主机是双核)。top -Hp 18781其中线程18783和18784各自的CPU都达到了99%。jstack 18781 >> jstack.out把JVM的线程信息导出到文件。
线程池调整真的很重要
小姨夫
2017-10-31
阅读 8 分钟
3.8k
知道吗,你的Java web应用其实是使用线程池来处理请求的。这一实现细节被许多人忽略,但是你迟早都需要理解线程池如何使用,以及如何正确地根据应用调整线程池配置。这篇文章的目的是为了解释线程模型——什么是线程池、以及怎样正确地配置线程池。