美文网首页
JVM内存管理分类

JVM内存管理分类

作者: 嘿嘿_信我者得永生 | 来源:发表于2023-10-31 11:39 被阅读0次

[TOC]

内存划分

内存划分

程序计数器

如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地 址;如果正在执行的是本地(Native)方法,这个计数器值则应为空(U ndefined)

Java虚拟机栈

局部变量表存放了编译期可知的各种Java虚拟机基本数据类型(boolean、byte、char、short、int、 float、long、double)、对象引用(reference类型,它并不等同于对象本身)

本地方法栈

本地方法栈(Native M ethod Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别只是虚拟机 栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的本地(Native) 方法服务。

此内存区域的唯一目的就是存放对象实例,Java 世界里“几乎”所有的对象实例都在这里分配内存。

方法区

它用于存储已被虚拟机加载 的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据
这区域也有垃圾回收动作,回收目标主要是针对常量池的回收和对类型的卸载

  • 运行时常量池
    运行时常量池(Runtime Constant Pool)是方法区的一部分,用于存放编译期生 成的各种字面量与符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中

直接内存

在JDK 1.4中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区 (Buffer)的I/O方式,它可以使用Nat ive函数库直接分配堆外内存,然后通过一个存储在Java堆里面的 DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为避免了 在J ava堆和N at ive堆中来回复制数据。

相关文章

  • JVM内存分析

    JVM内存模型图JAVA虚拟机把管理的内存划分为几个不同的数据区。 JVM运行时数据区分类1. JVM栈 (Jav...

  • 初见JVM内存区域

    初见JVM内存区域 JVM一个重要的机制就是自动内存管理机制,为了深入理解JVM的内存管理机制,了解JVM的内存...

  • 【问答】补充

    Java JVM如何管理内存的? Java中内存管理是JVM自动进行的,创建对象或者变量时JVM会自动分配内存,当...

  • Android性能优化-内存泄漏的几个案例

    JVM内存管理 Java采用GC进行内存管理。深入的JVM内存管理知识,推荐《深入理解Java虚拟机》。 关于内存...

  • [JVM系列]JVM内存管理详解

    JVM内存管理详解

  • Java基础之引用类型

    一、概念 在Java语言中,由JVM进行内存的管理,JVM通过一定的内存回收机制来管理内存,对系统不再使用但JVM...

  • JVM内存结构、运行时内存以及类加载过程

    以下内容都是基于jdk1.8 1、JVM 内存管理 2、JVM内存区域 JVM内存区域主要分为线程私有Thread...

  • JVM内存结构

    以下信息摘录自:深入理解JVM的内存结构及GC机制 JVM内存管理 根据JVM规范,JVM把内存区域划分成了以下几...

  • Java基础

    JVM内存 1、JVM 内存管理和GC知识概述和总结(20190711) https://www.atatech....

  • 九神带你入门JVM(上)

    概述 本篇较长,九神带你从0入门JVM,全文包括包括JVM的分类、JVM垃圾回收综述、JVM的内存模型(Java ...

网友评论

      本文标题:JVM内存管理分类

      本文链接:https://www.haomeiwen.com/subject/foviidtx.html