引:为了能够安全地由多个线程同时访问某个对象,我们就需要学会在共享和发布对象时,构建一个线程安全类或者通过java.util.concurrent类库来构建。
Java并发_1_线程安全性
引:要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对“共享的(Shared)”和“可变的(Mutable)”状态的访问。而对象的状态是指存储在状态变量(类变量和成员变量)中的数据。“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其生命周期可以发生变化。
人生之语言与数学
引:其实最近自己一直都在准备考试,结果突然脑海出现了关于对人生的杂想(可能想的高度太高了),自己没有及时写下来,现在基本上考完了,所以就想认真谈一下自己的思考。
深入理解JVM_14_线程安全与锁优化
引:面向对象的编程思想极大的提升了现在软件开发的生产效率和软件可以达到的规模,但是现实中对象在一项工作进行期间,会被不停地中断和切换,对象的属性可能会在中断期间被修改和变“脏”,所以我们在谈“高效并发”之前必须先保证并发的正确性和如何实现线程安全。
深入理解JVM_13_Java内存模型与线程
引:并发处理的广泛应用是使得阿姆德尔定律替代摩尔定律成为计算机性能发展原动力的根本原因。由于计算机的运算速度和它的存储和通信子系统速度差距太大,所以才出现了并发,而并发绝对是Java运用很大的优势。我们绝对需要理解!
深入理解JVM_12_晚期(运行期)优化
引:之前说过Java中的JIT即时编译器在运行期的优化对于程序运行来说更重要,那我们就来看看这个即时编译器。本文提及的编译器、即时编译器都是指HotSpot虚拟机内的即时编译器,虚拟机也特指HotSpot虚拟机。
深入理解JVM_11_早期(编译期)优化
引:之前简单的提到过java程序的使用首先要经过编译,然后再“解释”执行,这里我们就先看看它在编译期的过程。
深入理解JVM_10_虚拟机字节码执行引擎
引:我们知道方法的代码的字节码是放在方法区的Code属性表里面,但是里面的字节码是怎么执行我们却不知道,这里通过理解虚拟机字节码执行引擎去看看这些字节码是怎么走的?
深入理解JVM_9_类加载器
引:之前一直在说类加载,类加载就需要类加载器,类加载最初是为了满足Java Applet,现在基本已经死掉了,但是类加载却在类层次划分、OSGi、热部署、代码加密等领域大放异彩,成为Java体系中一块重要的基石,可谓失之桑榆,收之东隅。
深入理解JVM_8_虚拟机类加载机制
引:在Class文件中描述的各种信息最终都需要加载到虚拟机之中之后才能运行和使用。而虚拟机如何加载这些Class文件?Class文件中的信息进入到虚拟机后会发生什么变化?