JVM
文章平均质量分 84
小埋的哥哥--hmy
这个作者很懒,什么都没留下…
展开
-
垃圾回收器详解
介绍一下垃圾回收器(不分顺序)Serial:新生代垃圾回收器,单线程,采用的是复制算法,这个垃圾回收器在工作的时候,用户线程是不可以能工作的,这个用户线程停顿的时间,就称为stop-the-world,简称STWParallel Scavenge:新生代垃圾回收器,多线程,复制算法,会产生STW(JDK8默认的垃圾回收器组合是parallel Scavenge和parallel Old)ParNew:新生代垃圾回收器,多线程,采用复制算法,会产生CMS,这个和parallel scavenge类原创 2021-01-07 11:04:42 · 290 阅读 · 1 评论 -
学习日记3--多线程
复习多线程,首先复习多线程的状态图首先先复习一下状态:新建状态(new):线程对象被创建。也就是 Thread thread = new Thread();就绪状态(runnable):线程执行了start()方法,线程进入就绪状态,此时线程还没有获取的CPU,还没有执行,只有在就绪状态的线程才能获取CPU。运行状态(running):运行状态,线程获取了CPU,正在执行该线程,只有就绪状态才能进入运行状态阻塞状态:正在运行中的线程,因为某种原因暂时放弃对CPU的使用权,停止执行。直到再次进入原创 2020-11-17 10:55:10 · 90 阅读 · 0 评论 -
学习日记2--JVM(下)
前面复习了JVM加载过程和JVM的内存区域,其中我们讲到了堆。堆是我们程序员遇到问题最多的地方,也是面试必问的地方,因为堆是垃圾回收主要工作的地方,我们在堆上建立对象,垃圾回收机制负责回收我们不再用的对象,那么引出第一个问题,JVM怎么知道我们那个对象不用了?如何判定对象为垃圾对象引用计数法原理:给对象加一个计数器,当对象被引用时,加1,当引用失效时减1,任何时刻,当计数器为0时,对象被回收。优点:实现简单,判断效率高确定:无法解决相互循环引用问题关于相互循环引用的问题,简单举个例子Husba原创 2020-11-10 15:19:09 · 94 阅读 · 0 评论 -
学习日记1--JVM(上)
Jvm是什么Jvm是Java Virtual Machine的缩写,它是一个虚拟出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现。JVM是如何运行代码的首先代码是我们程序员编写的,一般是以 .java的格式存在的。通过编译器把.java文件编译成.class文件,然后jvm把.class编译成机器码。类加载器如果jvm想要运行.class文件,我们需要将其装进一个类加载器中,类加载器会把.class文件加载到jvm类加载器类别:BootStrapClassLoader(启原创 2020-11-06 17:17:30 · 142 阅读 · 3 评论