Java教程

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

本文主要是介绍JVM内存管理深度剖析,GC算法与底层原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

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

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

Java堆的大小参数设置 -Xmx 堆区内存可被分配的最大上限 -Xms 堆区内存初始内存分配的大小 X: 表示
这篇关于JVM内存管理深度剖析,GC算法与底层原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!