jvm
Z_DZ
这个作者很懒,什么都没留下…
展开
-
Java对象在JVM中的创建过程
虚拟机遇到遇到一条new指令1.检查引用代表的类是否被加载过、解析和初始化过。2.在类加载通过之后,虚拟机将为新生对象分配内存。3.虚拟机将分配到的内存空间都初始化为零值(不包括对象头)。4.接下来虚拟机要对对象进行一系列的设置,例如:对象是哪个类的实例、对象的哈希码等等。5.执行完new指令之后会接着执行<init>方法,把对象按照程序员的意愿初始化,这样才算创建...原创 2018-08-16 21:56:14 · 417 阅读 · 0 评论 -
深入理解Java虚拟机
一、JVM运行时数据区域 线程隔离:线程隔离的意思,就是给不同的线程多分配的资源用,以做到不争用 线程共享:线程共享就是资源只有一个没有办法分配更多,只能共享 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器, 其中方法区和堆是由线程共享的数据区, 其他几个是线程隔离的数据区。程序计数器...转载 2018-08-11 15:53:34 · 307 阅读 · 0 评论 -
堆外内存溢出
配置JVM参数时,不仅仅要考虑实际内存来设置-Xmx等参数,还要考虑到直接内存!因为,直接内存并不是JVM运行时数据区的一部分,但是会被经常使用。如果忽略了它,很可能会造成明明jvm内存还是足够的,但是却内存溢出了。原因是,各个内存区域的综合大于物理内存的限制啦。...原创 2018-11-07 00:06:46 · 620 阅读 · 0 评论