JAVA基础部分 JDK和JRE以及JVM

第一部分:

一、dos命令

*快捷查看电脑ip:

Win + R进入cmd;输入ipconfig/all查看IPv4:192.168.0.xxx(首选);

基本命令:

cd进入目录;d: 直接进入盘符;. 当前目录;..上级;/根目录;md 创建目录;dir查看当前目录下所有文件;

rd + 文件夹名:删除文件夹;del+文件名:删除文件;cls:清屏;type nul>*.*;这里我们在前面创建的myfolder文件夹中进行展示,分别创建带有文件名的myfile.txt文件和不带文件名的.test两个文件,:创建空文件;

二、JDK与JRE以及JVM的区别

JVM:JAVA虚拟机,具有JIT(JUST IN TIME)即时编译,即时编译技术提高了运行效率,将一些”热点”字节码编译成本地机器码,并讲结果缓存起来,在需要的时候重新调用,使JAVA运行效率大大提高;JVM就是“一台虚拟机器”用于将字节码解释成二进制的机器语言,不同操作系统OS具有不同的JVM,JVM是跨平台的核心机制,源文件经过编译后成字节码文件就可以在不同的操作系统上进行解释运行(需按照对应操作系统的JVM),实现了一次编译随处运行。JVM也定义了指令集,垃圾收集堆,结构栈,寄存器,内存区域等。

JRE:JAVA运行环境,JRE包括了JVM和类库,如果只需要运行JAVA程序,不需要安装JDK,安装JRE就可以运行。源文件经过了编译器编译成了字节码文件后,字节码文件进入JRE里进行了类装载器(装载)、字节码校验器(校验)、解释器(解释)等成二进制机器码。

JDK:JAVA开发工具包,如果需要开发JAVA项目,需要安装JDK,JDK里包括了JRE,增加了编译器和调试器用于编译和调试。

三、javac、javaw、javap的区别

Javac存在于JDK中,用于编译JAVA源文件.java的,编译成字节码文件.class;

Javaw存在JRE中,用于运行字节码文件.class的

Javap反编译,可以用于帮助开发者深入了解Java编译器的机制,

四、path与classpath的区别

classpath是模仿path出现的,path是让所有exe结尾的文件在任意目录下都可以使用,

而classpath是为了在任意位置都能够执行后缀名为class的文件

五、JAVA跨平台的原理

java跨平台是通过JVM(java 虚拟机)实现的。

六、.Java程序执行的步骤以及工作原理

JAVA源文件.java经过JAVA编译器的编译后成字节码文件,进入JRE中,经过是类装载器的装载,字节码校验器的校验,JAVA解释器的解释,或者是即时代码发生器有选择的转换成机器码执行

七、Java的语言特点和原因

1、跨平台性(可移植性)

2、安全性

3、面向对象

4、简单性

5、高性能

6、分布式

7、多线程

8、健壮性

1Java虚拟机的体系结构

·每个JVM都有两种机制:

①类装载子系统:装载具有适合名称的类或接口

②执行引擎:负责执行包含在已装载的类或接口中的指令 

·每个JVM都包含

方法区、Java堆、Java栈、本地方法栈、指令计数器及其他隐含寄存器

 

2Java代码编译和执行的整个过程

也正如前面所说,Java代码的编译和执行的整个过程大概是:开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。

(1)Java代码编译是由Java源码编译器来完成,也就是Java代码到JVM字节码(.class文件)的过程。 流程图如下所示:

 

(2)Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:

 

Java代码编译和执行的整个过程包含了以下三个重要的机制:

·Java源码编译机制

·类加载机制

·类执行机制

 未完待续。。。后续会上大佬链接,便于查看详情进行学习

猜你喜欢

转载自www.cnblogs.com/zhangsonglin/p/10435062.html