JVM 配置参数 -D,-X,-XX 的区别

createh55个月前 (12-17)技术教程52

最近在安全护网行动,需要针对服务进行不断的安全加固,如 对服务的 log4j 的安全配置进行防护,对 fastjson 的漏洞进行安全加固等,最快的防护方法就是通过在服务启动的时候,设置对应的安全参数。如开启 fastjson 的安全模式,在启动服务的jvm 参数中添加以下配置;

-Dfastjson.parser.safeMode=true

配置之后总结一下JVM 的常用的三种方式: -D,-X,-XX

-XX 标准选择(Standard Options)

-XX 是 JVM 的所有实现都支持的最常用的选项。-XX 参数被称为不稳定参数,是因为这类参数的设置会引起JVM运行时性能上的差异,配置得当可以提高JVM性能,配置不当会使JVM出现各种问题,甚至JVM崩溃。

示例:

# 例如以-XX开头的配置参数
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnable
-XX:+UseFastAccessorMethods

-X 非标准选择(Non-Standard Options)这些选项是特定于 Java HotSpot 虚拟机的通用选项。

# 例如以-X开头的配置参数
-Xmx256m
-Xms256m
-Xmn768m
-Xss256k

-D 设置系统属性值;

-D属性名称=属性值,-D 可以设置服务jar 包中内部封装的属性值,如server.port等等,其中设置fastjson 的安全模式以及log4j的安全配置都是通过 -D 的方式进行设置

# 例如以-D开头的配置参数
-Dspring.profiles.active=release
-Dspring.config.location=/opt/app/conf/

oracle 官网配置说明:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html

相关文章

java -server -jar 启动参数详解 java启动jar包命令

一、使用G1 (jdk8)java -server -Xmx4G -Xms4G -XX:MaxMetaspaceSize=384M -XX:MetaspaceSize=384M -XX:+UseG1G...

SpringBoot使用@Valid注解+Exception全局处理器优雅处理参数验证

目录一、为什么使用 @Valid 来验证参数二、@Valid 注解的作用三、@Valid 的相关注解四、使用 @Valid 进行参数校验步骤实体类中添加 @Valid 相关注解接口类中添加 @Vali...

Linux后台运行Jar包以及Jvm参数调优案例

我们将编写的应用程序打包为Jar可执行文件后,如果在Linux服务器环境下,可直接使用java -jar xxx.jar命令运行应用程序,不过当我们关闭命令窗口后启动中的应用程序也会停止,那我们需要通...