首页 > 编程语言 >Java编译和运行的命令

Java编译和运行的命令

时间:2024-08-02 09:06:55浏览次数:8  
标签:文件 java 命令 JAR HelloWorld 编译 Java

1.3 Java编译和运行的命令


目录


1.3.1 Java编译和运行的基础概念

  1. 源代码文件(.java)

    • 这是你写的Java代码,文件扩展名是.java
  2. 字节码文件(.class)

    • 这是经过编译后的文件,Java虚拟机(JVM)可以理解和执行的代码,文件扩展名是.class

1.3.2 基本步骤

1. 编译Java代码

编译的意思是把你写的源代码转换成JVM可以理解的字节码。使用javac命令来完成这个步骤。

  • 假设你有一个文件叫HelloWorld.java,里面写着:

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }
    
  • 要编译这个文件,你需要在命令行(或终端)中输入:

    javac HelloWorld.java
    

    执行完这条命令后,目录中会生成一个HelloWorld.class文件。

2. 运行编译后的代码

运行的意思是让JVM执行编译好的字节码。使用java命令来完成这个步骤。

  • 继续上面的例子,编译之后,我们得到了HelloWorld.class文件。

  • 现在,在命令行中输入:

    java HelloWorld
    

    这时,屏幕上会显示:

    Hello, World!
    

1.3.3 详细解释

  • javac HelloWorld.java

    • javac是Java编译器,它读取你写的Java源代码并检查语法错误。如果一切正常,它会生成一个或多个.class文件。
    • HelloWorld.java是你要编译的源文件。
  • java HelloWorld

    • java是Java的运行时命令,它启动JVM并执行指定的字节码。
    • HelloWorld是你要运行的类的名字,不需要加.class

1.3.4 常见问题

  1. 文件名和类名必须一致
  • 在Java中,公共类的名字必须和文件名一致。例如,如果类名是HelloWorld,文件名必须是HelloWorld.java
  1. 编译错误
  • 如果在编译过程中出现错误,javac会告诉你在哪行代码有问题以及是什么问题。你需要修正错误,然后重新编译。
  1. 类路径(classpath)

    • 有时,你的程序需要用到其他的库或类文件。你可以使用-cp选项来指定这些库或类文件的位置。例如:

      javac -cp someLibrary.jar HelloWorld.java
      java -cp someLibrary.jar:. HelloWorld
      

1.3.5 常用Java命令

  • javac

javac命令用于将Java源代码编译成Java字节码文件(.class文件),以便在Java虚拟机(JVM)上运行。

基本语法

javac [options] source_file(s)

使用示例

javac HelloWorld.java

参数说明

  • options:javac命令提供了多个选项来控制编译过程和生成的字节码文件的行为。可以使用javac -help查看所有选项及其说明。

  • source_file(s):指定要编译的源代码文件的路径。可以使用通配符(*)来编译整个文件夹中的所有Java文件。例如,javac *.java会同时编译当前目录中的所有Java文件。

常见选项

  • -d directory:指定编译生成的.class文件的输出目录。

  • -classpath path:指定可供编译器使用的类路径。

  • -source version:指定要编译的Java源代码的版本(例如,-source 8表示使用Java 8的语言功能进行编译)。

  • -target version:指定要生成的字节码文件的Java版本(例如,-target 1.8表示要生成适用于Java 8的字节码文件)。

  • -Xlint:启用编译器警告消息。

  • -verbose:显示编译器的详细输出信息。

javac命令是编写和编译Java代码的必备工具之一。掌握其用法可以帮助开发人员更好地进行Java开发和调试。

  • java

java命令用于启动Java虚拟机并执行Java程序。使用java命令可以在命令行中直接运行编译后的Java程序。

基本语法

java [options] class [args...]

使用示例

java HelloWorld

参数说明

  • options:Java命令提供了多个选项来控制Java虚拟机和应用程序的行为。可以使用java -help查看所有选项及其说明。

  • class:要运行的Java类名。

  • args…:传递给主方法的参数。这些参数将作为字符串数组传递给main()方法。

常见选项

  • -classpath path:指定Java虚拟机应该搜索类文件的路径。与javac编译器选项-cp相同。

  • -Xmx size:指定堆大小的最大值,以字节为单位。例如,-Xmx1024m表示堆大小的最大值为1024 MB。

  • -Xms size:指定初始堆大小,以字节为单位。

  • -version:查看Java版本信息。

  • -jar file:执行指定的JAR文件。

  • -Dproperty=value:设置系统属性。例如,-Djava.awt.headless=true表示启用无头模式。

java命令是Java开发和调试的重要工具之一。熟练掌握其用法可以帮助开发人员更好地编写和运行Java程序。

  • jar

jar命令用于创建和管理JAR格式的归档文件,也可以用于解压缩包和对JAR文件进行签名等操作。

基本语法

jar [options] archive_file file(s)

使用示例

jar cf myJar.jar *.class

参数说明

  • options:jar命令提供了多个选项来控制生成的JAR文件的内容和行为。可以使用jar -help查看所有选项及其说明。

  • archive_file:生成的JAR文件的名称。

  • file(s):需要添加到JAR文件中的文件或目录列表。

常见选项

  • c:表示新建一个JAR文件。

  • f:指定JAR文件的文件名以及可选路径

  • v:输出生成过程中处理的文件列表。

  • m:表示需要保留manifest文件。

  • x:从JAR文件中提取指定的文件。

  • t:列出JAR文件中存储的文件。

  • u: 更新现有的JAR文件中的文件。

  • i:为已有的JAR文件创建索引文件

使用jar命令还可以对JAR文件进行签名,以提高应用程序的安全性,防止被篡改。此外,在发布Java程序时,将代码打包成一个JAR文件也是很常见的做法,以便简化部署和分发过程。

jar命令是Java开发和部署的重要工具之一。熟练掌握其用法可以帮助开发人员更好地管理JAR文件和Java程序的部署。

标签:文件,java,命令,JAR,HelloWorld,编译,Java
From: https://www.cnblogs.com/hweiling/p/18337188

相关文章

  • Java跨平台原理
    1.4Java跨平台原理由源文件(.java)--->字节码文件(.class)(二进制文件)----->解释---->Unix,Win,Linux等机器。一次编译,到处运行编译器的作用:将源文件编译成class文件虚拟机的作用:将字节码文件解释成对应平台机器码并执行。java可以实现跨所有的平台?只有提供并且......
  • August 1st, Java Study Notes,static&non-static method
    IfollowedthevideoandrecordedsomeofitMostoftheideasarealreadyinthecomments,andtoputitbluntly,theyarethetranslatedwordspublicclassdog{publicintweight;//dog没有一个固定的weight,所以我们不使用static定义weight//定......
  • [Java基础]Integer
    在Java中,Integer类会对一些数值进行缓存,这样可以节省内存并提高性能。当你使用Integer.valueOf(int)方法来创建Integer对象时,对于数值在-128到127之间的整数,Java会返回缓存中的对象实例。因此,对于这些范围内的整数,用Integer.valueOf创建的Integer对象实际上会引用同......
  • Gromacs-2024.1 GPU版本编译,--以RockyLinux系统为例
    1、首先安装好gcc套件、gcc-toolset-9、cmake、nvidia_driver、cuda、openmpi等软件;2、解压gromacs的源码包;3、编译:a.节点内并行多线程版本,首先sclenablegcc-toolset-9bash加载gcc9以支持C++17特性,cdgromacs-2024.2&&mkdirbuild&&cmake…/-DGMX_BUILD_OWN_FF......
  • VSCode编译运行和调试C++
    VSCode编译运行和调试C++欢迎关注我的B站:https://space.bilibili.com/379384819欢迎交流学习,vx:18074116692参考教程:详解Linux下使用vscode编译运行和调试C/C++-知乎(zhihu.com)vscode是文本编辑而非集成开发环境,需要经过配置才能在其上编译执行代码。本教程将介绍如下内容......
  • SQL命令详解
    countCOUNT()函数COUNT()函数进行计数。可利用COUNT()确定表中行的数目或符合特定条件的行的数目。COUNT()函数有两种使用方式:使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。下面......
  • 基于JAVA的采购管理系统设计与实现
    点击下载源码基于JAVA的采购管理系统设计与实现摘要当今社会己进入信息社会时代,信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料、能源、信息)之一。信息是管理的基础,是进行决策的基本依据。在一个组织里,信息己作为人力、物力、财力之外的第四种能源,......
  • JavaWeb(10) HTTP协议
    一、HTTP协议1.定义        HTTP超文本传输协议(HTTP-HyperTexttransferprotocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器......
  • 【Java】链表
    1.含义链表是一种链式存储的线性表,所有元素的内存地址不一定是连续的 2.基本方法1.size():int    //返回链表长度2.isEmpty():boolean    //判空3.clear():void    //清除所有元素4.contains(Eelement):boolean  ......
  • TpmVscMgr.exe 命令行工具让具有管理凭据的用户能够在计算机上创建和删除 TPM 虚拟智
     tpmvscmgr|MicrosoftLearn tpmvscmgr命令行工具让具有管理凭据的用户能够在计算机上创建和删除TPM虚拟智能卡。 tpmvscmgrTpmVscMgr.exe 命令:    create        [/quiet]        /name<名称>       ......