JAVA命令
- 格式:doc
- 大小:32.00 KB
- 文档页数:3
java中的各种命令参数java中有很多命令参数,这些命令参数有些是控制jvm⾏为的,有的则是供应⽤程序使⽤。
我所了解的参数主要有三种,现在说⼀说这三种类型的参数。
(1)命令⾏参数。
命令⾏参数就是类似与c语⾔的命令⾏参数,这些参数会传给main函数,也就是java中public static void main(String[] args) 的那个String数组。
但是需要注意的是,c语⾔的main⾏数中传⼊的参数,arv[0]是程序本⾝的名字,⽐如program1 option1 option2,那么arv[0]就是program1本⾝。
但是java的命令函参数确实从0开始的,也就是说,java中的第⼀个命令⾏参数是的args[0],举个例⼦ java program1 option1 option2 运⾏⼀个java程序的话,args[0]获取到的是option1。
(2)系统属性参数系统属性参数也是供应⽤程序使⽤的,并且是以key=value这样的形式提供的,在程序的任何⼀个地⽅,都可以通过System.getProperty("key")获取到对应的value值。
在官⽅⽂档中对系统属性参数的描述是这样的:Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes:java -Dfoo="some string" SomeClass系统属性参数传⼊的时候需要带⼀个横杆和⼤写字母D,⽐如-Dfuck.abc="1234"这样的。
在你业务代码中,你就可以使⽤它了:System.getProperty("fuck.abc"),获取"1234"。
java -cp命令参数摘要:1.引言2.java -cp 命令简介3.-cp 参数的作用4.-cp 参数的格式和使用方法5.常见示例6.结论正文:在Java 编程中,我们常常需要使用各种命令行参数来执行Java 程序。
其中,`-cp`命令参数是一个非常重要的参数,用于指定Java 虚拟机(JVM)在运行时搜索类文件的目录。
今天,我们将详细介绍`-cp`命令参数的相关知识。
首先,我们来了解一下`-cp`命令的简介。
`-cp`是Java 命令行中用于指定类路径(classpath)的参数。
类路径是一个或多个目录,这些目录包含了Java 程序需要加载的类文件。
使用`-cp`参数可以帮助我们在运行Java 程序时正确地加载所需的类文件。
接下来,我们来看一下`-cp`参数的作用。
当我们在命令行中执行Java 程序时,JVM 会根据类路径中的目录顺序来加载类文件。
`-cp`参数可以帮助我们指定类路径,以确保JVM 能够正确地找到并加载所需的类文件。
如果没有使用`-cp`参数,JVM 将默认使用当前目录作为类路径。
现在,我们来了解一下`-cp`参数的格式和使用方法。
`-cp`参数的基本格式如下:```java -cp <classpath> <mainclass> [args]```其中:- `<classpath>`:指定类路径,可以是一个或多个目录,用分号(;)或冒号(:)分隔。
- `<mainclass>`:Java 程序的主类,即包含`main`方法的类。
- `[args]`:传递给`main`方法的参数,可以有多个,用空格分隔。
举个例子,假设我们有一个名为`HelloWorld`的Java 程序,它的主类位于`src`目录下,我们可以在命令行中使用以下命令来运行它:```java -cp .:libclasses.jar:jrelibt.jar HelloWorld```这个命令指定了类路径为当前目录(.)、lib 目录下的classes.jar 文件以及jre 目录下的rt.jar 文件。
java 命令行参数
Java 命令行参数是 Java 应用程序运行时输入的参数。
它们为
程序提供了更多信息,例如它可以用来配置程序的行为。
因此,主要
的应用程序必须支持命令行参数,以便它们可以以不同的形式运行起来。
当从命令行启动 Java 应用程序时,Java 虚拟机将会接收参数,然后传递给程序。
这些参数可以传入到程序中,程序会根据参数的值
来改变它的行为。
使用 Java 命令行参数的最常见的情况就是当启动应用程序时,
需要传入额外的参数来配置程序的行为。
例如,提供一个输出日志等
级的参数,它能够控制记录器输出那些日志消息。
另一个常见的情况
就是将一些配置文件传递给应用程序,以便它可以从文件中读取配置
信息。
此外,命令行参数并不仅仅限于 Java 应用程序,当运行其它应
用程序也可以传入参数,例如 C 语言程序。
命令行参数可以是标量值,也可以是复杂的对象类型,比如 JSON 对象。
总之,Java 命令行参数提供了一种方便快捷的方式来向应用程
序传递参数,这样就能更好地控制应用程序的行为,并为用户提供更
多的灵活性。
它可以帮助程序员创建更复杂、更丰富的应用程序而不
至于被复杂的命令行多参数参数而困扰。
java内存使用情况的命令Java是一种面向对象的编程语言,它在开发应用程序时需要使用内存来存储数据和执行代码。
因此,了解Java的内存使用情况对于开发人员来说是非常重要的。
Java虚拟机(JVM)负责管理Java应用程序的内存,它使用垃圾回收机制来自动管理内存的分配和释放。
JVM的内存可以分为以下几个部分:1. 堆(Heap):堆是Java程序运行时动态分配的内存区域,用于存储对象实例。
堆的大小可以通过命令行参数-Xmx和-Xms来设置。
-Xms表示JVM启动时初始分配的堆内存大小,-Xmx表示堆能够达到的最大内存大小。
2. 方法区(Method Area):方法区用于存储已加载的类信息、常量、静态变量等数据。
方法区的大小可以通过命令行参数-XX:PermSize和-XX:MaxPermSize来设置。
-XX:PermSize表示JVM启动时初始分配的方法区大小,-XX:MaxPermSize表示方法区能够达到的最大大小。
3. 栈(Stack):栈用于存储Java方法中的局部变量以及方法调用时的状态信息。
每个Java线程都有一个独立的栈,栈的大小是固定的,并且在线程创建时被分配。
栈的大小可以通过命令行参数-Xss来设置。
除了上述部分,JVM还会使用一些额外的内存空间,如直接内存(DirectMemory)和本地方法栈(Native Method Stack),用于存储一些特殊的数据和执行本地方法。
了解Java的内存使用情况对于定位内存泄漏和优化程序性能非常有帮助。
下面是几个常用的命令,可以用于监控和调整Java程序的内存使用情况:1. jps:该命令用于列出当前运行的Java进程,以及对应的进程ID。
2. jstat:该命令用于监控Java虚拟机的各种运行状态,包括堆的使用情况、类加载数量、垃圾回收情况等。
常用的参数包括-jstat -gcutil <pid>和-jstat-gccapacity <pid>。
在深入探讨javac和java命令使用前,让我们先从简单的概念开始。
Javac和java命令是Java编程语言中常用的两个命令,它们分别用于编译和运行Java程序。
1. javac命令Javac命令是Java编译器命令,用于将Java源代码文件(.java)编译成Java字节码文件(.class)。
在命令行中使用javac命令可以将Java源文件编译成可执行的Java字节码文件。
使用javac命令时,需要先设置好Java环境变量,并且在命令行中指定要编译的Java源文件的路径和文件名。
例如:```javac HelloWorld.java```这条命令将会编译HelloWorld.java文件,生成HelloWorld.class文件,这个.class文件就是Java程序的可执行文件,可以在Java虚拟机上运行。
2. java命令Java命令是用于运行已经编译好的Java程序的命令。
在命令行中使用java命令可以执行Java字节码文件,从而运行Java程序。
使用java命令时,需要在命令行中指定要运行的Java类的全名(包括包路径)。
例如:```java.example.HelloWorld```这条命令将会在Java虚拟机上运.example包下面的HelloWorld类。
通过java命令,我们可以执行已经编译好的Java程序,实现各种功能。
总结回顾通过以上简要介绍,我们了解到了javac和java命令的基本用法和作用。
我们知道,javac命令用于编译Java源代码文件,生成Java字节码文件;而java命令则用于在Java虚拟机上执行已经编译好的Java程序。
这两个命令是Java程序开发和运行过程中不可或缺的重要工具。
个人观点和理解作为Java程序员,熟练掌握javac和java命令的使用是非常重要的。
通过使用这两个命令,我们可以将自己编写的Java程序编译成可执行文件,并且在Java虚拟机上运行。
java 命令参数Java命令参数Java是一种广泛使用的编程语言,它被用于开发各种类型的应用程序。
Java命令参数是指在运行Java程序时传递给JVM的参数。
这些参数可以控制JVM的行为,从而影响Java程序的执行。
Java命令参数分为两类:标准参数和非标准参数。
标准参数是由JVM 定义并且在所有平台上都可用的,而非标准参数则是由各个JVM厂商定义并且只能在特定平台上使用。
一、标准参数1. -version该参数用于显示当前JVM版本信息。
2. -help该参数用于显示JVM支持的所有命令行选项和默认值。
3. -server该参数用于启动服务器模式。
在服务器模式下,JVM会尽可能地优化代码执行速度,但会牺牲一些启动时间。
4. -client该参数用于启动客户端模式。
在客户端模式下,JVM会更注重启动时间,并且会尽可能地优化内存使用。
5. -Xms<size>该参数用于设置堆的初始大小。
例如,“-Xms256m”表示将初始堆大小设置为256MB。
6. -Xmx<size>该参数用于设置堆的最大大小。
例如,“-Xmx1024m”表示将最大堆大小设置为1GB。
7. -XX:PermSize=<size>该参数用于设置永久代的初始大小。
例如,“-XX:PermSize=64m”表示将初始永久代大小设置为64MB。
8. -XX:MaxPermSize=<size>该参数用于设置永久代的最大大小。
例如,“-XX:MaxPermSize=256m”表示将最大永久代大小设置为256MB。
9. -Xss<size>该参数用于设置线程栈的大小。
例如,“-Xss512k”表示将线程栈大小设置为512KB。
10. -verbose[:class|gc|jni]该参数用于启用详细输出。
例如,“-verbose:class”表示在加载类时输出详细信息。
11. -D<name>=<value>该参数用于设置系统属性。
java命令大全java命令大全2019-05-14 08:08、java.exe:==运行java程序,这个相信每一位用Java的人知道了。
2、javac.exe:==编译的Java程序,生成.class文件3、javaw.exe:==功能:跟java命令相对的,可以运行.class文件,主要用来执行图形界面的java程序运行java命令时,会出现并保持一个console窗口,程序中的信息可以通过System.out在console内输出,而运行javaw,开始时会出现console,当主程序调用之后,console就会消失;javaw大多用来运行GUI程序4、javah==功能说明:C头文件和Stub文件生成器。
javah从Java类生成C头文件和C源文件。
这些文件提供了连接胶合,使Java和C代码可进行交互。
语法:javah[命令选项]fully-qualified-classname...javah_g[命令选项]fully-qualified-classname...补充说明:javah生成实现本地方法所需的C头文件和源文件。
C程序用生成的头文件和源文件在本地源代码中引用某一对象的实例变量。
.h文件含有一个struct定义,该定义的布局与相应类的布局平行。
该struct中的域对应于类中的实例变量。
头文件名以及在头文件中所声明的结构名都来源于类名。
如果传给javah 的类是在某个包中,则头文件名和结构名前都要冠以该包名。
下划线(_)用作名称分隔符。
缺省情况下,javah为每个在命令行中列出的类都创建一个头文件,且将该文件放在当前目录中。
用-stubs选项创建源文件。
用-o选项将所有列出类的结果串接成一个单一文件。
缺省情况下,javah为每个在命令行中列出的类都创建一个头文件,且将该文件放在当前目录中。
用-stubs选项创建源文件。
用-o选项将所有列出类的结果串接成一个单一文件。
命令选项-o[输出文件]将命令行中列出的所有类的头文件或源文件串接到输出文件中。
Java命令详解Java是通过java虚拟机来装载和执⾏编译⽂件(class⽂件)的,java虚拟机通过命令java option 来启动,-option为虚拟机参数,通过这些参数可对虚拟机的运⾏状态进⾏调整. ⼀、如何查看参数列表: 虚拟机参数分为基本和扩展两类,在命令⾏中输⼊java 可得到基本参数列表,java X则可得到扩展参数列表。
注:以上假设已经把JAVA_HOME\bin路径加⼊到了path路径 ⼆、基本参数说明: 1. -classpath,-cp 虚拟机在运⾏⼀个类时,需要将其装⼊内存,虚拟机搜索类的⽅式和顺序如下: Bootstrap classes,Extension classes,User classes。
Bootstrap中的路径是虚拟机⾃带的jar或zip⽂件,虚拟机⾸先搜索这些包⽂件,⽤System.getProperty("sun.boot.class.path")可得到虚拟机搜索的包名。
Extension是位于jre"lib"ext⽬录下的jar⽂件,虚拟机在搜索完Bootstrap后就搜索该⽬录下的jar⽂件。
⽤System. getProperty("java.ext.dirs”)可得到虚拟机使⽤Extension搜索路径。
User classes搜索顺序为当前⽬录、环境变量 CLASSPATH、-classpath。
-cp 和 -classpath 是同义词,参数意义是⼀样的。
classpath参数太长了,所以提供cp作为缩写形式,它们⽤于告知虚拟机搜索⽬录名、jar⽂档名、zip⽂档名,之间⽤分号;分隔。
例如当你⾃⼰开发了公共类并包装成⼀个common.jar包,在使⽤ common.jar中的类时,就需要⽤-classpath common.jar 告诉虚拟机从common.jar中查找该类,否则虚拟机就会抛出ng.NoClassDefFoundError异常,表明未找到类定义。
java 命令参数一、概述在Java编程中,命令参数是一种通过命令行传递给Java虚拟机(JVM)的参数。
这些参数可用于控制Java程序的行为,包括程序的启动参数、内存管理、调试和性能分析等。
Java命令参数在开发和部署Java应用时非常重要,正确的使用和配置能够有效提高程序的性能和可维护性。
二、常用Java命令参数以下是一些常用的Java命令参数:1. 启动参数•-classpath:指定程序的类路径,用于加载程序所需的类文件。
•-Dproperty=value:设置系统属性,可以在程序中通过System.getProperty(String key)获取。
•-Xmx<size>:指定JVM堆内存的最大值。
•-Xms<size>:指定JVM堆内存的初始大小。
2. 垃圾回收参数•-XX:+UseSerialGC:使用串行垃圾回收器。
•-XX:+UseParallelGC:使用并行垃圾回收器。
•-XX:+UseConcMarkSweepGC:使用并发标记-清除垃圾回收器。
•-XX:+UseG1GC:使用G1垃圾回收器。
3. 调试参数•-Xdebug:启用调试模式,程序会暂停等待调试器连接。
•-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<address>:远程调试参数,允许远程调试Java程序。
4. 性能分析参数•-Xprof:启用性能分析,程序会输出运行时的性能统计信息。
•-Xmx<size>:指定JVM堆内存的最大值。
三、常见使用场景和示例1. 指定类路径在执行Java程序时,可以通过-classpath参数指定程序所需的类路径。
例如:java -classpath mylib.jar:myclasses com.example.MyProgram这个命令会将mylib.jar和myclasses目录添加到类路径中,并执行com.example.MyProgram类。
java命令大全在Java中,可以使用许多命令来编译、运行和调试Java程序。
以下是一些常见的Java命令:1. `java`:用于运行Java程序。
例如:`java HelloWorld`将运行名为`HelloWorld`的Java程序。
2. `javac`:用于将Java源代码编译为Java字节码文件。
例如:`javac HelloWorld.java`将编译名为`HelloWorld.java`的Java源代码文件。
3. `jar`:用于创建和管理Java归档文件。
例如:`jar cvf MyJar.jar MyClass.class`将创建一个名为`MyJar.jar`的归档文件,并将`MyClass.class`添加到其中。
4. `javadoc`:用于生成Java文档。
例如:`javadoc MyPackage/*.java`将生成`MyPackage`中所有Java文件的文档。
5. `javap`:用于反汇编Java字节码文件。
例如:`javap MyClass`将显示与名为`MyClass`的类关联的字节码。
6. `jarsigner`:用于对已签名的Java应用程序和程序包进行签名和验证。
例如:`jarsigner -sign MyJar.jar keyAlias`将对`MyJar.jar`进行签名。
7. `jdb`:Java调试器的命令行界面。
例如:`jdb MyProgram`将使用`jdb`调试名为`MyProgram`的Java程序。
8. `jrunscript`:用于在命令行上运行脚本的命令。
例如:`jrunscript MyScript.js`将运行名为`MyScript.js`的JavaScript脚本。
9. `jps`:用于列出当前正在运行的Java进程。
例如:`jps -l`将列出所有Java进程的进程ID和类路径。
这只是一小部分常用的Java命令清单,Java还有许多其他命令用于不同的目的。
主要介绍java和java c命令的使用,分带package和不带package,如果要用到第3方包,则使用-classpath参数
1.不带package
Hello.java
public class Hello
{
public static void main(String[] args){
System.out.println("hello");
}
}
c:/java/hello/Hello.java
编译
c:/java/hello>java c Hello.java
生成class文件
c:/java/hello/Hello.class
运行
c:/java/hello>java Hello
2.带package的情况
源文件应按包目录放好,这绝对是个好习惯
Hello.java
package my;//注意该句
public class Hello
{
public static void main(String[] args){
System.out.println("hello");
}
}
c:/java/hello/my/Hello.java
编译
c:/java/hello/my>java c Hello.java
生成class文件
c:/java/hello/my/Hello.class
运行
c:/java/hello>java my.Hello
3.-classpath参数的使用
java c -classpath .;jar01.jar;jar02.jar;……;jarN.jar class_name.jav a
java -classpath .;jar01.jar;j ar02.jar;……;jarN.jar main_class_name
心得感想:package间的分隔符必须为“.”,,如果出现java的“main”中找不到main class异常,即NoClassDefFindError时,按如下过程排查:
1、你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。
如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!
3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!
这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。
后来才弄明白,应该是java HelloWorld。
4、设置了classpath了吗?
不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。
比如d:\class目录。
设置classpath=%classpath%;d:\class
那么,现在将HelloWorld.class文件COPY到d:\class目录下,再
java HelloWorld应该就OK了。
5、结合第3点和第4点
如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到
d:\class\sony\test\目录下。
执行的时候应该参考第3点中说的,按类名执行:
java sony.test.HelloWorld。
环境变量设置说明:
1,设置JAVA_HOME:
一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.
2,设置CLASSPATH:
这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子: 你编译一个JAVA程序
---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置
CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:\"再运行java A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!
3,设置PATH:
道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH 路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.)
一个例子:
(1):
JAVA_HOME
D:\Java\jdk1.6.0_16
CLASSPATH
D:\Java\jdk1.6.0_16\bin;.;D:\Java\jdk1.6.0_16\lib;D:\Java\jdk1.6.0_16 \lib\dt.jar;D:\Java\jdk1.6.0_16\lib\tools.jar
PATH
D:\Java\jdk1.6.0_16;.;D:\Java\jdk1.6.0_16\bin
(2)
JAVA_HOME=D:\Java\jdk1.6.0_16
Path=.;%JAVA_HOME%\bin;
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。