文档章节

JVM虚拟机之二 堆内存

扬花落尽丶
 扬花落尽丶
发布于 2017/08/04 10:28
字数 341
阅读 32
收藏 0

首先,是一张堆的示意图。

                

第一节讲过,其实java堆和方法区并不是一个东西,为什么我要把方法区放在堆的示意图中呢。因为大家将堆的时候,通常说的都是方法区和java堆。方法区和java堆都是线程共享的,都需要经过GC,所以我个人认为,通常说堆涵盖了方法区和java堆两项。

方法区与整个堆内存的配置无关。-Xmx,-Xms参数只包含了老年代和新生代,并不包括方法区。

-Xmx:配置最大堆内存。

-Xms:配置初始化堆内存

-Xmn 用于设置新生代的大小。新生代大小一般设置为整个堆空间的1/3到1/4之间。(-Xmn1m)

-XX:SurvivorRatio=eden/from=eden/to 设置新生代中eden空间和from/to空间的比例关系。

(-XX:SurvivorRatio=2 新生代内存有10m,那么eden区的内存即为5m)

-XX:NewRatio=老年代/新生代 设置新生代和老年代的比例(与-Xmn区别是一个是设置新生代绝对大小,一个是根据比例设置)

方法区(理解为永久区perm,在jdk1.6和1.7中存在,在1.8中剔除):

-XX:PermSize:初始化方法区。

-XX:MaxPermSize:最大方法区:默认情况为64M

© 著作权归作者所有

共有 人打赏支持
扬花落尽丶
粉丝 5
博文 38
码字总数 31280
作品 0
朝阳
程序员
线上应用故障排查之二:高内存占用

搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: PermGen space 2、java.lang.OutOfMemoryError: Java heap space 要详细解释这两种异常,需要简单重提下Java内存模...

MZHS
2015/11/13
0
0
《深入理解Java虚拟机》之Java虚拟机内存结构(1)

这个是很重要的一个基础认识。 java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下: 其中方法区和堆是由所有线程共享的数据区。 Java虚拟机栈,本地方法栈和程...

lixiyuan
2014/04/10
0
1
Java虚拟机内存管理(一)—内存划分

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的 “高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳时实践(第二版)》周志明 Ja...

Wizey
08/30
0
0
培训云计算学校,虚拟机基本结构讲解

我们要对JVM虚拟机的结构有一个感性的认知。毕竟我们不是编程人员,认知程度达不到那么深入。一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机...

长沙千锋
05/17
0
0
Java线上应用故障排查之二:高内存占用

前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查。 搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: PermGen space 2、java.lang...

Kerry_Han
2014/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PowerDesigner导出所有表到Excel

'******************************************************************************'* File: pdm2excel.vbs'* Purpose: 分目录递归,查找当前PDM下所有表,并导出Excel'* Title: ......

了凡川
21分钟前
2
0
Maven 项目中依赖的搜索顺序

ettings_mirror 的优先级高于 central settings_profile_repo 优先级高于 settings_mirror settings_profile_repo 优先级高于 pom_repositories settings_profile_repo 优先级高于 pom_prof......

xingyu4j
44分钟前
2
0
改变maven项目的名称

pom.xml <groupId>com.soft.xxx</groupId><artifactId>xxx</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>xxx Maven Webapp</name><build>......

1713716445
45分钟前
2
0
windows下按照RabbitMQ

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平...

zhaochaochao
46分钟前
2
0
10个PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的10个开源的Php比特币项目,将有助于你了解在自己的应用中如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方法...

笔阁
53分钟前
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部