微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JVM内存管理深度剖析,GC算法与底层原理

1. JVM就是将java字节码 .class .jar  翻译成操作系统能识别的机器码。这样就实现了跨平台性。

程序计数器:在时间片轮转的时候,指向当前线程正在执行的字节码指令的地址。由于它占用的内存很小,所以它是唯一不会OOM的内存区域。

虚拟机栈:存储当前线程运行方法所需的数据,指令、返回地址

所有线程共享的数据区里面包括方法区和堆区。他们的主要区别是:方法区包含类信息/常量/静态变量/即时编辑期编译后的代码。堆区存放的都是对象实例和数组。那么为什么要将他们区分开昵?原因是:堆是经常动态的创建和回收的,可以频繁的回收的,方法区是静态的,不会经常回收的。

Java堆的大小参数设置 -Xmx 堆区内存可被分配的最大上限 -xms 堆区内存初始内存分配的大小 X: 表示

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐