Java类加载机制-类加载器(ClassLoader)与双亲委派模型

Java虚拟机类加载过程中的“加载”阶段第一步就是“通过一个类的全限定名来获取描述此类的二级制字节流”,这个动作由Java虚拟机外部实现,以便让应用程序自己决定如何去获取所需要的类,实现这个动作的模块叫做“类加载器”。 类与类加载器 类加载器虽然只用于...

Java类加载机制-类加载的时机和过程

类加载的时机 类从被加载到虚拟机开始,到卸载为止,生命周期如图所示: 其中,加载、验证、准备、初始化、卸载这五个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班的开始(开始不代表完成,通常为交叉混合运行),而解析阶段不一定:它在某...

Java垃圾回收机制(GC)

判断对象是否可回收的常见方法 引用计数算法(Reference Counting) 给对象中添加一个引用计数器,每当有一个地方引用时,计数器加1;当引用失效时,计数器减1;任何时刻计数器为0的对象就是不可能再被使用的。 优点:实现简单,判定效率高; 缺点:很...

常用JVM启动参数

-verbose java -verbose[:class|gc|jni] 在输出设备上显示虚拟机运行信息。 -verbose:class:监视输出运行期间的类加载情况 -verbose:gc:监视输出运行期间的内存回收GC情况 -verbose:jni:监视输出native方法调用的相关情况,一般用于诊断jni调用错误信...

JVM内存划分

Java虚拟机内存规范所管理的内存包括如下运行时数据区域:程序计数器、虚拟机栈、本地方法栈、Java堆、方法区等。 程序计数器(Program Counter Register) 可以看做是当前线程所执行的字节码行号指示器,每条线程都有一个独立的程序计数器(线程私有...

Top