运行java的class文件方法详解

时间:2022-03-03 15:03:45

一、运行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文件方法详解的更多相关文章

  1. Java中的main&lpar;&rpar;方法详解

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...

  2. 使用Java操作文本文件的方法详解

    使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ...

  3. Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  4. POI以SAX方式解析Excel2007大文件&lpar;包含空单元格的处理&rpar; Java生成CSV文件实例详解

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  5. java&period;lang&period;Class&period;getDeclaredMethod&lpar;&rpar;方法详解

    Java.lang.Class.getDeclaredMethod()方法用法 注:方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法. 描述 java.lang.C ...

  6. 转:Java中的Clone&lpar;&rpar;方法详解

    Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  7. Java equals&lpar;&rpar; 和hashCode&lpar;&rpar;方法详解

    Java的Object类中定义了equals方法,Object类中的equals方法源代码如下,从源代码中可以看出Object类中的equals方法是用来返回判断两个对象是否指向同一个对象(引用地址) ...

  8. java的ArrayList使用方法详解

    ArrayList是Java的链表类,在项目开发中十分常见,那么怎样对ArrayList进行添加.删除.修改.查询.遍历呢?本文将进行详细阐述. 工具/原料   java 一.ArrayList的添加 ...

  9. Java连载39-构造方法详解

    ​一. 1.多行注释:CTRL + shift + / 2.当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器. public class D39 ...

随机推荐

  1. Openxml 笔记

    用openxml 生成Excel: private void GenerateExcelUsingOpenxml(DataTable dataTable, string GeneratePath)   ...

  2. K3中添加的一条新数据,其在数据库中的位置

    最近研究将K3系统与生产管理系统结合起来,减少工作量,但如何确定其各自后台数据库的构成,其对应数据各自位于那张表内,总结了一下: 1.从百度搜索,查看表结构,然后找到目标表    另:K3数据库中单独 ...

  3. img下出现几像素空白的问题

    先看一个例子和效果,应该就会明白我的问题了. <meta http-equiv="Content-Type" content="text/html; charset ...

  4. Entity Framework只entity与DbContext的分离

    说明:以下例子采用的是DB first的模式 在之前的webform开发模式中我们习惯性性的会建立这样的一些类库:Model.DAL.BLL...但是在用了EF以后,我们创建的ADO.NET实体数据模 ...

  5. jQuery 实验教程

    jQuery 实验教程 jQuery 简介.语法及事件处理 jQuery 以其特有的简练的代码风格,极大得改变了 JavaScript 代码编写的方式.本教程以实例代码为基础,讲解 jQuery 的使 ...

  6. 在Windows8工作站上安装可靠多播协议

    为什么要安装可靠多播协议?   答:随着因特网的发展,出现了视频点播.电视会议.远程学习.计算机协同工作等新业务.传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低.一种有效利用现有带宽的技术 ...

  7. Android得到控件在屏幕中的坐标

    getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 getLocationInWi ...

  8. &period;net core中加载lua脚本的类库&colon; MoonSharp

    前言 MoonSharp是一个支持C#调用lua脚本的类库,支持.net, .net core, mono, unity,因此在.net core中也能够使用,而且加载和调用lua也很方便简单: 官网 ...

  9. sql将一列数据拼成一个字符串的方法

    SELECT STUFF(CONVERT(VARCHAR(500), ( SELECT TOP 10 ',' + BG_Country FROM dbo.BS_Budget FOR XML PATH( ...

  10. JavaScript解决select下拉框中的内容太长显示不全的问题

    JavaScript解决select下拉框中的内容太长显示不全的问题 1.说明 有些情况下,select下拉框的内容过长,导致部分看不见: 现在通过鼠标事件,让下拉框中的内容显示完全 2.实现源码 & ...