使⽤java命令执⾏class⽂件
⼀、运⾏class⽂件
执⾏带main⽅法的class⽂件,命令⾏为:
java <CLASS⽂件名>
注意:CLASS⽂件名不要带⽂件后缀.class
例如:
代码如下:
java Test
如果执⾏的class⽂件是带包的,即在类⽂件中使⽤了:package <;包名>
那应该在包的基路径下执⾏,命令⾏为:
java <;包名>.CLASS⽂件名
例如:PackageTest.java中,其包名为:st,对应的语句为:
st;
PackageTest.java及编译后的class⽂件PackageTest.class的存放⽬录如下:
classes
|__com
|__ee2ee
|__test
|__PackageTest.java
|__PackageTest.class
要运⾏PackageTest.class,应在classes⽬录下执⾏:jdk怎么使用
代码如下:
st.PackageTest map 131
主类后⾯的就是要穿的参数。
⼆、运⾏jar⽂件中的class
原理和运⾏class⽂件⼀样,只需加上参数-cp <jar⽂件名>即可。需要注意的⼀点是:jar包要放在刚才所说的classes⽂件夹下(你终端现在执⾏命令时所在的⽬录下),要不然提⽰不到主类。
例如:执⾏test.jar中的类st.PackageTest,命令⾏如下:
代码如下:
java -cp test.st.PackageTest
三、显⽰jdk版本信息
当⼀台机器上有多个jdk版本时,需要知道当前使⽤的是那个版本的jdk,使⽤参数-version即可知道其版本,命令⾏为:
代码如下:
java -version
四、增加虚拟机可以使⽤的最⼤内存
java虚拟机可使⽤的最⼤内存是有限制的,缺省值通常为64MB或128MB。如果⼀个应⽤程序为了提⾼性能⽽把数据加载内存中⽽占⽤较⼤的内存,⽐如超过了默认的最⼤值128MB,需要加⼤java虚拟机可使⽤的最⼤内存,否则会出现Out of Memory(系统内存不⾜)的异常。启动java时,需要使⽤如下两个参数:
-Xms java虚拟机初始化时使⽤的内存⼤⼩
-Xmx java虚拟机可以使⽤的最⼤内存
以上两个参数中设置的size,可以带单位,例如:256m表⽰256MB
举例说明:
代码如下:
java -Xms128m -Xmx256m ...
表⽰java虚拟机初始化时使⽤的内存为128MB,可使⽤的最⼤内存为256MB。
对于tomcat,可以修改其脚本catalina.sh(unix平台)或catalina.bat(windows平台),设置变量JAVA_OPTS即可,例如:
代码如下:
JAVA_OPTS='-Xms128m -Xmx256m'
在控制台输出信息中,有个-X(注意是⼤写)的命令,这个正是查看JVM配置参数的命令。
其次,⽤java -X 命令查看JVM的配置说明:
1、-Xmixed mixed mode execution (default)
混合模式执⾏
2、-Xint interpreted mode execution only
解释模式执⾏
3、-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
设置zip/jar资源或者类(.class⽂件)存放⽬录路径
3、-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
追加zip/jar资源或者类(.class⽂件)存放⽬录路径
4、-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
预先加载zip/jar资源或者类(.class⽂件)存放⽬录路径
5、-Xnoclassgc disable class garbage collection
关闭类垃圾回收功能
6、-Xincgc enable incremental garbage collection
开启类的垃圾回收功能
7、-Xloggc:<file> log GC status to a file with time stamps
记录垃圾回⽇志到⼀个⽂件。
8、-Xbatch disable background compilation
关闭后台编译
9、-Xms<size> set initial Java heap size
设置JVM初始化堆内存⼤⼩
10、-Xmx<size> set maximum Java heap size
设置JVM最⼤的堆内存⼤⼩
11、-Xss<size> set java thread stack size
设置JVM栈内存⼤⼩
12、-Xprof output cpu profiling data
输⼊CPU概要表数据
13、-Xfuture enable strictest checks, anticipating future default
执⾏严格的代码检查,预测可能出现的情况
14、-Xrs reduce use of OS signals by Java/VM (see documentation)
通过JVM还原操作系统信号
15、-Xcheck:jni perform. additional checks for JNI functions
对JNI函数执⾏检查
16、-Xshare:off do not attempt to use shared class data
尽可能不去使⽤共享类的数据
17、-Xshare:auto use shared class data if possible (default)
尽可能的使⽤共享类的数据
18、-Xshare:on require using shared class data, otherwise fail.
尽可能的使⽤共享类的数据,否则运⾏失败
怎么⽤这这些参数呢?其实所有的命令⾏都是这么⼀⽤,下⾯我就给出⼀个最简单的HelloWorl的例⼦来演⽰这个参数的⽤法,⾮常的简单。
代码如下:
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
编译并运⾏:
D:\j2sdk15\bin>javac HelloWorld.java
D:\j2sdk15\bin>java -Xms256M -Xmx512M HelloWorld
Hello World!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论