运行java的class文件方法详解

 更新时间:2015年02月28日 14:51:45   投稿:hebedich  
这篇文章主要详细介绍了运行java的class文件方法的相关资料,需要的朋友可以参考下

一、运行class文件

执行带main方法的class文件,命令行为:
java <CLASS文件名>
注意: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 <jar文件名>即可。
        例如:执行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:<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!

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

相关文章

  • java实现ATM机系统(2.0版)

    java实现ATM机系统(2.0版)

    这篇文章主要为大家详细介绍了java实现ATM机系统2.0版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • 一篇文章带你了解Maven的生命周期

    一篇文章带你了解Maven的生命周期

    这篇文章主要为大家介绍了Maven的生命周期 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Java使用Semaphore对单接口进行限流

    Java使用Semaphore对单接口进行限流

    本篇主要讲如何使用Semaphore对单接口进行限流,主要有三种方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Java复制(拷贝)数组的五种方法汇总

    Java复制(拷贝)数组的五种方法汇总

    java基础在Java中我们经常需要复制一个数组,下面这篇文章主要给大家介绍了关于Java复制(拷贝)数组的五种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Spring事务管理方法步骤解析

    Spring事务管理方法步骤解析

    这篇文章主要介绍了Spring事务管理方法步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Java基础学习之字符缓冲流的应用

    Java基础学习之字符缓冲流的应用

    这篇文章主要为大家详细介绍了Java基础中的字符缓冲流的相关应用,例如复制Java文件等,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一
    2022-09-09
  • java.lang.OutOfMemoryError: Metaspace异常解决的方法

    java.lang.OutOfMemoryError: Metaspace异常解决的方法

    这篇文章主要介绍了java.lang.OutOfMemoryError: Metaspace异常解决的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • MybatisPlus的LambdaQueryWrapper用法详解

    MybatisPlus的LambdaQueryWrapper用法详解

    LambdaQueryWrapper<Tag> 是 MyBatis-Plus 框架中的一个功能强大的查询构造器,它用于构建 SQL 查询条件,具有一定的参考价值,感兴趣的可以了解一下
    2024-10-10
  • Eclipse中如何显示explorer过程解析

    Eclipse中如何显示explorer过程解析

    这篇文章主要介绍了Eclipse中如何显示explorer过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 简单了解Java字符串(操作)

    简单了解Java字符串(操作)

    这篇文章主要介绍了Java字符串(操作),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面小编和大家一起来学习吧
    2019-05-05

最新评论