JVM 性能调优(结合可视化工具) Java

JVM 性能调优(结合可视化工具)

1. Heap内存(老年代)持续上涨达到设置的最大内存值;2. Full GC 次数频繁;3.GC 停顿时间过长(超过1秒);4.应用出现OutOfMemory 等内存异常;内存溢出:申请内存时,没有足够的内存使用、内存泄露:无法释放已经申请的内存空间,一次性内存危害库忽略,但堆积,无论多少内存迟早被吃光
阅读全文
锁升级过程(偏向锁/轻量级锁/重量级锁) 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)七个阶段。
阅读全文
本文目录
    Loading...