java的加载与运行

Wesley13
• 阅读 423

jdk中有一个javac.exe(java编译器)

*Java程序的运行包括两非常重要的阶段

 -编译阶段

 -运行阶段

*编译阶段

 -主要任务是检查Java源程序是否符合Java语法

符合Java语法则能够生成正常的字节码文件(xx.class)

不符合Java语法规则则无法生成字节码文件

 -字节码文件中不是纯粹的二进制,这种文件无法在操作系统当中直接执行。

 -编译阶段的过程:

  *程序员需要在硬盘的某个位置随意新建一个.java扩展名的文件,

  该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。

  而这个源程序是不能随意编写,必须符合Java语法规则<Java语法规则是需要记忆的>

  *Java程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译。

  javac怎么用呢?在哪用呢?

    -在DOS命令窗口中使用

    -javac的使用规则:

         【javac java源文件的路径】

   javac是一个java编译器工具/命令。

   *一个java源文件可以编译生成多个.class文件

  *字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行。

   但是一般java源程序不要删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头重新修改java源程序,

  然后将java源程序重新编译生成新的class文件,然后在运行这个class程序,生成新的效果。

  *编译结束之后,可以将class文件拷贝到其他操作系统当中运行。【跨平台】

 *运行阶段

  -JDK安装之后。除了自带一个javac.exe之外,还有另一个工具/命令,叫做java.exe,java.exe命令主要负责运行阶段

  -java.exe在哪里用?怎么用?

    -在DOS窗口使用

     -java.exe怎么用呢?

      【java 类名】

          例如:

          磁盘上有一个A.class ,那么就这么用:java A

          磁盘上有一个B.class ,那么就这么用:java B

          千万要注意:不要写成这样:java A.class【这种方式是错误的,大家记住】  

      -运行阶段的过程是:

        *打开DOS命令窗口

        *输入:java  A

        *java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader

        *ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中。

        *JVM将A.class字节码文件解释成二进制1010101010这样的数据。

        *然后操作系统执行二进制和底层硬件平台进行交互。

点赞
收藏
评论区
推荐文章
限时发布!纯手打“RocketMQ笔记”
1JVM的内存区域布局java代码的执行步骤有三点java源码文件编译器字节码文件字节码文件JVM机器码机器码系统CPU执行JVM执行的字节码需要用类加载来载入;字节码文件可以来自本地文件,可以在网络上获取,也可以实时生成。就是说你可以跳过写java代码阶段,直接生成字节码交由JVM执行其中Jav
Wesley13 Wesley13
2年前
java类的加载与加载器
java代码在计算机中经历的三个阶段:1.Source源代码阶段(代码还是在硬盘上,并没有进入内存)  Student.java通过javac编译Student.class字节码文件2.类加载器ClassLoader将字节码文件加载进入内存,成为Class类对象(成员变量Field\\fields、构造方法Const
Wesley13 Wesley13
2年前
java基础知识之JVM
JVM是运行java字节码的虚拟机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。运行:java源文件编译器字节码文件字节码文件JVM机器码,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数
Wesley13 Wesley13
2年前
Java基础语法
基础:  编译(将java语言翻译成JVM的字节码)运行(JVM运行)javac.exe编译java.exe运行。用记事本写HelloWorld,文件内部的class名要和文件名一样。启动cmd,切换到程序所在的父目录H:\\java\\dir可以查看文件javac以后会产生一个.class文件!(https://os
Wesley13 Wesley13
2年前
Java程序运行机制及开发环境
Java既是编译型语言,又是解释型语言java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码运行。Java虚拟机JVM不同平台上的JVM不同,但是都提供了相同的接口。开发Java准备1.下
Wesley13 Wesley13
2年前
Java是如何实现跨平台的
一.Java是如何实现跨平台的1.我们编写的Java源码,编译后会生成一种.class文件,称为字节码文件2.Java虚拟机JVM就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。!(https:/
Wesley13 Wesley13
2年前
1.0Java基础入门【第一个java程序与注释】
第一个Java程序1.安装JRE,JDK,配置环境变量2.创建编写一个java文件,编译生成字节码文件(.class),最后运行javachelloworld.java注:windows下不区分大小写javahelloworld\_以下代码是在IDEA编辑器中
Wesley13 Wesley13
2年前
Java虚拟机(一):JVM简介
JVM简介Java虚拟机(JVM)是由Java虚拟机规范定义的,其上运行的是字节码指令集。这种字节码指令集包含一个字节的操作码(opcode),零至多个操作数(oprand),虚拟机规范明确定义了每种字节码指令完成的功能是什么以及需要多少个操作数。Java虚拟机上运行的class文件,这个文件中包含字节码指令流以及类定义的信息,所以Java虚
Wesley13 Wesley13
2年前
Java字节码增强探秘
1.字节码1.1什么是字节码?Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看出字节码对于Java生态的重要性。之所以被称之为字节码,是因为字节码文件由十六进制值组成,
Wesley13 Wesley13
2年前
Java 虚拟机中的运行时数据区分析
本文基于JDK1.8阐述分析运行过程我们都知道Java源文件通过编译器编译后,能产生相应的.Class文件,也就是字节码文件。而字节码文件通过Java虚拟机中的解释器,编译成特定机器上的机器码。跨平台的特性!在这里插入图片描述(https://imgblog.csdnimg.c