![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 76
JVM
qianye_97
这个作者很懒,什么都没留下…
展开
-
[java] 垃圾回收(GC)
1、内存泄漏内存泄漏就是不再会被使用的对象的内存没有被回收,有两类主要的 Java 内存泄漏:非必要的对象引用:Java 代码常常保留对于不再需要的对象引用, 并且这阻止了内存的垃圾收集器的工作未释放的系统资源2、GC基本原理对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是”可达的”,哪些对象是”不可达的”。当GC 确定一些对象为”不可达”时,GC 就有原创 2021-05-19 16:34:57 · 203 阅读 · 0 评论 -
[java] 内存泄漏和内存溢出
概念内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。内存泄漏第一类:程序中已动态分配的内存由于某种原因未释放或无法释放数据库之类的连接要调用close()方原创 2021-08-23 10:35:27 · 69 阅读 · 0 评论 -
[java] Java内存模型
JVM主内存与工作内存Java 内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量(线程共享的变量)存储到内存和从内存中取出变量这样底层细节。Java内存模型中规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。这里的工作内存是 JMM 的一个抽象概念,也叫本地内存,其存储了该线程以读 / 写共享变量的副本。就像每个处理器内核拥有私有的高速缓存,JMM 中每个线程拥有私有的本地内存。不同线程之间无原创 2021-06-28 19:45:14 · 115 阅读 · 1 评论 -
[java] JVM
JVM的体系结构ClassLoader(类加载器)Bootstrap classLoader: 启动类(根)加载器,主要负责加载核心的类库(java.lang.*等)。ExtClassLoader: 扩展类加载器,主要负责加载jre/lib/ext目录下的一些扩展的jar。AppClassLoader: 应用程序类加载器,主要负责加载应用程序的主函数类双亲委派机制介绍当我们自定义一个类的时候,类加载器收到类加载的请求,将这个请求向上委托给父类加载器去完成,按照应用程序类加载器原创 2021-03-26 15:36:13 · 124 阅读 · 0 评论 -
[Java] 对象在内存中实例化的过程
可以看原文原创 2021-03-26 15:56:26 · 223 阅读 · 0 评论