JVM
牛大力大牛
工作ing
展开
-
为什么jvm启动时,参数Xms指定的内存大小没有被占用
JVM参数设置为 -Xms4g -Xmx4g 最大堆内存和最小堆内存都设置了4G,但是为什么java进程占用的实际物理内存却没有占用4个G,却是随着进程的运行,不断的增长,直到触发FullGC,并且发生完FullGC之后,Java进程的内存却没有随之变小?问题1:为什么参数Xms指定的内存大小没有被占用原因:JVM在启动前会向操作系统申请内存, 注意这个内存是虚拟内存,如果-Xms设置的过大,超过了操作系统可分配的内存上线,就会启动失败,报下面的异常Error occurred during init原创 2020-09-21 18:12:49 · 4587 阅读 · 3 评论 -
Jvm学习
Java对象在内存中 三部分 头部信息, 实例数据, 对齐补充句柄访问,直接指针1.句柄访问是 定义一个指针表 一个包含类型的实例地址,一个包含类型的类型地址2.直接指针是 直接就能访问实例地址,然后在获取类型信息方法区 类名, 访问修饰符,常量池,字段描述,方法描述不可达意味着该对象可以被回收复制删除 标记整理JVM模型程序计数器指向程序执行的字节码地址,如果正在执行的是...原创 2018-09-23 18:46:09 · 376 阅读 · 0 评论