JVM
yuanyuan啊
远远呀 猿猿呀 一只小菜鸟 飞呀飞呀 总会飞很高!!!
展开
-
面试官问我对java虚拟机了解吗?我给他了满分的回答
java的内存区域1.程序计数器程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。2.java虚拟机栈与程序计数器一样,java虚拟机栈也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存...原创 2020-04-24 10:29:54 · 564 阅读 · 0 评论 -
类加载过程JVM
jvm类加载分为5个部分:加载、验证、准备、解析、初始化加载加载是类加载的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.class对象,作为方法区这个类的各种数据的入口验证这一个阶段的主要目的是为了确保class文件的字节流中包含的信息是否符合当前的要求,并且不会危害虚拟机自身的安全准备准备阶段是正式为类变量分配内存并设置类变量的初始值阶段,即在方法区中分配这些...原创 2020-04-08 08:18:38 · 100 阅读 · 0 评论 -
JVM java虚拟机-----垃圾回收
1、如何判断对象可以被回收引用计数法可达性分析算法2、可达性分析算法java虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着GC Root对象为起点的引用链找到该对象,找不到,表示可以回收3、java中的四种引用...原创 2020-03-21 08:21:58 · 117 阅读 · 0 评论 -
JVM java虚拟机-----内存
1.jvm定义:java程序的运行环境2.好处一次编写 处处运行自动内存管理,垃圾回收功能数组下标越界检查多态3.jvm jre jdk的区别4.学习路线5.内存结构程序计数器虚拟机栈本地方法栈堆方法区6.程序计数器的作用、特点记住下一条jvm指令执行的地址*特点线程私有的,且不会存在内存溢出7.虚拟机栈的定义及特点每个线程运行时所需的内存,称为...原创 2020-03-14 10:55:16 · 90 阅读 · 0 评论 -
jvm 类加载过程
如下图所示: JVM类加载机制分为五个部分:加载、验证、准备、解析、初始化,下面分别来看一下五个过程:加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理),也...原创 2020-01-31 11:44:00 · 117 阅读 · 0 评论 -
JVM jvm回收算法和回收器,CMS采用哪种回收算法,怎么解决内存碎片问题
垃圾回收算法标记清除标记——清除算法将垃圾回收分为两阶段:标记阶段和清除阶段。在标记阶段首先通过根节点,标记所有从根节点开始的对象,未被标记的对象就是未被引用垃圾对象。然后,在清除阶段,清除所有未被标记的对象。标记清除算法带来的一个问题是会存在大量的空间碎片,因为回收的空间是不连续的,这样给大对象分配内存的时候可能会提前触发full gc.复制算法将现有的内存空间分为两块,每次只...原创 2020-01-31 08:38:34 · 1480 阅读 · 0 评论