锁升级过程(偏向锁/轻量级锁/重量级锁) Java

锁升级过程(偏向锁/轻量级锁/重量级锁)

偏向锁是在无锁争用的情况下使用的,也就是同步开在当前线程没有执行完之前,没有其它线程会执行该同步块,一旦有了第二个线程的争用,偏向锁就会升级为轻量级锁,如果轻量级锁自旋到达阈值后,没有获取到锁,就会升级为重量级锁。
阅读全文
理解JIT编译与优化 Java

理解JIT编译与优化

代码生成的第一步是即是(JIT)编译,通过此编译,可以在未针对平台高度优化生成的代码的情况下启动和运行Java应用程序。尽管JIT实际上不是JVM标准的一部分,但它仍然是Java的基本组件。从理论上讲,只要调用Java方法,JIT就会使用,它将JIT的字节码编译为本地机器代码,从而“及时”编译以执行。
阅读全文
Java线程安全中的原子性操作 Java

Java线程安全中的原子性操作

原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割,而只执行其中的一部分(不可中断性)。将整个操作视作一个整体,资源在该次操作中保持一致,这是原子性的核心特征。
阅读全文
JAVA类加载机制 Java

JAVA类加载机制

Java类从被加载到JVM内存开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using)和卸载(Unloading)七个阶段。
阅读全文
JAVA垃圾回收机制 Java

JAVA垃圾回收机制

Java 堆中,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间时才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。
阅读全文
本文目录
    Loading...