Java基础(一)

127 阅读4分钟
Java概述
1、什么是Java?

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C+里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两大特征。Java语言作为静态面向对象编程语言的优秀代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

2、Java语言有哪些特点?

Java语言有很多优秀的特点,以下是比较突出的:

image.png

  • 面向对象(封装、继承、多态);
  • 平台无关性,平台无关性的具体表现在于,Java是“一次编写,到处运行(Write Once,Run anyWhere)”的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同平台上运行不需要重新编译;
  • 支持多线程。C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而Java语言却提供了多线程支持;
  • 编译与解释并存;
JVM、JDK、JRE有什么区别?

JVM: Java Virtual Machine,Java虚拟机,Java程序运行在Java虚拟机上。针对不同系统的实现(Windows,Linux,macOS)不同的JVM,因此Java语言可以实现跨平台。

JRE: Java运行时环境。它是运行已编译Java程序所需要的所有内容的集合,包括Java虚拟机(JVM),Java类库,Java命令和其他的一些基础构建。但是,它不能创建新程序。

JDK: Java Develoment kit,它是功能齐全的Java SDK。它拥有JRE所拥有的一切,还有编译器(Javac)和工具(如Javadoc和jdb)。它能够创建和编译程序。

简单来说,JDK包含JRE,JRE包含JVM。

image.png

4、说说什么是跨平台性?原理是什么

所谓的跨平台性,是指Java语言编写的程序,一次编译后,可以在多个系统平台上运行。 所实现的原理:Java语言是通过Java虚拟机在系统平台上运行的,只要该系统可以按照相应的Java虚拟机,该系统就可以运行Java程序,

5、什么是字节码?采用字节码的好处是什么?

所谓的字节码,就是Java程序经过编译之类产生的.class文件,字节码能够被虚拟机识别,从而实现Java程序的跨平台性。 Java程序从源码到运行主要有三步:

  • 编译: 将我们的代码(.java)编译成虚拟机可以识别理解的字节码(.class)
  • 解释: 虚拟机执行Java字节码,将字节码翻译成机器能识别的机器码
  • 执行: 对应的机器执行二进制机器码

image.png 只需要把Java程序编译成Java虚拟机能识别的Java字节码,不同的平台按照对应的Java虚拟机,这样就可以实现Java需要的平台无关性。

6、为什么说Java语言“编译与解释并存”?

高级编程语言按照程序的执行方式分为 编译型解释型两种 简单来说,编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码;解释型语言是指解析器对源程序逐行解释成特定平台的机器码并立即执行。 比如,你想读一本外国的小说,你可以找一个翻译人员帮助你翻译,有两种选择方式,你可以先等翻译人员将全本小说(也就是源码)都翻译成汉语,再去阅读,也可以让翻译人员翻译一段,你在旁边阅读一段,慢慢把书读完。 Java语言既具有编译型语言的特征,也具有解释型语言的特征,因为Java程序要经过先编译,后解释两个步骤,由Java编写的程序需要先经过编译步骤,生成字节码(.class文件),这种字节码必须再经过JVM,解释成操作系统能识别的机器码,再由操作系统执行。因此,我们可以任用Java语言编译解释并存。

image.png