运行java的class文件方法详解

网友投稿 373 2023-08-04


运行java的class文件方法详解

一、运行class文件

执行带main方法的class文件,命令行为:

java

注意:CLASS文件名不要带文件后缀.class

例如:

复制代码 代码如下:

java Test

如果执行的class文件是带包的,即在类文件中使用了:package <包名>

那应该在包的基路径下执行,命令行为:

java <包名>.CLASS文件名

例如:PackageTest.java中,其包名为:com.ee2ee.test,对应的语句为:

package com.ee2ee.test;

PackageTest.java及编译后的class文件PackageTest.class的存放目录如下:

classes

  |__com

      |__ee2ee

           |__test

                |__PackageTest.java

                |__PackageTest.class

要运行PackageTest.class,应在classes目录下执行:

复制代码 代码如下:

java com.ee2ee.test.PackageTest

二、运行jar文件中的class

原理和运行class文件一样,只需加上参数-cp 即可。

        例如:执行test.jar中的类com.ee2ee.test.PackageTest,命令行如下:

复制代码 代码如下:

java -cp test.jar com.ee2ee.test.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:

      set search path for bootstrap classes and resources

 设置zip/jar资源或者类(.class文件)存放目录路径

 

3、-Xbootclasspath/a:

      append to end of bootstrap class path

 追加zip/jar资源或者类(.class文件)存放目录路径

 

4、-Xbootclasspath/p:

      prepend in front of bootstrap class path

 预先加载zip/jar资源或者类(.class文件)存放目录路径

 

5、-Xnoclassgc disable class garbage collection

 关闭类垃圾回收功能

 

6、-Xincgc enable incremental garbage collection

 开启类的垃圾回收功能

 

7、-Xloggc: log GC status to a file with time stamps

 记录垃圾回日志到一个文件。

 

8、-Xbatchttp://h disable background compilation

 关闭后台编译

 

9、-Xms set initial Java heap size

 设置JVM初始化堆内存大小

 

10、-Xmx set maximum Java hhttp://eap size

 设置JVM最大的堆内存大小

 

11、-Xss set java thread stack size

 设置JVM栈内存大小

 

12、-Xprof output cpu profiling data

 输入CPU概要表数据

 

13、-Xfuture enable strictest checkshttp://, 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!

以上所述就是本文的全部内容了,希望大家对运行java的class文件的方法有了新的认识。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:浅谈EasyUI中编辑treegrid的方法
下一篇:使用命令对象代替switch语句的写法示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~