JVM学习-JVM运行时参数

JVM参数选项
标准参数选项
  • 特点

    • 稳定,后续版本不会变化
    • 以【-】开头
  • 各种选项

    • 运行java或者java -help可以看到所有的标准选项
      在这里插入图片描述
  • 补充内容

    • -server:64位机器上只支持Server模式的JVM,适用于需要大内存的应用程序,默认用并行垃圾回收器
    • -client:在32位Windows系统上,默认使用Client类型的JVM,要想使用Server模式,则机器配置至少有2个以上的CPU和2G以上的物理内存。Client模式适用于对内存要求较小的桌面应用程序,默认使用Serial串行垃圾回收器
-X参数选项
  • 特点

    • 非标准化参数
    • 功能相对稳定,官方说后续可能会变更
    • 以-X开头
  • 各种选项

    • 运行java -X命令可以查看所有的X选项
      在这里插入图片描述
  • JVM的JIT编译模式相关的选项

    • -Xint:禁用JIT,所有字节码都被解释执行,这个模式的速度最慢
    • -Xcomp:所有字节码第一次使用就都被编译成本地代码,然后再执行
    • -Xmixed:混合模式,默认模式,让JIT根据程序的运行情况,有选择地将某些代码
  • 特别

    • -Xms:设置初始Java堆大小,等价于-XX:InitialHeapSize
    • -Xmx:设置最大堆大小,等价于-XX:MaxHeapSize
    • -Xss:设置Java线程堆栈大小,等价于-XX:ThreadStackSize
-XX参数选项
  • 特点
    • 非标准化参数
    • 使用最多的类型
    • 这类选项属于实验性,不稳定
    • 以-XX开头
  • 作用
    • 用于开发和调试JVM
  • 分类
    • Boolean类型
      • -XX:+表示启用option属性
      • -XX:-表示禁用option属性
      • 举例(-XX:+UseParallelGC启用并行收集器,-XX:+UseG1GC启用G1收集器,-XX:+UseAdaptiveSizePolicy自动选择年轻代区大小和相应的Survivor区比例)
      • 有些指令默认是开启的,可以使用-关闭
    • 非Boolean类型(key-value类型)
      • 子类型1:数值型格式-XX:=
      • 子类型2:非数值型格式-XX:=
      • 举例(-XX:NewSize=1024m设置新生代初始大小为1024M,-XX:MaxGCPauseMillis=500 设置GC停顿时间:500毫秒,-XX:GCTimeRatio=19设置吞吐量,-XX:NewRatio=2设置新生代和老年代比例,-XX:HeapDumpPath=/usr/local/heapdump.hprof指定heap转储文件存储位置)
  • 特别
    • -XX:PrintFlagsFinal
      • 输出所有参数的名称和默认值
      • 默认不包括Dignostic和Experimental参数
      • 可以配合-XX:+UnlockDiagnosticVMOptions和-XX:UnlockExperimentalVMOptions使用
添加JVM参数
Eclipse

在这里插入图片描述
在这里插入图片描述

IDEA

在这里插入图片描述
在这里插入图片描述

运行jar包
  • java -Xms500m -Xmx500m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar demo.jar
通过Tomcat运行war包
  • linux系统下,找到tomcat/bin/catalina.sh中添加JAVA_OPTS=“-Xms500m -Xmx500m”
  • windows系统下,找到catalina.bat不添加set “JAVA_OPTS=-Xms500m -Xmx500m”
程序运行过程中
  • 使用jinfo -flag=设置非boolean类型参数
  • 使用jinfo -flag[+|-]设置boolean类型参数
  • 可以修改的参数见
常用的JVM参数
打印设置的XX选项及值
  • -XX:+PrintCommandLineFlags:让程序运行前打印出用户手动设置或者JVM自动设置的XX选项
  • -XX:+PrintFlagsInitial:打印出所有XX选项的默认值
  • -XX:+PrintFlagsFinal:打印出XX选项在运行程序时生效的值
  • -XX:+PrintVMOptions:打印JVM参数
堆、栈、方法区等内存大小设置
    • -Xss128k:每个线程的栈大小为128k
  • 堆内存
    • -Xms1024m:等价于-XX:InitialHeapSize,设置JVM初始堆内存为1024m
    • -Xmx1024m:等价于-XX:MaxHeapSize,设置JVM最大堆内存为1024m
    • -Xmn1g:设置年轻代大小为1G,官方建议设置整个堆大小的3/8
    • -XX:NewSize=1024m:设置年轻代初始值为1024m
    • -XX:MaxNewSize=1024m:设置年轻代最大值为1024m
    • -XX:SurivivorRatio=8:设置年轻代中Eden与一个Survivor区的比值,默认8
    • -XX:UseAdaptiveSizePolicy:自动选择各区大小比例
    • -XX:NewRatio=4:设置老年代与年轻代比值
    • -XX:PretenureSizeThreadshold=1024:设置让大于此阈值的对象直接分配在老年代,单位为字节,只对Serial和parNew收集器有效
    • -XX:MaxTenuringThrehold=15:
  • 方法区
    • 永久代
      • -XX:PermSize=256m:设置永久代初始值为256m
      • -XX:MaxPermSize=256m:设置永久代最大值为256m
    • 元空间
      • -XX:MetaspaceSize:初始空间大小
      • -XX:MaxMetaspaceSize:最大空间大小,默认没有限制
      • -XX:UseCompressedOops:压缩对象指针
      • -XX:UseCompressedClassPointers:压缩类指针
      • -XX:UseCompressedSpaceSize:设置Klass Metadata的大小,默认1G
  • 直接内存
    • -XX:MaxDirectMemorySize
OutOfMemory相关选项
垃圾收集器相关选项
  • Serial回收器
  • ParNew回收器
  • Parallel回收器
  • CMS回收器
  • G1回收器
GC日志相关选项
其他参数
通过Java代码获取JVM参数

持续更新中… …

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

18 - 各赛事的用户注册率(高频 SQL 50 题基础版)

18 - 各赛事的用户注册率 -- 注册率注册用户数/所有用户数 selectr.contest_id,round(100*count(*)/(select count(*) from Users),2) percentage from Register r group by r.contest_id order bypercentage desc,r.contest_id ASC;

Phpstorm使用xdebug断点调试

一、目标 1、在浏览器地址栏里操作页面访问接口时,可以在项目代码对应入口处断点拦截调试; 2、在postman调用接口时,可以在项目代码对应入口处断点拦截调试; phpstorm版本:PhpStorm 2024.1.2 二、具体操作 1、安装…

Python离线查询IP地址对应的国家和城市

使用场景: 在没网的情况下使用python代码实现对ip地址进行查询国家和地市 代码实现: 需要安装 pip install geoip2 库 import geoip2.databasedef get_location_by_ip(ip_address, db_path):reader geoip2.database.Reader(db_path)try:response r…

什么是输入偏置电流?

输入偏置电流(input bias current):运放同相与反相端流入和流出的电流。理想的运放同相和反相端的阻抗是无穷大的,所以是无法流进和流出电流。 第一种定义:同相与反相端电流和的平均值 以AD8031运放举例,…

HCIP与CCNP,中级认证里哪个更香?

如果你是网络领域的从业者,一定听说过HCIP(华为认证网络工程师)和CCNP(思科认证网络专业人员)这两个中级认证。 那么,在这两者之间,你更倾向于选择哪一个呢? 今天就对这两个认证进…

wine和crossover哪个好 使用crossover有什么优势

如果你是Mac或Linux用户,你可能会遇到这样的情况:你想要运行一些Windows上的应用程序或游戏,但是你的操作系统并不支持它们。这时候,你有几种选择:一是安装双系统,也就是在你的电脑上同时安装Windows或Linu…

教师常用小程序分享

和大家分享几款超级实用的教学小程序,不仅能够提高我们的办公效率,还能让我们的教学生活变得更加轻松有趣。 腾讯文档:云端协作的利器 教学协作是必不可少的。腾讯文档小程序,就是云端协作的利器。支持多人在线编辑文档&#xff…

《中国科技成果》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《中国科技成果》是不是核心期刊? 答:不是,是万方、维普收录的正规学术期刊 问:《中国科技成果》是什么级别的? 答:国家级。主管单位:中华人民共和国科学技术部 …

积极乐观的心态对学习和研究机器人相关技术非常重要

微案例 把难换成有趣,动力就会足一些。 或者把难换成“有挑战”等。 负面情绪描述: 学习和研究机器人很难。 中性情绪描述: 学习和研究机器人有挑战。 正面情绪描述: 学习和研究机器人很有趣。 机器人专业不合格且失败讲师如何让…

解决Windows Hosts 文件因为权限无法修改的问题

如何修改 Windows Hosts 文件并添加域名映射 在日常工作中,可能需要修改 Windows 的 hosts 文件,以将特定的域名映射到指定的 IP 地址。本文介绍三种方法来完成这一任务:直接手动编辑 hosts 文件,使用批处理文件自动完成任务&…

4秒惊艳!Stable Cascade AI绘画神器,设计师和普通用户的无限创意新选择

近日,一款AI绘画模型Stable Cascade发布。 只需输入一段描述文字,即可在4秒钟内获得令人惊艳的图像。 无论你是设计师、艺术家,还是普通用户,都能轻松上手,释放无限创意。 Stable Cascade不仅在使用上极具便捷性&am…

品致分档高频电流探头交直流电流探头的功能和应用领域

品致分档高频电流探头可以精确测量最大直流 DC-12MHz,具有高带宽,高精度的测量特点,且支持量程档位切换,满足用户一机多用的需求。探头自带归零和消磁功能,在包容用户的使用环境下,精度也高达 1%。标准的BN…

APP兼容性测试都需要考虑哪些场景?

APP测试的时候都需要验证兼容性。那兼容性测试需要考虑哪些场景? 进行APP的兼容性测试时,需要考虑以下一些常见的测试场景: 1. 操作系统兼容性:测试应用程序在不同操作系统上的兼容性,如iOS、Android、Windows等。确…

阿里云ECS实例镜像本地取证

更新时间:2024年03月21日10:09:37 1. 说明 很多非法案件中,服务器是直接搭建在阿里云上的,比如我们在拿到OSSKey之后(技术方法、其它方法等),可以将涉案服务器镜像导出,在本地进行取证分析。 …

接口的应用、 适配器设计模式

接口的应用 适配器设计模式 Inter package com.itheima.a09;public interface Inter {public abstract void show1();public abstract void show2();public abstract void show3();public abstract void show4();}InterAdapter package com.itheima.a09; //抽象 public abs…

前端自测 - 那些经典的bug

前言 我一直坚持的一个观点,就是不以bug数论成败,但是这个需要加一个前提,就是不能出现那些低级的bug,更不能反复的出现。 由此整理了一系列我认为比较经典常见的前端bug,都是在项目中多次遇到过的,用于前…

如何学习大模型

学习大模型(例如GPT-3、BERT等)需要一定的数学和编程基础,以及对人工智能、机器学习、自然语言处理等领域的了解。以下是一个学习大模型的基本路线: 基础知识储备: 数学基础:掌握线性代数、概率论与数理统…

史上最全,呕心沥血总结oracle推进SCN方法(五)

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享。前面介…

小牛翻译API详解:功能、优势介绍及案例实战(附完整代码)

写在前面小牛翻译是做什么的案例-调用图片翻译API进行英文翻译✔准备工作✔获取密钥✔调用API✔完整代码✔运行项目 使用建议 写在前面 随着全球化的快速发展和跨国交流的增多,翻译软件的市场需求持续增长。根据市场数据,全球语言翻译软件市场规模在过去…

google keybox.xml格式 内容有哪些 Keybox数量、设备ID、算法的 私钥 公钥 证书链 (ECDSA即ECC, RSA)

根据您提供的文件内容,keybox.xml 文件包含以下主要信息: Keybox数量 ([NumberOfKeyboxes](file:///d%3A/010F200/svn/ProduceToolMfc/FtSmartPos/FtSmartPos/ToolBydMes/httpclient/e%3A%5CGoogleKey%5CLinux_AttestationKeyboxPack_Tool%5CLinux_Atte…