jvm内存模型
bigzhangbig
互联网、Java、golang、python、数据分析、数据挖掘、推荐系统
展开
-
java内存模型-先行发生原则
上面说过,如果要靠synchronized和volatile来保证有序性,那java就是一个失败的语言,在java语言中有一个“先行发生”原则。java天然的先行发生关系如下: 程序次序规则 管程锁定规则 线程启动规则:线程start方法先行发生于此线程的每一个动作 线程终止规则:线程中所有操作都先行发生于此线程的终止检测,所以,我们才能利用Thread.join()方法结束、Thread.原创 2015-11-14 20:43:56 · 1219 阅读 · 0 评论 -
jvm优雅关闭:
jvm优雅关闭: Runtime.getRuntime().addShutdownHook() 钩子线程程在程序退出的前被执行(kill -9强制退出除外); 钩子线程里只处理善后,目标是尽可能快的退出且不保证有脏数据。如果钩子线程里做过多事情,或者发生阻塞,那么可能出现kill失效,程序不能退出的情况,这是需要强制退出 参考: http://www.cnblogs.com/baib原创 2016-07-13 19:17:21 · 1572 阅读 · 0 评论