java虚拟机
forcht
这个作者很懒,什么都没留下…
展开
-
Java虚拟机(1)--运行时数据区域
运行时数据区域: java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干不同的数据区域。如图 程序计数器:一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。为了线程切换后能够恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称为线程私有的内存。 如果线程正在执行的是一个java方法,这个计数器记录的是正...原创 2018-07-22 20:40:45 · 127 阅读 · 0 评论 -
java虚拟机(2)--OutOfMemoryError异常
在java虚拟机规范中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能。 java堆溢出: java堆用于存储对象实例,只要不断地创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么对象数量到达最大堆的容量限制后就会产生内存溢出异常。 只要不断地往List里存放数据,就可以使堆溢出。 public cl...原创 2018-07-22 23:35:22 · 129 阅读 · 0 评论