java
文章平均质量分 60
打眼
这个作者很懒,什么都没留下…
展开
-
关于System.nanoTime()
System.nanoTime()的返回值只和进程已运行的时间有关, 不受调系统时间影响. 以前测试netty中的一个时间轮工具类(HasedTimeWheel)发现它不支持调系统时间, 比如一个任务是6点执行, 提交到时间轮后, 把系统时间调到7点,. 任务不会立即执行, 但是看HasedTimeWheel的代码感觉在设计上是支持调时间的(即调到7点后任务应该立即执行), 一顿测试后发现此类...原创 2018-06-11 00:47:19 · 2367 阅读 · 0 评论 -
什么情况下适合用AtomicIntegerFieldUpdater而不是AtomicInteger?
参考: Atomic field updaters大概有以下两种字段适合用Atomic*FieldUpdater:大多数用到这个字段的代码是在读取字段的值, 但仍然有通过CAS更新字段值的需求. 这个时候用AtomicInteger的话每个直接读取这个字段的地方都要多一次.get()调用, 用volatile又满足不了需求, 所以就用到了AtomicIntegerFieldUpdater...原创 2018-06-11 01:04:40 · 2422 阅读 · 0 评论 -
解决shell断开后java进程被结束
偶尔会碰到用SecureCRT在shell启动java进程并后台运行(命令最后加&)的时候, 因为断电死机等原因断开shell, 然后进程被结束了. 运维大佬也说用他们的工具启动进程后一断开连接进程就结束了.后来查到是因为shell在断开的时候会向在当前shell启动的后台进程发送SIGHUP信号, 导致进程结束, 大概是这样, 具体什么条件才会发送SIGHUP没有仔细研究....原创 2019-01-09 16:42:38 · 1445 阅读 · 0 评论