java内存区域讲解

java运行时的数据区分为
1. 程序计数器 :是线程私有的,是一小块比较小的内存空间,他可以看做是当前线程所执行的字节码行号指示器。
2. java虚拟机栈 :是线程私有的,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法的调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。局部变量表存放了编译期可知的各种数据类型(8大基本数据),对象的引用。
3. 本地方法栈 :它主要是为java虚拟机使用到的native方法服务。
4. java堆:它是线程共享的一块区域,存放的是对象的实例,几乎所有对象的实例都会存放在java堆中。
5. 方法区:线程共享的,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据

猜你喜欢

转载自blog.csdn.net/ocean_java666/article/details/80382998