Mosh_Java笔记 P1-1.1
- 方法
- 方法的定义:访问修饰符+返回值类型+方法名+(参数列表)+
- java 代码是如何运行的?
- 两个步骤:
1.编译(源代码经过java compiler执行后生成JVM可以理解的字节码文件)
2.运行(由JVM执行字节码文件)
- 以Hello.java的运行举例:
-
首先hello.java文件,经过java编译器(命令为javac+完整的.java路径文件)生成JVM可以识别的.class字节码文件,再由JVM运行字节码文件转换为计算机可以识别的机器码执行(命令为java+.class文件)。
-
在一开始,hello.java存放在硬盘中,编译器运行生成后的字节码文件也是存于硬盘当中。而当字节码文件一旦执行,jvm就会创建一个进程,调用其自身的字节码执行引擎,来将这些类的内容加载进入内存,所以程序想要运行,必须由JVM将内容加载进入内存,进入内存的内容都是以二进制的形式存在。
1.javac-version -结果显示的是JDK的版本
2.java-version -结果显示的是jvm的版本
JVM运行原理
- JIT的出现
在部分商用虚拟机中(如HotSpot),Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(Just In Time Compiler,下文统称JIT编译器)。