Java知识分享
热爱技术,分享技术

Java虚拟机

Java方法区和运行时常量池溢出问题分析-Java技术开源

Java方法区和运行时常量池溢出问题分析

由于运行时常量池是方法区的一部分,所以这两个区域的溢出测试可以放到一起进行。前面曾经提到HotSpot从JDK 7开始逐步“去永久代”的计划,并在JDK 8中完全使用元空间来代替永久代的背景故事,在此我们就以测试代码来观察一下,使用“永久代...

赞(0)黑客云黑客云阅读(479)去评论
OutOfMemoryError异常-Java技术开源

OutOfMemoryError异常

在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能,本节将通过若干实例来验证异常实际发生的代码场景,并且将初步介绍若干最基本的与自动内存管理子...

赞(0)黑客云黑客云阅读(344)去评论
HotSpot虚拟机对象探秘-Java技术开源

HotSpot虚拟机对象探秘

介绍完Java虚拟机的运行时数据区域之后,我们大致明白了Java虚拟机内存模型的概况,相信读者了解过内存中放了什么,也许就会更进一步想了解这些虚拟机内存中数据的其他细节,譬如它们是如何创建、如何布局以及如何访问的。对于这样涉及细节的问题,必...

赞(0)黑客云黑客云阅读(552)去评论
Java运行时数据区详解(三)-Java技术开源

Java运行时数据区详解(三)

1. 方法区 方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是...

赞(0)黑客云黑客云阅读(324)去评论
Java运行时数据区详解(二)-Java技术开源

Java运行时数据区详解(二)

1. Java虚拟机栈 与程序计数器一样,Java虚拟机栈(Java Virtual Machine Stack)也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都...

赞(0)黑客云黑客云阅读(333)去评论
Java运行时数据区详解(一)-Java技术开源

Java运行时数据区详解(一)

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 1. 概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的“皇帝”,又是从事最基础工作的劳动人民—...

赞(0)黑客云黑客云阅读(383)评论(2)

volatile与Java内存模型

volatile是java虚拟机提供的轻量级的同步机制 volatile的三大特性:1.保证可见性 2.不保证原子性 3.禁止重排序 要说到volatile首先要了解java内存JMM。 JMM(Java内存模型 java Memory M...

赞(1)黑客云黑客云阅读(1503)去评论

登录

找回密码

注册