摘要: synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下 阅读全文
posted @ 2018-03-15 22:14 BarryW 阅读(385) 评论(0) 推荐(0) 编辑
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jinfo、jstat、jmap+jhat、jstack等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰 阅读全文
posted @ 2018-03-15 21:19 BarryW 阅读(5130) 评论(0) 推荐(1) 编辑
摘要: 一、线程5种状态 新建状态(New) 新创建了一个线程对象。 就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(Running) 就绪状态的线程获取了CPU,执行程序代码。 阻塞状态 阅读全文
posted @ 2018-03-15 21:15 BarryW 阅读(2086) 评论(0) 推荐(0) 编辑