![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
漪叶知秋
那些不能够击败我的,总会使我更强大。
展开
-
JVM之堆与栈的区别
1内存分配策略 1)静态存储:编译时确定每个数据目标在运行时的存储空间需求(代码中无可变数据结构无嵌套递归)。 2)栈式存储:数据需求在编译时未知,运行时模块入口确定,动态分配存储,在运行中进入一个程序模块时,必须知道该程序模块所需要的数据区的大小才能分派其内存。 3)堆式存储:编译时和运行时模块入口无法确定,动态分配。 2Java内存模型中的堆与栈 1)二者联系:引用对象、数组时栈里定义的变量保...原创 2019-11-21 15:02:18 · 114 阅读 · 0 评论 -
JVM之三大性能调优参数
—Xss:规定了每个线程虚拟机栈的大小,会影响此进程中并发的线程数。 —Xms:堆得初始值。 —Xmx:堆能达到的最大值。 一般Xms与Xmx的值设置的一样大小,当堆不够用进行扩容时会发生内存抖动,影响程序运行的稳定性。 ...原创 2019-11-21 11:08:55 · 361 阅读 · 0 评论 -
JVM之java内存模型
java内存模型指的就是JVM架构中的RuntimeDataArea。其可分为线程私有部分与线程共享部分。 1线程私有部分 1)程序计数器 程序计数器为当前线程所执行的字节码行号指示器,可改变程序计数器的值来选取下一条需要执行的字节码指令,只对java方法计数,如果是Native方法则计数器作为Undefined不会发生内存泄露。 2)虚拟机栈 java方法执行的内存模型,包括多个栈帧,每个方法被...原创 2019-11-17 14:48:59 · 236 阅读 · 0 评论 -
JVM之类的装载
1类的装载过程 总体流程: 加载–>链接(校验–>准备–>解析)–>初始化 1)加载:(通过类加载器加载字节码文件生成该类的Class对象) (1)通过一个类的全限定名来获取该类的二进制字节流。 (2)将这个字节流的静态存储结构转化为方法区运行时数据结构。 (3)在内存堆中生成一个代表该类的java.lang.Class对象(唯一的),作为该类数据的访问入口。 2)链接: ...原创 2019-11-14 11:32:01 · 116 阅读 · 0 评论 -
JVM之双亲委派机制
1什么是双亲委派机制? 在类A.java被编译成A.class字节码文件时,要使用类加载器来将A.class字节码文件加载到JVM中转换为Class(A)对象(一个类只有唯一的Class(A)对象),这是之前也提到过的类加载器的主要功能。 对于双亲委派机制就是加载的一种方式,当类A要被实例化等应用时,类加载器首先由底向上逐层查看Class(A)是否加载过,若加载过则直接加载,若到最顶层发现没加载过...原创 2019-11-07 11:20:55 · 230 阅读 · 0 评论 -
JVM之类加载器
之前在JVM架构一文中描述了类加载器的基本功能,本文带领大家详细的了解下类加载器。 1类从编译到执行的过程 假设有个类名为A,编译器将A.java源文件编译成字节码,然后通过类加载器(ClassLoader)将该字节码文件转换成JVM中的Class(A)对象(一个类只有唯一的Class(A)对象),JVM利用该Class(A)对象通过new或者反射的方式实例化为A对象。 2什么是类加载器? 类加载...原创 2019-11-06 10:46:47 · 80 阅读 · 0 评论 -
JVM之JVM架构
JVM架构组成主要包括以下四个部分: ClassLoader(类加载器):根据特定的格式,加载字节码.class文件到内存。 ExecutionEngine(解释器):对命令(字节码)进行解析。 NativeInterface(本地接口):结合不同语言的原生库为java所有,调用其他语言的库。 RuntimeDataArea:java内存空间结构模型。 由此可知:JVM由以上四个部分组成,java...原创 2019-11-05 11:14:10 · 117 阅读 · 0 评论 -
JVM之java代码编译过程
** java源码**(.java文件)首先通过javac编译生成字节码(.class文件),再由不同平台的JVM进行解析,java语言在不同平台上运行时不需要进行重新编译。java虚拟机在执行字节码时,把字节码转换成在具体平台上的机器指令(机器码)。以此实现了java的特性之一:平台无关性,一次编译,到处运行。 ** java源码**(.java文件)–>字节码(.class文件)–>...原创 2019-11-05 10:52:41 · 231 阅读 · 0 评论