节选自毕玄<<java分布式应用>>
jvm 内存结构
依据jvm规范将内存空间划分为方法区,堆,本地方法栈,JVM方法栈,pc寄存器.
方法区:
方法区域是全局共享的。
存放了要加载的类的信息(名称,修饰符).类中的静态变量,类中定义为final类型的常量,
类中的Field信息,类中的方法信息
在sunjdk中又称持久代,对应Permanet Generation,默认最小值16M,最大值为64M,
-XX:PermSize 指定最小值
-XX:MaxPermSize指定最大值
- 大小: 24.7 KB
分享到:
相关推荐
#### 一、JVM内存模型概览 JVM(Java虚拟机)内存模型主要由以下几个部分组成:程序计数器、Java虚拟机栈、本地方法栈、Java堆以及方法区(在JDK 8之后称为元空间)。下面将对这几个部分进行详细介绍。 #### 二、...
《JVM内存管理学习笔记》 在Java世界中,JVM(Java Virtual Machine)是运行所有Java应用程序的核心。深入理解JVM内存管理对于优化程序性能、预防和解决内存泄漏问题至关重要。本文将从JVM内存模型、内存区域划分、...
本笔记将深入探讨JVM内存的各个区域及其作用,帮助开发者掌握JVM内存管理的基本概念。 首先,JVM内存主要分为以下几个部分: 1. **堆(Heap)**:这是Java对象的主要存储区域,所有的类实例和数组都会被分配到堆中...
4. **垃圾收集**:JVM如何自动管理内存,理解不同垃圾收集器如Serial、Parallel、CMS、G1等的工作机制,以及新生代和老年代的概念。 5. **类加载器**:系统类加载器、扩展类加载器和应用程序类加载器之间的双亲委派...
新生代又细分为一个Eden区和两个Survivor区(S0、S1),默认比例为8:1:1。 - **Eden区**:所有新创建的对象首先都是在这里分配。 - **Survivor区**:当Eden区满后,还存活的对象会被移动到Survivor区之一。 - **...
#### JVM内存模型 (JMM) JVM内存模型主要分为以下几个部分: - **Java堆**:这是所有线程共享的一块区域,在虚拟机启动时创建。主要用于存放对象实例,几乎所有的对象实例都在这里分配内存。 - **直接内存**:这...
4. **堆**:所有对象实例和数组都在堆中分配内存,是所有线程共享的一块区域,通过垃圾收集器进行内存管理。 5. **方法区**:存储类和接口的信息,如常量池、字段和方法数据。在Java 8后被元空间(Metaspace)所取代...
本文档涉及Java虚拟机(JVM)的堆内存分配和管理,以及相关的JVM内存设置参数。堆内存是Java中用于存储对象实例的区域,它在JVM内存模型中占据核心位置。在深入理解堆内存结构及其设置参数之前,我们需要明确几个...
二、JVM内存回收机制 1. **堆内存**:所有对象都在堆内存中分配,包括实例变量和数组。Java的垃圾回收主要关注堆内存的管理。 2. **垃圾回收算法**: - **标记-清除(Mark-Sweep)**:首先标记出所有活动对象,...
这份笔记涵盖了JVM的基础概念、内存管理、类加载机制、性能优化等多个方面,对于理解Java程序的运行机制以及提升开发效率具有重要的指导意义。 一、JVM基础 Java虚拟机(JVM)是Java程序运行的核心,它提供了平台...
1. **JVM内存模型** - **方法区**:也称为“永久代”,存储虚拟机加载的类信息、常量、静态变量等,是线程共享的区域。在Java 8之后,这部分被元空间(Metaspace)取代。 - **运行时常量池**:是方法区的一部分,...
【描述】:本笔记首先从宏观角度重新认识JVM,强调了JVM的物理结构,特别是内存管理部分。接着,重点讨论了GC优化,特别是如何理解和控制垃圾收集的时机。此外,还提到了通过调整JVM参数来获取和解析GC日志,以进行...
垃圾回收是JVM内存管理的关键。它自动回收不再使用的对象,释放内存资源。新生代和旧生代采用不同的垃圾收集算法,例如Minor GC和Major GC,以确保高效且无内存泄漏的运行环境。通过调整JVM参数如-Xmx、-Xms、-Xmn等...
本文将深入探讨JVM的工作原理,包括内存管理、类加载机制、垃圾回收以及性能优化等方面。 首先,我们来理解JVM的内存结构。在JVM中,内存被分为堆内存和栈内存两大部分。堆内存主要用于存储对象实例,而栈内存则...
4. 垃圾收集:JVM的自动内存管理关键在于垃圾收集,包括可达性分析、标记-清除、复制、标记-整理、分代收集等算法,以及新生代、老年代、永久代(或元空间)等区域划分。 5. 类型系统:JVM支持基本类型、引用类型...
Java虚拟机(JVM)是Java程序的核心组成部分,它为Java...总的来说,理解JVM的工作原理、内存管理、性能优化以及其在跨平台和跨语言方面的角色,对于Java开发者来说至关重要,这有助于编写出更高效、稳定的应用程序。
在深入探讨JVM之前,我们先来了解一下Java的开发环境和源码到字节码的转换过程。Java是由Oracle公司提供的...通过学习这些知识,我们可以深入探究Java的内存管理、异常处理、多线程等高级主题,提升我们的编程技能。
Java虚拟机(JVM)作为Java程序的运行环境,负责管理和分配内存资源。为了更好地理解和掌握JVM内部的工作机制,本篇文章将重点介绍JVM中的几个关键内存区域:程序计数器、Java虚拟机栈、本地方法栈、堆以及方法区。 #...
堆内存(Heap)是JVM中最大的一块内存区域,用于存储对象实例。堆是线程共享的,它被划分为新生代(Young Generation)和老年代(Old Generation),新生代又细分为Eden空间、From Survivor空间和To Survivor空间,...