Java配置参数介绍

        在工作学习中我们是否已经用到过Java 的一些配置参数,是否已经了解他们的作用?

        在运行Java程序时往往会输入以下类似命令参数:

javac -Djava.library.path=/usr/local/jdk/bin HelloWorld.java
java -jar hello.jar
java -server HelloWorld
java -server -XX:MaxPermSize=256m
....

 

        这些命令是否非常眼熟,有些参数例如:-jar、-server 我们可以说出其作用,但有些却并不是十分了解,甚至很多工作多年的Java程序员也会如此。
        了解这些参数的作用及合理配置可以大大提高程序运行速度及稳定性,甚至更多好处。错误的配置及参数误用可能导致程序频繁故障甚至崩溃。所以学习这方面知识对于一个合格的Java工作者非常重要。

 

        介绍虚拟机参数之前要先介绍下"HotSpot"这个名词,HotSpot 比较简单是JVM 的一种代号,HotSpot代替了JIT技术,大大提高Java运行的性能。

 

        Java 配置参数共分为三类:

        1.标准参数(-),所有的JVM 实现都必须实现这些参数的功能,而且向后兼容;标准参数例如:-jar,-client,-server等。
        2.非标准参数(-X),指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,并不保证所有JVM 实现都满足,所以为了提高性能,往往需要调整这些参数,以求系统达到最佳性能。另外这些参数不保证向后兼容,也即是像官网说的:“如有变更,恕不在后续版本的JDK 通知”。非标准参数例如:-Xint,-Xbatch等。
        3.不稳定参数(-XX),这类参数在JVM 中是不稳定的,不适合日常使用的,后续也是可能会在没有通知的情况下就直接取消了,需要慎重使用。不稳定参数例如:-XX:MaxNewSize,-XX:MaxPermSize等。

 

        在这里有的朋友也许会吧Java 参数和JVM 参数概念混淆,其实二者没有明确的界限,用在Java 命令上的时候就是java 参数,例如:-jar,-d,-server 等。他们不会涉及到JVM 的相关运行时改变,这样的参数就是Java 参数,例如:javac -d 时,-d 就是Java 参数,因为他没有涉及到JVM 的运行;然而当运行java -d 时-d又成为了JVM 运行时的参数配置,此时-d 也可称为JVM 参数。

 

        又例如-XX:MaxPermSize=256m 这样的参数直接影响到JVM 运行时的状态及相关配置信息,这样的参数就是JVM 参数。大致上可以这样简单的区分,你也可以有你独到的见解,欢迎分享。

 

        知道了JVM 参数有三大类,那么如何使用它们呢?其实很简单,只需要在Java 命令后跟随相应参数即可,类似于Linux 的shell 参数使用。例如:

java -server HelloWorld
java -server -XX:MaxPermSize=256m

 
        在平时开发工作中经常会使用到Tomcat,那么你是否已经配置过Tomcat 的启动参数。
        打开tomcat的配置界面,进入“参数”选项中,界面如图所示:



 

        可以看到"VM arguments" 配置项中有如下参数:

-Dcatalina.home=D:"/work/tomcat" -Dcatalina.base=D:"/work/tomcat" -Djava.endorsed.dirs=D:"/work/tomcat/common/endorsed" -Djava.io.tmpdir=D:"/work/tomcat/temp" -Djava.library.path=C:"/Program Files/Java/jdk/bin;D:/work/tomcat/bin" -Dsun.io.useCanonCaches=false

 

        "-Dcatalina.*" 其实就是Tomcat理由-D命令设置一个系统属性。标准与非标准参数会在Java 命令详解系列文章中介绍,后面还会介绍如何自定义JVM 参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值