Java 内存模型之堆内存(Heap)

一、背景知识:内存类型介绍

1、什么是 Perm Gen?

Perm Gen : Permanent Generation

Perm Gen 区是一个特殊的JVM内存区,因为它用来存储用来描述 Class 的

元数据(Class 可以不属于Java语言的一部分,也可以属于),诸如:描述类及其方法。

在大的应用中该区一会儿就满了,并抛出错误:java.lang.OutOfMemoryError: PermGen

然而无论你怎么设置 -Xmx 也不管用。

因为设置其大小的参数不是 -Xmx,而是 -XX:PermGen, -XX:MaxPermGen (不同Java版本略有变化)

2、Heap VS. Stack VS. Perm

Heap(堆内存):

使用Java语言创建的所有的引用对象类型,都在此存储。并由 GC (Garbage Collection)对其进行管理,

诸如:释放不再被程序引用的对象所占据的内存。

Stack(栈内存):

与 Heap 相对的是,Stack 存放基础数据类型。诸如:int, char 等。

由程序的执行顺序控制变量的进出栈顺序,而不是由 GC 控制栈内存的管理。

Perm(持久内存):

<

java ps old gen perm gen_Java 内存模型之堆内存管理相关推荐

  1. java ps old gen perm gen_java – JVM YoungGen 0%,Perm Gen 99%,OldGen Full

    我有一个JEE应用程序,最近开始看到CPU使用率的峰值(例如,40核心服务器上的27个核心的100%)以及应用程序不可用的时间越来越长.它与下一篇文章中描述的问题非常相似,包括弹跳应用程序服务器使问题 ...

  2. java ps old gen perm gen_JVM YoungGen(新生代),OldGen(年老代),和PermGen(持久区)

    Sun的JVM将整个堆分为三代:YoungGen(新生代),OldGen(年老代),和PermGen(持久区): Minor GC:通常是指对新生代的回收. Major GC:通常是指对年老代的回收. ...

  3. java内存模型 原子性_Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)...

    JVM运行时内存结构回顾 在JVM相关的介绍中,有说到JAVA运行时的内存结构,简单回顾下 整体结构如下图所示,大致分为五大块 而对于方法区中的数据,是属于所有线程共享的数据结构 而对于虚拟机栈中数据 ...

  4. JVM(Java虚拟机)详解(JVM 内存模型、堆、GC、直接内存、性能调优)

    JVM(Java虚拟机) JVM 内存模型 结构图 jdk1.8 结构图(极简) jdk1.8 结构图(简单) JVM(Java虚拟机): 是一个抽象的计算模型. 如同一台真实的机器,它有自己的指令集 ...

  5. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...

  6. 深入理解并发内存模型||JMM与内存屏障||多核并发缓存架构 ||JMM内存模型||volatile 关键字的作用 ||JMM 数据原子操作||JMM缓存不一致的问题

    深入理解并发内存模型||JMM与内存屏障 多核并发缓存架构 JMM内存模型 volatile 关键字的作用 JMM 数据原子操作 JMM缓存不一致的问题

  7. JVM堆内存与非堆内存(heap)官方详解

    JVM堆内存与非堆内存(heap)官方详解 JAVA堆内存管理是影响性能主要因素之一. 堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的. 先看下JAV ...

  8. java线程的内存模型_java多线程内存模型

    java多线程内存模型: 可见性 要实现共享变量的可见性,必须保证两点: 1.线程修改后的共享变量能够及时从工作内存刷新到主内存中: 2.其他线程能够及时把共享变量的最新值从主内存更新到自己的工作内存 ...

  9. java内存模型概述_Java内存模型-快速概述和注意事项

    java内存模型概述 在计算中, 内存模型描述了线程如何通过内存交互,或更一般地,它指定了为分段内存或分页内存平台生成代码时允许编译器进行的假设. 在给定程序和该程序的执行跟踪的情况下,它实质上描述了 ...

最新文章

  1. 2022-2028年中国生物基塑料产业发展动态及投资前景分析报告
  2. 硬盘突然变慢的原因,系统突然变慢的原因
  3. COM:中科院遗传发育所发表“重组菌群体系在根系微生物组研究中应用”的重要综述
  4. 浅谈Oracle Online redo log
  5. win7下注册一个com失败,权限不够
  6. 《Android游戏开发详解》——第3章,第3.1节构造方法
  7. vue底部跳转_Vue中底部tabBar切换及跳转
  8. ERROR: libx264 not found
  9. C/C++[codeup 1944]八进制
  10. 从nexus下载所有jar包方法 迁移到其他nexus中
  11. VS2008安装和打补丁
  12. 反向代理分离资源服务器分析
  13. 数据库异常用户sa登录失败_轻松解决SQLserver2014出现“用户sa登录失败 错误18456”的问题-网络教程与技术 -亦是美网络...
  14. 平均数、中位数、众数,在分析中如何使用?
  15. 超容易上手的绘图软件
  16. PHP MySQL 连接数据库
  17. kafka扩容数据自动重分配脚本
  18. 华为云SNAT 操作(脚本执行)
  19. sinx/x的极限为什么是1_在sinx/x中当x→0时极限为什么为1?
  20. 大数据工程师职业发展以及薪酬一览

热门文章

  1. 快来Pick你喜欢的可爱符号
  2. 股票期货化数据文大覆盖国6大交易所的历史数据和实时行情
  3. 电商翻身受宠社交成大势 2019上市科技股大盘点
  4. 闻之梦中,曾经如是(1)
  5. c语言校友通讯录毕业论文,校友录毕业论文(C_+sql2005).doc
  6. v2ray各种版本+一键搭建+bbr提速脚本
  7. Linux 进程信号深剖
  8. 测验1: Python快速入门 (第2周)
  9. HDU 4417 Super Mario(线段树离线处理/主席树)
  10. 华为汽车鸿蒙,华为鸿蒙来了!“碰一碰”就可实现设备互联