Java 基础
Java 概述
Java 是一种跨平台的,面向对象的编程语言
在这小节中要了解的知识有 JDK、JRE、JVM 以及一些java命令行操作。
JDK 、JRE 、JVM
先上张图片
(图片是百度上搜的,侵删)
-
JDK (Java Development Kits) Java 开发工具包
- 学习java的都会先安装一个JDK,里面包含了四个目录。
- bin 目录:存放着一些可执行的二进制可执行文件,最主要的就是编译器。
- include 目录:java和jvm交互用的头文件
- lib :类库
- jre :java运行时环境(由此和上图可见,JDK中包含JRE)[jdk11之后的版本没有jre这个目录了,被合并了]
- 学习java的都会先安装一个JDK,里面包含了四个目录。
-
JRE (Java Runtime Environment) Java 运行时环境
- 可以运行java程序
- 是一个运行时环境,并不是一个开发环境,里面没有包含任何的开发工具(如编译器和调试器)
-
JVM (Java Virtual Machine) Java虚拟机
- java 可以跨平台的原因
- 所有的java程序首先被编译为.class文件,这种类文件可以在虚拟机上运行,也就是说class并不直接与机器的操作系统相对应。而是经过虚拟机间接的与操作系统交互,由虚拟机将程序解释给本地系统执行,只有jvm还不能将class执行,因为在解释class的时候jvm需要调用解释所需要的类库lib,而jre包含lib类库,jvm屏蔽了具体操作系统平台的相关信息,使得java程序只需要生成在java虚拟机上运行的目标代码。可以在多种平台(操作系统)上不加修改的运行
- 理一下思路,java程序被编译成为class文件,然后通过jvm解释给本地系统执行。操作系统多种多样,如何使得java程序在不同的操作系统上运行呢?JVM的作用正是尽可能的屏蔽掉不同操作系统之间的差异性。
-
JDK JVM JRE 的 区别和联系
- 简单来说,JDK 中 包含 JRE ,JRE 中 包含 JVM
- 按照Java 的 运行机制就是,JDK 将我们编写的Java程序(.Java文件)编译成为字节码文件(.class文件),然后通过执行Java命令,启动Java虚拟机(JVM)运行程序,将这些字节码文件加载到内存中,这个过程叫做类加载,虚拟机加载到内存中的代码转换为与操作系统相对应的执行代码,并解释执行。这个运行java代码过程中只有JVM还不能将class文件执行,要调用解释相关的类库lib,而JRE包含这些类库。
一些Java命令行操作
主要的就是两个命令,一个javac,一个java
- javac
- 将我们的Java程序编译成为字节码文件
-
// 假设我们有一个名为HelloWorld.java 的Java程序 // 执行此命令并没有错误提示后当前目录下会生成一个HelloWorld.class文件 javac HelloWorld.java
- java
- 运行我们的java程序
-
// 执行上面的命令生成一个HelloWorld.class文件后 // 执行此命令后,java程序就被执行了 java HelloWorld
参考文章
JDK JRE JVM