jvm
天明少侠
这个作者很懒,什么都没留下…
展开
-
JVM原理介绍
一、JVM(Java Virtual Machine,Java虚拟机) Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。众所周知java.exe是java class文件的执行程序,但实际上ja...原创 2020-04-28 22:04:18 · 364 阅读 · 0 评论 -
Java虚拟机运行时数据区
JDK1.0时,Sun Classic VM(世界上第一款商用Java虚拟机)JDK1.2时,Sun Exact VMJDK1.2时,Sun HotSpot VM原创 2019-05-15 10:02:59 · 222 阅读 · 0 评论 -
设置虚拟机启动参数
实例配置Java堆的大小为20MB,不可扩展(将堆的最小值-Xms参数与最大值-Xmx参数设置为一样即可避免堆自动扩展),通过参数-XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照以便事后进行分析Java堆的大小为20MB,不可扩展,配置如下:VM Args: -Xms20m -Xmx20m -XX:+HeapDum...原创 2019-06-05 17:13:46 · 2011 阅读 · 0 评论 -
HotSpot虚拟机的垃圾收集器
垃圾收集器图垃圾收集器分类SerialSerial收集器是最基本、发展历史最悠久的收集器,曾经(在JDK1.3.1之前)是虚拟机新生代收集的唯一选择。单线程收集器。简单而高效。ParNewParNew收集器其实就是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数、收集算法、Stop The World、对象分配规则、回收...原创 2019-06-22 20:29:24 · 455 阅读 · 0 评论 -
Java类加载器
概述虚拟机设计团队把类加载阶段中的”通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为”类加载器”。类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足Java Applet的需求而开发出来的。虽然目前Java Applet技术基本上已经”死掉...原创 2019-07-07 18:07:56 · 113 阅读 · 0 评论 -
虚拟机类加载机制
类加载过程方法区也称”永久代” ,它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。运行时常量池:是方法区的一部分,其中的主要内容来自于JVM对Class的加载。Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用于存放编译器生成的各种符号...原创 2019-08-24 19:22:42 · 103 阅读 · 0 评论 -
垃圾收集算法
对象已死吗引用计数法给对象中添加一个引用计数器,每当一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的可达性分析算法再谈引用生存还是死亡一次对象的自我拯救的演示package sto.customerapp.materialquery.util;/** * 此代码演示了两点: * 1. 对象可以在被GC时自我拯救...原创 2019-10-06 19:48:43 · 114 阅读 · 0 评论