Java内存机制JVM如何优化内存分配?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2150个文字,预计阅读时间需要9分钟。
Java内存划分为:PC寄存器用于记录线程当前执行的内存地址(Java是多线程的,当一线程失去执行权后再获得执行权时,Java需要知道线程A执行+Java内存划分+Java内存划分为:堆内存用于存放对象的实例,是JVM管理的内存中最大的一块;栈内存用于存放局部变量和方法调用的信息,线程私有的;方法区用于存放已被虚拟机加载的类信息、常量、静态变量等数据,是所有线程共享的;本地方法栈用于存放本地方法调用的相关信息。
java内存划分java内存分为:pc寄存器用于记录线程当前执行的内存地址(java是多线程的当线程a失去执行权后再次获得执行权时java需要知道a线程执行java 内存划分
java 内存分为:
- pc寄存器用于记录线程当前执行的内存地址 (java 是多线程的 当线程a 失去执行权后 再次获得执行权时 java 需要知道 a线程执行到了哪一步代码 也就是 内存地址)。
- 本地方法栈本地方法栈 又叫做 c栈 用于 跟踪native 方法(调用非java 方法)的执行状态和 pc寄存器类似。
- 栈线程独有存储 对象的引用以及类中的局部变量方法参数返回值等。每创建一个线程jvm 就会为这个线程创建一个对应的java 栈 在这个java 栈中会包含多个栈帧 这些栈帧 是由多个方法关联起来的,每个一个方法就是一个栈帧 ,顶部的栈帧就是当前执行的方法 ,栈帧 中包含 方法的局部变量 方法的返回值等。
- 堆线程共享是存储java 对象和成员变量的地方注意子类的会继承父类的非静态属性。
- 方法区存储类信息 存储常量信息包括字符串信息。 方法区是一个规范不是具体的存储位置。
本文共计2150个文字,预计阅读时间需要9分钟。
Java内存划分为:PC寄存器用于记录线程当前执行的内存地址(Java是多线程的,当一线程失去执行权后再获得执行权时,Java需要知道线程A执行+Java内存划分+Java内存划分为:堆内存用于存放对象的实例,是JVM管理的内存中最大的一块;栈内存用于存放局部变量和方法调用的信息,线程私有的;方法区用于存放已被虚拟机加载的类信息、常量、静态变量等数据,是所有线程共享的;本地方法栈用于存放本地方法调用的相关信息。
java内存划分java内存分为:pc寄存器用于记录线程当前执行的内存地址(java是多线程的当线程a失去执行权后再次获得执行权时java需要知道a线程执行java 内存划分
java 内存分为:
- pc寄存器用于记录线程当前执行的内存地址 (java 是多线程的 当线程a 失去执行权后 再次获得执行权时 java 需要知道 a线程执行到了哪一步代码 也就是 内存地址)。
- 本地方法栈本地方法栈 又叫做 c栈 用于 跟踪native 方法(调用非java 方法)的执行状态和 pc寄存器类似。
- 栈线程独有存储 对象的引用以及类中的局部变量方法参数返回值等。每创建一个线程jvm 就会为这个线程创建一个对应的java 栈 在这个java 栈中会包含多个栈帧 这些栈帧 是由多个方法关联起来的,每个一个方法就是一个栈帧 ,顶部的栈帧就是当前执行的方法 ,栈帧 中包含 方法的局部变量 方法的返回值等。
- 堆线程共享是存储java 对象和成员变量的地方注意子类的会继承父类的非静态属性。
- 方法区存储类信息 存储常量信息包括字符串信息。 方法区是一个规范不是具体的存储位置。

