Java内存机制JVM是如何实现高效管理内存资源的?

2026-04-02 11:500阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2077个文字,预计阅读时间需要9分钟。

Java内存机制JVM是如何实现高效管理内存资源的?

Java内存划分主要包括:- PC寄存器:用于记录线程当前执行的内存地址(Java是多线程的,一线程执行完毕后,需要再次获得执行权时,Java需要知道该线程的执行地址);- Java堆:存储对象实例和数组。

java内存划分​​java内存分为:pc寄存器用于记录线程当前执行的内存地址(java是多线程的当线程a失去执行权后再次获得执行权时java需要知道a线程执行

java 内存划分

​​


java 内存分为:

  • pc寄存器用于记录线程当前执行的内存地址 (java 是多线程的 当线程a 失去执行权后 再次获得执行权时 java 需要知道 a线程执行到了哪一步代码 也就是 内存地址)。
  • 本地方法栈本地方法栈 又叫做 c栈 用于 跟踪native 方法(调用非java 方法)的执行状态和 pc寄存器类似。
  • 栈线程独有存储 对象的引用以及类中的局部变量方法参数返回值等。每创建一个线程jvm 就会为这个线程创建一个对应的java 栈 在这个java 栈中会包含多个栈帧 这些栈帧 是由多个方法关联起来的,每个一个方法就是一个栈帧 ,顶部的栈帧就是当前执行的方法 ,栈帧 中包含 方法的局部变量 方法的返回值等。
  • 堆线程共享是存储java 对象和成员变量的地方注意子类的会继承父类的非静态属性。
  • 方法区存储类信息 存储常量信息包括字符串信息。      方法区是一个规范不是具体的存储位置。      在jdk8之前的hotspot虚拟机中用永久区实现了方法区(可以理解为方法区的存储位置在永久区中)。
  • 常量池顾名思义存放常量(常量池 在 方法区中)。
阅读全文

本文共计2077个文字,预计阅读时间需要9分钟。

Java内存机制JVM是如何实现高效管理内存资源的?

Java内存划分主要包括:- PC寄存器:用于记录线程当前执行的内存地址(Java是多线程的,一线程执行完毕后,需要再次获得执行权时,Java需要知道该线程的执行地址);- Java堆:存储对象实例和数组。

java内存划分​​java内存分为:pc寄存器用于记录线程当前执行的内存地址(java是多线程的当线程a失去执行权后再次获得执行权时java需要知道a线程执行

java 内存划分

​​


java 内存分为:

  • pc寄存器用于记录线程当前执行的内存地址 (java 是多线程的 当线程a 失去执行权后 再次获得执行权时 java 需要知道 a线程执行到了哪一步代码 也就是 内存地址)。
  • 本地方法栈本地方法栈 又叫做 c栈 用于 跟踪native 方法(调用非java 方法)的执行状态和 pc寄存器类似。
  • 栈线程独有存储 对象的引用以及类中的局部变量方法参数返回值等。每创建一个线程jvm 就会为这个线程创建一个对应的java 栈 在这个java 栈中会包含多个栈帧 这些栈帧 是由多个方法关联起来的,每个一个方法就是一个栈帧 ,顶部的栈帧就是当前执行的方法 ,栈帧 中包含 方法的局部变量 方法的返回值等。
  • 堆线程共享是存储java 对象和成员变量的地方注意子类的会继承父类的非静态属性。
  • 方法区存储类信息 存储常量信息包括字符串信息。      方法区是一个规范不是具体的存储位置。      在jdk8之前的hotspot虚拟机中用永久区实现了方法区(可以理解为方法区的存储位置在永久区中)。
  • 常量池顾名思义存放常量(常量池 在 方法区中)。
阅读全文