类加载器:加载类文件到内存。
JVM内存分配:
1、方法区:存放类信息。
2、堆:存放对象实例。
回收器主要管理的对象。
3、Java栈:存储局部变量表、操作栈、动态链接、方法出口。
4、本地方法栈:与Java类似。
区别:
Java栈为虚拟机执行Java 方法服务。
本地方法栈为虚拟机执行Native 方法服务。
5、程序计数器:存放正在执行的虚拟机字节码指令的地址。
(指向下一条要很执行的指令)
参考:http://blog.chinaunix.net/uid-9789791-id-3350463.html
拓展:
1、线程间是否共享区别:
共享:
方法区、堆。
不共享:
Java栈、本地方法栈、程序计数器。
2、堆跟栈在java中区别:
a、空间分配
堆:手动申请和释放。(java,常用new分配)
栈:操作系统自动分配和释放。
举例
若只是声明一个对象,则先在栈内存中为其分配地址空间,
若再new一下,实例化它,则在堆内存中为其分配地址。
堆:Object b =new Object();
栈:Object a =null;
b、空间大小
堆:比较大的自由区间。
栈:空间有限。
相关推荐
自己在公司做分享时做的培训文档,包括了jvm的内存结构以及每个内存结构的一些说明,仅供公司内部培训用,不做其他商业用途。
"JVM 内存结构笔记" JVM 内存结构是 Java 虚拟机的核心组成部分之一,包括程序计数器、虚拟机栈、本地方法栈、堆和方法区五个主要部分。 1. 程序计数器 程序计数器(Program Counter Register)是线程私有的,...
总结而言,JVM内存管理涉及多个层面,包括内存结构的划分、内存空间的分配与回收机制、以及内存分析工具的使用。对Java开发人员而言,理解这些内存管理机制不仅能够帮助其编写出更加稳定和高效的代码,还能在发生...
"Jvm性能优化-JVM内存结构原理分析03" Jvm性能优化是Java虚拟机(JVM)中非常重要的一部分,它对Jvm的性能产生了很大的影响。本文将从Jvm内存结构的角度来分析Jvm性能优化的原理。 Jvm内存结构主要分为五部分:堆...
Java-JVM内存规范(详细完整思维导图),包含物理内存与虚拟内存、内核空间与用户空间、java中需要使用的内存组件、jvm内存结构、jvm内存回收策略、JVM参数等...
Java虚拟机(JVM)是Java程序运行的核心,它的内存管理和垃圾回收机制对于程序的高效运行至关重要。在本文中,我们将深入探讨...在实际开发中,对JVM内存模型的深入理解能帮助我们编写出更加高效和健壮的Java应用程序。
1. **JVM架构**:包括类加载子系统、运行时数据区、执行引擎、本地方法接口和本地库等组成部分及其工作流程。 2. **类加载机制**:探讨类的加载、验证、准备、解析和初始化等阶段,以及双亲委托模型和自定义类加载...
一、JVM内存结构 1. **程序计数器(Program Counter Register)**:每个线程都有一个独立的程序计数器,用于存储当前线程所执行的字节码指令地址。 2. **虚拟机栈(Java Stack)**:存储方法的局部变量、操作数栈...
1. **理解JVM内存结构**:Java内存主要分为堆内存(Heap)和非堆内存(Non-Heap),其中堆内存又分为新生代(Young Generation)、老年代(Tenured Generation或Old Generation)和持久代(Permanent Generation或...
1. JVM整体结构及内存模型: - **堆内存**:这是Java应用中最大的内存区域,主要存储对象实例和数组。堆被分为新生代(Young Generation)和老年代(Old Generation),新生代又分为Eden区、Survivor区(通常两个)...
主要为大家讲解JVM内存模型|内存结构|内存屏障,他们的概念,有什么关联以及各种的功能
在`jvm-demo1`中,可能包含了一段BTrace脚本,用于监控和分析JVM内部的行为,比如CPU使用率、内存分配、方法调用等。通过BTrace,开发者可以实时了解程序运行状态,找出性能瓶颈,进行针对性的优化。 在实际调优...
JVM内存结构-JVM体系结构 程序计数器 虚拟机栈 本地方法栈 堆 方法区
1. 类加载器:负责加载并解析.class文件,将字节码转换为内存中的数据结构。 2. 字节码解释器:读取类文件中的字节码指令,逐条执行并更新运行时环境。 3. 运行时数据区:模拟JVM的堆、栈、方法区等,存储对象实例和...
### JVM-整体结构原理深度解析 #### 一、JVM简介及跨平台性 ##### 1.1 JVM定义 JVM(Java Virtual Machine),即Java虚拟机,是一种...此外,了解JVM内存模型有助于开发者优化代码性能,避免常见的内存泄漏等问题。
1. **实战演示JVM内存四大类型问题**: - **Heap OutOfMemory**:当堆内存不足时,JVM无法为新对象分配空间,此时会抛出`OutOfMemoryError`。通过增加`-Xmx`值或优化代码减少内存占用可以解决该问题。 - **Stack ...
1. **JVM内存结构** JVM内存主要分为以下几个区域: - **方法区(Method Area)**:这是所有线程共享的区域,存储类信息、常量、静态变量、即时编译后的代码等。在Java 8以前,这部分也被称为永久代(Permanent ...
Java编译器不会执行链接步骤,所以类文件中的符号引用需要在运行时由JVM动态解析和翻译成内存地址。 访问标志用于定义类、接口或字段的访问权限,例如public、private、protected等。类索引、父类索引和接口索引...
1. **JVM内存模型**:JVM内存分为堆内存(Heap)、方法区(Method Area)、程序计数器(PC Register)、虚拟机栈(JVM Stack)和本地方法栈(Native Method Stack)。理解这些区域的用途和相互关系是调优的基础。 2...
1. **JVM参数设置**:根据应用需求,设置合适的JVM启动参数,如堆大小(`-Xms`和`-Xmx`)、新生代与老年代的比例(`-XX:NewRatio`)、Eden区与Survivor区的比例(`-XX:SurvivorRatio`)、GC日志输出(`-XX:+...