【JAVA基础】jdk、jre、jvm的介绍和关系;JAVA和c++的区别,字节码,字节码的好处,JAVA中的注释,类变量命名规则
系列文章目录
@TOC
前言
博文介绍知识的同时也会附加相关内容的面试题目
一、JDk,JRE,JVM介绍
关系及介绍如下图:
插播面试题:
DK、JRE、JVM 分别是什么关系?
简单说,就是 JDK 包含 JRE 包含 JVM。
1.什么是JDK?
JDK 即为 Java 开发工具包,包含编写 Java 程序所必须的编译、运行等开发工具以及 JRE。开发工具如:
● 用于编译 Java 程序的 javac 命令。
● 用于启动 JVM 运行 Java 程序的 Java 命令。
● 用于生成文档的 Javadoc 命令。
● 用于打包的 jar 命令等等。
2.什么是JRE?
JRE 即为 Java 运行环境,提供了运行 Java 应用程序所必须的软件环境,包含有 Java 虚拟机(JVM)和丰富的系统类库。系统类库即为 Java 提前封装好的功能类,只需拿来直接使用即可,可以大大的提高开发效率。
3.什么是JVM?
JVM 即为 Java 虚拟机,提供了字节码文件(.class)的运行环境支持。
JAVA和C++的区别?
● 都是面向对象的语言,都支持封装、继承和多态。
● Java 不提供指针来直接访问内存,程序内存更加安全。
● Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。
● 【重要】Java 有自动内存管理机制,不需要程序员手动释放无用内存。
什么是字节码?采用字节码的最大好处是什么?
什么是字节码?
这个问题,面试官可以衍生提问,Java 是编译执行的语言,还是解释执行的语言。Java 中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在 Java 中,这种供虚拟机理解的代码叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java 源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。这也就是解释了 Java 的编译与解释并存的特点。Java 源代码=> 编译器 => JVM 可执行的 Java 字节码(即虚拟指令)=> JVM => JVM 中解释器 => 机器可执行的二进制机器码 => 程序运行
采用字节码的好处
Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。解释型语言:解释型语言,是在运行的时候将程序翻译成机器语言。解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。这样解释型语言每执行一次就要翻译一次,效率比较低。
JAVA中的注释
一:行注释
//1:单行注释//内容//2:多行注释,不能嵌套使用/*内容*/
二:文档注释
Java语言所特有的
格式:/ @author 指定Java程序的作者 @version 指定源文件的版本*/
文档注释的特点:
1:单行注释和多行注释,被注释的内容不参与编译。(即字节码文件【.class】文件中不包含注释掉的信息)
2:注释内容可以被JDK提供的工具javadoc所注释,生成一套以网页文件形式体现的该程序的说明文档。
操作方式:
D:\code\day01>javadoc -d 文件名 -author -version Java程序类名 回车
Java API文档介绍
API:应用程序编程接口。
API文档:针对于提供的类库如何使用,给的一个说明书。类似于《新华字典》
注意:
2:在一个Java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。而且要求声明为public的类的类名必须与源文件名相同。
3:程序的入口是main()方法,格式是固定的。
4:编译以后会生成一个或多个字节码文件,也就是有几个类就会有几个字节码文件(在终端中操作时,可以在文件夹中看见)。运行只能执行包含main()方法的那个类。
5:执行:一个Java文件执行的过程
类,变量等的命名规则
帕斯卡命名法:所有单词首字母大写(一般用于类名)
驼峰命名法:除了第一个单词以外,其余单词首字母大写(一般用于方法名)
常量的命名一般是所有字母均大写,如果有多个单词,则单词之间用下划线连接
最后:
持续关注,三连是我肝下去的唯一动力