JVM
文章平均质量分 87
vd_vd
简单粗暴
展开
-
内存区域-面试与分析
如果常量池中有等于此String对象的字符串,返回池中这个字符串的String对象的引用,否则将此String对象包含的字符串添加到常量池并返回此String对象的引用。,Java里几乎所有对象实例都在堆分配内存。堆可以处于 物理上不连续的内存空间,逻辑上应该连续,但对于数组这样的大对象,多数虚拟机实现处于简单,存储高效的考虑会要求连续的内存空间。堆是虚拟机所管理的内存中最大的一块,被所有线程共享的,在虚拟机启动时创建。方法区主要存放类型信息,如类名,访问修饰符,常量池,字段描述,方法描述等。原创 2024-09-13 18:36:21 · 786 阅读 · 0 评论 -
JVM-内存区域
方法区的大小和堆空间一样,可以选择固定大小可选择扩展,方法区的大小和对空间一样,可以选择固定大小也可以选择可扩展,方法区的大小决定了系统可以放多少个类,如果系统类太多,导致方法区溢出,虚拟机同样会抛出 内存溢出OutOfMemoryError错误。本地方法栈与虚拟机栈所发挥的作用是非常相似的,区别只是虚拟机栈为虚拟机执行Java方法,本地方法栈则是为虚拟机使用到的本地方法(Native)方法服务。当调用一个新的方法时,就构建一个栈帧压入到栈中,而一个方法执行结束,就会有一个栈帧出栈,整个遵循FIFO原则。原创 2024-09-13 16:47:06 · 1160 阅读 · 0 评论