基本的JVM参数:
-classpath, -cp: 设置类搜索路径
-client, -server: JVM运行模式, 不同的模式相应的一些默认参数不一样, 比如垃圾回收策略
-D<propertyName>=value: 设置JVM系统属性, 可通过System.getProperty(“propertyName”)获取
-verbose[:gc|class|jni]: 显示JVM运行过程中的gc,class load, jni调用, 如:java -verbose:jni -verbose:class
-version[:value]: 显示JVM版本或指定以某个版本运行, 如: java -version:1.6
-showversion: 显示JVM版本后再运行
-jre-restrict-search | -jre-no-restrict-search: include/exclude user private JREs in the version search 很少用, 不清楚详细情况
-ea[:<packagename>...|:<classname>], -enableassertions[:<packagename>...|:<classname>]: 针对(指定的包或类)启用断言
-da[:<packagename>...|:<classname>], -disableassertions[:<packagename>...|:<classname>]: 针对(指定的包或类)禁用断言
-esa | -enablesystemassertions: 启用系统级断言
-dsa | -disablesystemassertions: 禁用系统级断言
-agentlib:<libname>[=<options>]: 指定加载本地代理库(dll,so文件,注:不加后缀)
-agentpath:<pathname>[=<options>]: 指定加载本地代理库的路径(全路径)
-javaagent:<jarpath>[=<options>]: 指定代理库的jar路径
-splash:<imagepath>: 指定splash的图片路径
-X: JVM的非标准参数, 它比较复杂, 下面详细介绍 -X
- -Xmixed: 以混合模式执行(默认)
- -Xint: 只是解释模式执行
- -Xbootclasspath:<directories and zip/jar files separated by ;>: 设置JVM bootstrap classloader的搜索路径(JVM class loader: bootstrap classloader, extension classloader, system classloader)
- -Xbootclasspath/a:<directories and zip/jar files separated by ;>: 添加到bootstrap classpath末尾
- -Xbootclasspath/p:<directories and zip/jar files separated by ;>: 插入到bootstrap classpath之前
- -Xnoclassgc: 禁用类垃圾回收
- -Xincgc: 启动增量垃圾收集器,缺省是关闭的。增量垃圾收集器能减少偶然发生的长时间的垃圾回收造成的暂停时间。但增量垃圾收集器和应用程序并发执行,因此会占用部分CPU在应用程序上的功能
- -Xloggc:<file>: 将虚拟机每次垃圾回收的信息写到日志文件中,文件名由file指定,内容和-verbose:gc输出内容相同
- -Xbatch: 禁用后台编译功能。通常虚拟机将编译方法作为后台任务执行,在后台编译完成之前,采用解释方式执行方法。-Xbatch选项禁用后台编译功能,所以所有方法的编译作为前台任务直到结束
- -Xms<size>: 设置JVM堆的初始大小
- -Xmx<size>: 设置JVM堆的最大值
- -Xss<size>: 设置JVM栈大小
- -Xprof: 输出CPU运行时的诊断信息
- -Xfuture: 对类文件进行严格格式检查,以保证类代码符合类代码规范。为保持向后兼容,虚拟机缺省不进行严格的格式检查
- -Xrs: 减少虚拟机中操作系统的信号(singals)的使用。该参数通常用在虚拟机以后台服务方式运行时使用
- -Xcheck:jni: 调用JNI函数时进行附加的检查,特别地虚拟机将校验传递给JNI函数参数的合法性,在本地代码中遇到非法数据时,虚拟机将报一个致命错误而终止。使用该参数后将造成性能下降
- -Xshare:off: 不在JVM进程间共享类数据
- -Xshare:auto: 自动共享类数据(默认)
- -Xshare:on: 开户类数据共享
- -Xshare:dump: 生成类数据共享
相关推荐
- **作用**:此参数用于打印出GC的基本信息,包括GC操作前后的内存使用情况及所花费的时间。 - **示例输出**: ``` [GC 4790K->374K(15872K), 0.0001474 secs] ``` ##### -XX:+PrintGCDetails - **作用**:用于...
在调整 Tomcat 的内存设置之前,我们需要了解一些基本的 JVM 内存参数: 1. **`-Xms`**:设置 JVM 启动时的初始堆内存大小。 2. **`-Xmx`**:设置 JVM 运行时的最大堆内存大小。 3. **`-Xmn`**:设置年轻代 (Young ...
在Tomcat参数调优部分,首先介绍了如何对Tomcat进行基本的优化设置。通过命令行操作,下载并解压Tomcat的安装包,然后配置tomcat-users.xml文件设置管理用户,并在context.xml中注释掉一些可能引起安全风险的配置。...
本文将基于提供的文件内容,深入解析Linux环境下JVM的基本参数设置方法及原理。 #### 一、内存参数设置 在JVM参数配置中,内存管理是最为关键的部分之一。下面我们将详细解释几个重要的内存相关参数及其作用: 1....
1. **基本概念**:垃圾回收是JVM自动管理内存的过程,主要目标是回收不再使用的对象所占用的空间,防止内存泄漏。 2. **GC算法**: - **标记-清除**:标记所有活对象,然后清除所有未标记的对象。缺点是会产生大量...
在探讨JVM优化之前,我们首先需要理解Java虚拟机(JVM)启动参数的基本分类及其功能。Java虚拟机启动参数被划分为三大类:标准参数、非标准参数以及非Stable参数,每类参数都有其特定的作用范围和适用场景。 **标准...
在Java世界中,远程方法调用(Remote Method Invocation, RMI)和Java管理扩展(Java Management Extensions, JMX)是两个强大的工具...以上就是关于RMI远程连接JVM和使用JMX获取JVM参数的基本知识,希望对你有所帮助。
这个压缩包文件"JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).zip"显然包含了关于如何优化Java应用程序运行效率的四个主要方面:Tomcat服务器的参数调整、JVM参数调优、JVM字节码理解和优化以及代码...
首先,我们来探讨JVM的基本原理。JVM是一个抽象的计算机,它具有硬件系统的许多特性,如内存管理、指令集等。当Java程序运行时,编译器会将源代码编译成字节码,这些字节码在JVM上被解释执行。JVM的主要组成部分包括...
Java 8目前仍然是许多企业中主要使用的版本之一...关于JVM相关的优化和配置我们之前提到过很多基本的知识内容,简单进行回顾一下,今天我们就JVM常见优化参数为基本内容再次重新来说(主要从ES的JVM配置来强化理解)。
1. **JVM基本参数**: - `-Xms` 和 `-Xmx`:这两个参数用于设置Java虚拟机(JVM)的初始堆大小和最大堆大小,例如 `-Xms256m -Xmx1024m` 意味着堆内存起始为256MB,最大可扩展至1024MB。 - `-XX:NewSize` 和 `-XX:...
JVM性学习笔记-基本原理,内存模型,JVM参数设置,类加载器原理,JDK自带工具
### JVM基本原理及结构详解 #### 一、Java虚拟机(JVM)的逻辑与物理结构 JVM,即Java Virtual Machine,是运行Java字节码的虚拟机环境,它的设计目的是为了提供一个独立于硬件的运行环境,使得Java程序可以在任何...
### JAVA-JVM参数详解 #### 一、JPS:查看正在运行的 Java 进程 - **概述**:`jps`(Java Process Status Tool)是JDK自带的一个实用工具,用于显示当前计算机上所有正在运行的Java应用程序的进程ID(PID)及其...
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。 第四课 GC的算法和种类 引用计数 标记清除 复制算法 标记压缩 可触及性 本章是理论性较强的一章,主要介绍GC的基本算法和思想,本...
了解这些基本概念后,我们来看两个具体的文件名:“字符转码.txt”和“jvm字符集.txt”。这些文件可能包含了关于如何在JVM中进行字符转码的实践示例,或者详细解释了JVM如何处理不同的字符集。通过阅读这些文件,你...
通过调整JVM参数,我们可以控制堆大小、垃圾收集策略、线程栈大小等,以达到最佳的运行效果。例如,通过-Xms和-Xmx设置堆内存大小,-XX:+UseG1GC选择垃圾收集器等。 总结来说,JVM是Java编程的重要组成部分,它的...
1. **JVM结构与原理**:首先,我们需了解JVM的基本架构,包括类装载器、运行时数据区、执行引擎、本地方法接口和本地库。特别是堆内存、栈内存、方法区(元空间)以及垃圾收集机制,它们是理解JVM运行时行为的关键。...
除了上述基本参数,还有一些其他的工具和选项可以帮助深入分析。例如: - `-verbose:gc` - 提供更详细的GC活动信息。 - `-XX:+PrintTenuringDistribution` - 显示对象晋升到老年代的比例和年龄分布。 通过对GC日志...