![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
佳乐一百
这个作者很懒,什么都没留下…
展开
-
JVM调优总结
JVM调优总结 JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。 如何调优 观察内存释放情况、集合类检查、对...原创 2020-01-10 21:51:11 · 81 阅读 · 0 评论 -
JVM
一、内存模型 Java虚拟机通过解释执行(解释器)或编译执行(即时编译器)来完成,故Java内存模型,也就是指Java虚拟机的运行时内存模型。 运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区,在方法区内有一个常量池。 在这里插入图片描述 1.线程私有区: 程序计数器:记录正在执行的虚拟机字节码的...原创 2020-01-06 20:20:32 · 74 阅读 · 0 评论 -
JVM虚拟机类加载机制
#类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段,其中验证、准备、解析三个部分统称链接。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为...转载 2019-12-16 11:22:23 · 121 阅读 · 0 评论 -
双亲委派模型
Java中类加载的双亲委派模型 这几种类加载器的层次关系如下图所示: ####定义 这种层次关系称为类加载器的双亲委派模型。我们把每一层上面的类加载器叫做当前层类加载器的父加载器,当然,它们之间的父子关系并不是通过继承关系来实现的,而是使用组合关系来复用父加载器中的代码。该模型在JDK1.2期间被引入并广泛应用于之后几乎所有的Java程序中,但它并不是一个强制性的约束模型,而是Java设计者们推...原创 2019-12-16 11:08:10 · 108 阅读 · 0 评论 -
Java程序编译过程和执行流程------JVM
程序执行流程我把它划分为以下几个步骤:编辑源码、编译生成class文件、(加载class文件、运行class字节码文件),其中后两个步骤都是在jvm虚拟机上执行的。 JVM中把内存分为方法区、Java栈、Java堆、本地方法栈、PC寄存器5部分数据区域。 方法区:用于存放类、接口的元数据信息,加载进来的字节码数据都存储在方法区 Java栈(虚拟机栈):执行引擎运行字节码时的运行时内存区,采用栈帧...原创 2019-12-16 09:17:01 · 2273 阅读 · 0 评论