JVM
文章平均质量分 77
AI小艾
这个人很懒,什么都写了。
展开
-
垃圾回收器分类 -Java
常见的垃圾回收器都有哪些? 连线的两个垃圾回收器说明可以相互搭配使用。原创 2021-03-28 22:47:28 · 236 阅读 · 3 评论 -
常用垃圾回收算法
文章目录一、System.gc()用法二、区分开finalize()、finally、final的区别三、垃圾回收策略1. 引用计数算法2.可达性分析算法3.垃圾回收主要区域四、垃圾回收算法五、垃圾回收的过程六、内存分配与回收策略 一、System.gc()用法 调用这个方法,只是建议JVM进行FGC(Full GC),只是建议JVM来进行回收垃圾,但很多情况下并不会触发FGC,只是增加FGC的频率。 二、区分开finalize()、finally、final的区别 1.finalize()方法:当JVM确原创 2021-03-28 21:16:21 · 807 阅读 · 1 评论 -
强引用、软引用、弱引用、虚引用的区别 -Java
Java中为何要分别定义强引用、软引用、弱引用、虚引用四种引用类型? 我们对于对象的定义不能只局限于“引用”和“未被引用”两种状态,因为我们还存在几种引用类型能描述这样一类对象:当内存空间还足够时,仍保留在内存之中,如果内存空间在进行垃圾收集后仍然非常紧张,那就可以抛弃这些对象(这类对象应用在很多系统的缓存功能上)。 在JDK 1.2版之后,Java对引用的概念进行了扩充,将引用分为强引用(Strongly Re-ference)、软引用(Soft Reference)、弱引用(WeakReference)原创 2021-03-27 11:18:09 · 519 阅读 · 6 评论 -
JVM内部结构
Java程序是怎样被运行起来的? 1.类存放在方法区; 2.类创建的对象在堆中; 3.堆中对象调用方法时,会使用到虚拟机栈、本地方法栈、程序计数器; 4.方法执行时每行代码由解释器逐行执行; 5.热点代码由JIT编译器即时编译; 6.垃圾回收机制回收堆中资源; 7.和操作系统打交道需要调用本地方法接口。 程序计数器:(线程私有)JVM中的一小块内存 一行JVM指令----->解释器----->机器码----->CPU 在执行JVM指令的过程中,由程序计数器来标记当前线程执行的字节码的行号原创 2021-03-26 09:36:28 · 226 阅读 · 2 评论 -
类加载器 -双亲委派模式
我们首先了解了类的加载过程,主要有5个阶段: 加载—验证—准备—解析—初始化。 那么什么是类加载器呢? 类加载器:首先我们写好的 .java文件经过编译后会形成 .class字节码文件,然后类加载器将.class文件加载为class模板,并可以通过new关键字创建实例对象,实例对象可以通过getClass方法获取class模板,class模板可以通过getClassLoader方法获取类加载器。 类加载器: 主要有四种:启动类加载器、扩展类加载、应用程序类加载器、自定义类加载器 这四类类加载的关系为:原创 2021-03-25 20:56:48 · 247 阅读 · 0 评论 -
类加载过程描述 -java
在java中,一个变量存在创建、使用到销毁的过程,关于类的创建,使用,销毁过程,肯定也存在类似的生命周期。java中类的生命周期一般包括这么几部分: 类加载阶段只是前5个阶段: 加载,验证,准备,解析,初始化,但是解析这个阶段的位置不是固定的,因为java中还存在着动态绑定。 什么叫做java的类加载机制? Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换、解析和初始化,最终形成可以被虚拟机直接使用的Java类 型,这个过程被称作虚拟机的类加载机制。 1.加载阶段: 1)通原创 2021-03-24 17:34:56 · 310 阅读 · 3 评论