JVM
小葱ban豆腐g
这个作者很懒,什么都没留下…
展开
-
JVM学习笔记
Java 内存区域与内存溢出异常 Java 程序员不需要像C、C++开发者一样去为每一个 new 操作去写配对的 delete / free 代码,不容易出现内存泄漏和内存溢出问题。但 Java 也把内存控制的权力交给了 Java 虚拟机. 运行时的数据区域 众所周知,Java 虚拟机有自动内存管理机制,如果出现内存泄漏和溢出方面的问题,排查错误就必须要了解虚拟机是怎样使用内存的。 下图是 JDK8 之后的 JVM 内存布局。 程序计数器 程序计数器(Program Counter Register)原创 2020-05-17 19:16:38 · 332 阅读 · 0 评论 -
Java 堆内存是线程共享的吗?
本文来自作者Hollis:原文链接 问题引出: 1、堆是线程共享的内存区域,栈是线程独享的区域。 2、堆主要存放对象实例,栈中主要存放各种基本数据类型、对象的引用。 以上两个结论其实不完全正确。 在解答之前,先想想Java 对象的内存分配过程是如何保证线程安全的? 对象的内存分配过程中,主要是对象的引用指向这个内存区域,然后进行初始化操作。 但是,因为堆是全局共享的,因此在同一时间,可能有多个...原创 2020-05-06 16:05:03 · 569 阅读 · 1 评论