青岛市黄岛区网站建设,苏州相城区最新楼盘价格,家装网站建设案例,网站开发 jsp加密1.运行时数据区java虚拟机在执行java程序的过程中会爸它所管理的内存分为若干个不同的数据区域jvm内存主要分为堆、程序计数器、方法区、虚拟机栈喝本地方法栈#xff0c;直接内存等。java方法的运行和虚拟机栈虚拟机栈是线程运行java方法所需要的数据#xff0c;指令#x…1.运行时数据区java虚拟机在执行java程序的过程中会爸它所管理的内存分为若干个不同的数据区域jvm内存主要分为堆、程序计数器、方法区、虚拟机栈喝本地方法栈直接内存等。java方法的运行和虚拟机栈虚拟机栈是线程运行java方法所需要的数据指令返回地址。每一个方法执行都会打包成一个栈帧。栈是先进后出的数据结构。栈帧四个区域局部变量表操作数据栈动态连接返回地址程序计数器较小的内存空间当前线程执行的字节码的行号指示器各线程之间独立存储互不影响。由于java是多线程语言当执行线程数量超过cpu的核心数线程之间会根据时间片轮询cpu资源。那么退出的线程就需要一个单独的计数器去记录下一条运行的指令。它也是为一个不会oom的内存区域。所有的方法都有程序计数器(native 本地方法除外)本地方法栈本地方法栈跟java虚拟机栈的功能类似方法区提供各个线程共享的运行时内存区域。它存储每一个类的结构信息例如 运行时常量池字段和方法数据构造函数和普通方法的字节码内容类、实例、接口初始化的特殊方法、jdk 1.7 永久代 1.8元空间运行时常量池每一个类接口的常量池的运行时表现形式包括若干不同的常量必须在运行期解析后才能获得方法或者字段的引用。堆是jvm内存区域中最大的一块申请的所有对象都在堆。垃圾回收也就是回收堆。直接内存jvm在运行的时候会从系统中申请大块的堆内存。jvm运行的总体流程jvm在操作系统上启动申请内存先进行运行时数据区的初始化然后把类加载到方法区最后执行方法。方法的执行和退出过程在内存的提现上是虚拟机栈中栈帧的入栈和出栈。同时在方法的执行过程中创建的对象一般情况下是放在堆中最后堆中的对象也是需要进行GC。