美文网首页
java超快速入门(一):HelloWorld

java超快速入门(一):HelloWorld

作者: 自我De救赎 | 来源:发表于2021-03-13 17:56 被阅读0次

本章知识点来源:java零基础视频教学10~18课

基础知识

JAVA加载与执行

  • java程序运行包括两个阶段
    • 编译阶段
    • 运行阶段

编译阶段

  • 检查源程序(.java)是否符合语法规则
  • 生成字节码文件(.class)
  • 编译命令javac
javac 命令
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名

运行阶段

  • 运行阶段过程
    • java命令启动java虚拟机(JVM)
    • jvm启动类加载器ClassLoader
    • classLoader找到类文件,并加载到JVM中
    • JVM将类文件解析成二进制码,并与操作系统及硬件平台交互,执行程序
  • 使用java命令运行java字节码
java命令
用法: java [-options] class [args...]
           (执行类)
   或  java [-options] -jar jarfile [args...]
           (执行 jar 文件)
其中选项包括:
    -d32      使用 32 位数据模型 (如果可用)
    -d64      使用 64 位数据模型 (如果可用)
    -server   选择 "server" VM
                  默认 VM 是 server,
                  因为您是在服务器类计算机上运行。


    -cp <目录和 zip/jar 文件的类搜索路径>
    -classpath <目录和 zip/jar 文件的类搜索路径>
                  用 : 分隔的目录, JAR 档案
                  和 ZIP 档案列表, 用于搜索类文件。
    -D<名称>=<值>
                  设置系统属性
    -verbose:[class|gc|jni]
                  启用详细输出
    -version      输出产品版本并退出
    -version:<值>
                  警告: 此功能已过时, 将在
                  未来发行版中删除。
                  需要指定的版本才能运行
    -showversion  输出产品版本并继续
    -jre-restrict-search | -no-jre-restrict-search
                  警告: 此功能已过时, 将在
                  未来发行版中删除。
                  在版本搜索中包括/排除用户专用 JRE
    -? -help      输出此帮助消息
    -X            输出非标准选项的帮助
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  按指定的粒度启用断言
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  禁用具有指定粒度的断言
    -esa | -enablesystemassertions
                  启用系统断言
    -dsa | -disablesystemassertions
                  禁用系统断言
    -agentlib:<libname>[=<选项>]
                  加载本机代理库 <libname>, 例如 -agentlib:hprof
                  另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
    -agentpath:<pathname>[=<选项>]
                  按完整路径名加载本机代理库
    -javaagent:<jarpath>[=<选项>]
                  加载 Java 编程语言代理, 请参阅 java.lang.instrument
    -splash:<imagepath>
                  使用指定的图像显示启动屏幕
有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。

JDK、JRE及JVM

  • JDK-java development kit(java开发工具包,因为开发时也需要运行调试,所以一般会包含JRE,但实际上生产环境部署时不需要安装jdk,安装jre就可以了)
  • JRE-java runtime environment(java运行时环境)
  • JVM-java virtual machine(java虚拟机,属于运行环境(JRE)的一部分)

HelloWorld

新建java源程序

  • 新建一个HelloWorld.java文件
  • 编写源代码
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("HelloWorld!");
    }
}

编译HelloWorld程序

  • 将class文件生成至指定目录
javac -d <指定class目录> HelloWorld.java

运行HelloWorld程序

cd <指定class目录>
java HelloWorld

注意: java命令后面跟的是类名,不是class文件的相对路径,不要写成:
java <指定class目录>/HelloWorld.class

相关文章

网友评论

      本文标题:java超快速入门(一):HelloWorld

      本文链接:https://www.haomeiwen.com/subject/viiafltx.html