![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
天色以渐黑
这个作者很懒,什么都没留下…
展开
-
jvm系列(一):java类的加载机制
原文地址 http://www.ityouknow.com/类加载机制的奥妙。1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了...转载 2018-03-22 22:37:16 · 121 阅读 · 0 评论 -
OOM实战
public class Outmemory { /** * -Xms1m -Xmx1m -XX:SurvivorRatio=8 //新生代中eden区域与Survivor区域的容量比例,默认值8,代表 Eden:survivor =8:1 -XX:+HeapDumpOnOutOfMemoryError * @param args */ public static v...原创 2018-03-24 15:30:51 · 281 阅读 · 0 评论 -
GC基本概念学习
对象/头/域 1.头:主要包含对象的大小,对象的种类(可以类比header) 2.域:我们把对象使用者在对象中可以访问的部分称为域。 域中的数据类型分为大致以下2种,指针和非指针。 通过GC,对象会被毁坏或保留,这时候起关键的作用的是指针,因为GC是根据对象的指针去搜寻其他的对象的,GC对指针 不进行操作。默认情况下,指针指向指针头部分mutator(他的实体就是应用程...原创 2018-04-21 12:19:54 · 481 阅读 · 0 评论 -
HotSpot运行时
vm的概览 HotSpot有3个主要组件:vm运行时、JIT编译器以及内存管理器。 vm运行时环境担当许多职责,包括命令行的选项解析、vm生命周期管理,类加载、字节码 解释、异常处理、同步、线程管理、本地接口、vm致命错误处理和c++(非java)堆管理 vm运行时系统解析命令行选项、并据此配置HOTSpotVM。 其中一些选项供HotSpotvm启动时 例如指定那个JI...原创 2018-05-14 22:16:52 · 198 阅读 · 0 评论 -
jni_CreateJavaVm详解
jni_CreateJavaVm详解 1.确保只有一个线程调用这个方法并且确保只创建一个hotspot vm 实例。因为hotspot vm 创建的静态数据结构无法再次初始化,所以一旦初始化到某个确定点后,进程空里只能有一 个hotspot vm。 2.检查并确保支持当前的jni版本,初始化垃圾收集日志的输出流。 3.初始化os模块,如当前进程id、内存页尺寸, 4.解析传...原创 2018-05-15 23:27:56 · 8524 阅读 · 0 评论