![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 87
崔雨田
这个作者很懒,什么都没留下…
展开
-
JVM 垃圾回收 之 强引用、弱引用、软引用、虚引用
强引用强引用 是最常见的引用, 首先用 new 关键字创建对象的时候。这个对象就是一个强引用也就是默认的引用类型。 只要强引用的对象是可触及的, 那么他就不会被回收!如果强引用对象超过了他的作用范围或者被设置为 null 那就可以被回收了。只要有强引用在, 当内存不足的时候jvm就算抛出OOM也不会回收掉它!public class Strong { /** * 强引用 是最常见的引用, 首先用 new 关键字创建对象的时候 * 这个对象就是一个强引用也就是默认的引用类型原创 2020-09-12 14:28:02 · 590 阅读 · 1 评论 -
JAVA 内存模型JMM
java 内存模型硬件效率与一致性提高计算的效率 为了提高计算机的计算效率! 我们往往会让计算机并发地执行多个计算任务, 但是这样并不能完全压榨计算机的计算能力! 因为计算机在执行计算任务的时候不只有处理器在单纯计算,处理器还需要与磁盘打交道!进行一些存取数据的操作, 这个IO的时间是非常慢并且是难以消除的,由于计算速度和存储设备的读取写入速度之间存在着几个数量级的差距! 所以便在处理器和内存之间添加了高度缓存来解决处理器等待内存响应的时间!缓存的作用原创 2020-09-06 19:31:44 · 98 阅读 · 0 评论 -
jvm 探究之 双亲委派机制详解,双亲委派能干什么。
双亲委派机制1、什么是双亲委派首先介绍类加载器概念Java程序在虚拟机上运行的,那我们编写的java程序是怎么到虚拟机中运行的呢?答案就是类加载器!它负责把我们编写的java程序加载到虚拟机当中, 当然前提是我们的源程序需要被编译成.Class文件类加载器的种类1、BootstrapClassLoader(启动类加载器)c++编写,加载java核心库 java.*,构造ExtClassLoader和AppClassLoader。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启原创 2020-06-10 19:33:53 · 759 阅读 · 0 评论 -
jvm探究之面试必问 volatile
volatilevolatile 是java 虚拟机提供的最轻量级的同步机制, java 的内存模型为volatile 专门定义了特殊的访问规则,当一个变量被定义成volatile 类型的之后, 他就会具备两种特性保证变量对所有的线程可见能够防止指令重排volatile 保证可见性普通变量线程不可见普通变量在线程之间传递是依靠主内存来实现的。举例:线程 A 修改了一个普通变量的值, 并且往主内存里面回写, 另外一条线程 B 在线程A回写之后在对主内存的值进行读取, 新变量值次才会对线原创 2020-09-05 21:53:25 · 157 阅读 · 0 评论 -
jvm探究之 运行时数据区
原创 2020-08-30 17:50:41 · 74 阅读 · 0 评论