一、运行class文件
执行带main方法的class文件,Java虚拟机命令参数行为:
java <CLASS文件名>
注意:CLASS文件名不要带文件后缀。class
例如:
java Test
如果执行的class文件是带包的,即在类文件中使用了:
package <包名>
那应该在包的基路径下执行,Java虚拟机命令行参数:
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'
注
:Windows 和UNIX 上使用java –cp 命令的一点小小区别
Windows:
java -cp xxx.jar;
yyy.jar x.y.c.startClass
UNIX:
java -cp xxx.jar:
yyy.jar x.y.c.startClass
[转自
:http://java.chinaitlab.com/Jvm/790522.html
]
分享到:
相关推荐
这两个命令行参数中的 size 可以带单位,例如:256m 表示 256MB。 例如,要设置 Java 虚拟机初始化时使用的内存为 128MB,可使用的最大内存为 256MB,可以使用以下命令:java -Xms128m -Xmx256m。 对于 Tomcat,...
- **命令参数解析模块**:解析启动MiniJavaVM时传递的命令行参数。 - **类的装载和解析模块**:实现类文件的装载与解析。 - **内存管理模块**:负责内存的分配和回收。 - **执行引擎模块**:解释执行字节码指令。 - ...
Java虚拟机(JVM,Java Virtual Machine)是Java平台的核心组成部分,它负责解析和执行Java字节码,使得Java程序可以在任何支持JVM的设备上运行,实现了“一次编写,到处运行”的目标。在Windows CE(简称WINCE)...
Runtime类代表Java虚拟机的运行时环境,它提供了与Java虚拟机交互的方法,包括执行外部程序。Process类则表示Java程序启动的另一个进程,它可以提供与这个进程交互的能力。 调用Windows命令行的基本方法是使用...
Java虚拟机的内存主要由以下几个区域构成: 1. **堆内存(Heap)**:这是JVM管理的最大块内存区域,用于存储所有对象实例以及数组。堆内存又分为年轻代(Young Generation)和老年代(Old Generation),年轻代进一步细分...
在深入探讨具体的命令行参数之前,我们需要了解几个核心概念: - **工作区**:工作区是 Eclipse 项目存储的物理位置,每个工作区都是独立的,可以包含多个项目。 - **平台选项**:这些选项用于控制 Eclipse 启动时的...
本笔记将从以下几个方面详细介绍JVM: 1. **JVM架构** - 类加载子系统:负责加载、验证、准备、解析和初始化类。 - 运行时数据区:包括程序计数器、虚拟机栈、本地方法栈、堆和方法区。 - 执行引擎:负责执行...
- **概述**:JVM内存结构主要包括堆区、栈区、程序计数器、本地方法栈、方法区等几个部分。 - **堆区**:用于存放对象实例和数组。 - **栈区**:用于线程私有的局部变量、操作数栈等。 - **程序计数器**:记录...
总的来说,Java Launcher是Java程序执行的起点,它连接了操作系统和Java虚拟机,协调了从命令行参数解析到主类执行的整个过程,是Java平台不可或缺的一部分。深入理解和掌握Java Launcher的工作原理对于任何Java...
关于内存泄漏的预防和处理,有几个关键点需要把握。首先,在编写代码时应该尽量避免静态集合持有大量数据,避免创建不必要的对象,尤其是在循环中。其次,对于第三方库和框架,我们应该选择信誉良好并且定期更新的...
JavaLauncher的工作原理主要分为以下几个步骤: 1. **包装Java应用**:JavaLauncher将Java主类(通常包含在MANIFEST.MF文件中指定的`Main-Class`属性)及其依赖的类库打包成一个独立的.exe文件。这个过程包括对所有...
main 函数的定义必须满足以下几个条件:必须是公有的,以便 JVM 可以在任何位置访问到它;必须是静态的,因为它不能依赖于任何该类的实例对象;没有返回值,因为 Java 程序默认情况下都是正常结束的,而不是像 C/C++...
1. **command.txt.bak**:这是command.txt文件的备份,可能包含了执行Java程序作为服务时所需的命令行参数和Java虚拟机(JVM)设置。备份文件的存在是为了防止误操作,保留原始配置。 2. **JavaService_x64.exe**:...
Java是一门广泛使用的编程语言,它是平台无关的,即一次编写,到处运行。...通过命令行参数的组合使用,开发者可以精细地控制Java程序的编译和运行过程,优化程序性能,并且能够及时地定位和解决运行时的问题。
* Java Runtime Environment(JRE):提供了 Java 应用程序的运行环境,包括 Java 虚拟机、类加载器、security manager 等组件。 * Java Standard Edition(Java SE):提供了 Java 语言的标准实现,包括 Java 语言...
数组中的每个字符串代表一个命令行参数。 当执行一个Java程序时,JVM会进行以下步骤: 1. **编译**:首先,Java源代码(.java文件)需要通过Javac编译器编译成字节码(.class文件)。 2. **加载**:然后,JVM加载...
Java2Exe的工作原理是将JAR文件与Java虚拟机(JVM)打包在一起,形成一个独立的可执行文件。这样,当用户双击.exe文件时,程序会自动启动JVM并执行其中的Java代码,而无需用户手动安装JRE。此外,Java2Exe还允许...
默认情况下,Java会使用JVM(Java虚拟机)的默认时区来解析和显示日期和时间。 当出现Java获取时间与实际相差8小时的情况,这通常是因为JVM的默认时区设置为UTC(协调世界时),而你的本地时区可能是东八区(中国...
Java虚拟机(JVM)是Java平台的核心组成部分,它负责执行字节码,为Java程序提供跨平台的运行环境。在深入理解JVM内核的运行机制时,我们需要关注以下几个关键点: 1. **类加载机制**:JVM通过类加载器将类文件加载...