jvm相关设置
内存空间
jvm启动运行Class文件时对JVM内存进行切分,可以将其分为线程共享区和线程隔离区
jvm运行时内存架构如下:
在JDK8中持久代(Permanent Generation)部分数据移到了元数据区(Metaspace),在JDK8中已经没有持久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现,不过元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制,但可以通过以下参数来指定元空间的大小。
heap space(堆内存)
1) 虚拟机启动时创建,被所有线程共享, 用于存放所有java对象实例.
2) 可分为年轻代(eden)和老年代(Tenured)。
3) 是垃圾收集器(GC)管理的主要区域
4) 堆中没有内存分配时将会抛出OutOfMemoryError
对象内存分配说明:
新创建的对象一般都分配在年轻代中,当对象比较大时年轻代没有足够的空间还可以直接分配到老年代中,
有时候系统为了减少GC开销,对于小对象且没有逃逸的对象还可以直接在栈上分配
参数设置:
-Xms 设置堆内存的最小空间
-Xmx 设置堆内存的最大空间
-XX:NewSize 设置新生代的最小空间大小
-XX:MaxNewSize 设置新生代最大空间大小
-Xss: 设置每个线程的堆栈大小
Method Area(方法区)
概要:
1.非堆内存,逻辑上的定义,用于存储类的方法信息
2.不同jdk,方法区的实现 不同,JDK8中的方法区对应的是MetSpace,是一块本地内存
配置参数:
-XX:PermSize 设置永久代最小空间大小(JDK8已弃用)
-XX:MaxPermSize 设置永久代最大空间大小(JDK8已弃用)
-XX:MetaspaceSize 设置元数据区的最小空间(JDK8)
-XX:MaxMetaspaceSize 设置元数据区的最大空间(JDK8)
原文地址:https://www.cnblogs.com/nanbcdx/p/11429244.html
- Python的三个问题
- [喵咪开源软件推荐(4)]Liunx跑分神器-unixbench
- 正则化贪心森林(RGF)的入门简介,含案例研究
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 路由(二)之分库分表路由
- [喵咪开源软件推荐(3)]全球IP库-GeoLite2-City
- [喵咪MQ(3)]RabbitMQ集群安装配置
- 动态实现指定图片半透明及鼠标事件
- JVM杂谈之JIT
- 熔断器 Hystrix 源码解析 —— 执行结果缓存
- [喵咪MQ(2)]RabbitMQ单机模式使用
- [喵咪MQ(1)]RabbitMQ简单介绍准备工作
- Dubbo 源码解析 —— Directory
- [喵咪大数据]Hbase搭建和基本使用
- CSS:模拟Windows窗口及DIV居中
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 一款针对网站的网络侦察和信息收集工具
- Numpy核心语法和代码整理汇总!
- 发现内网存活主机的各种姿势
- SharedPreferences VS MMKV
- RabbitMQ 最常用的 3 大模式!
- 啥?HashMap 1.8 还有死循环?你逗我呢!
- 他写的东西,你们喜欢么?
- 告诉你一个 AtomicInteger 的惊天大秘密!
- 001--算法之"高手过招"[分治算法专题]
- 快速入门使用tikz绘制深度学习网络图
- 后端服务慢成狗?试试这 7 招!
- 高性能无锁并发框架 Disruptor,太强了!
- Spring Boot 太狠了,一口气发布了 3 个版本!
- 贷款违约预测-Task2 数据分析
- Redis 最牛实践:业务层面和运维层面优化!