Java之父:
詹姆斯·高斯林(James Gosling)
Java名字来源:
在 1995 年 java 诞生之初,高斯林的办公室外有一棵橡树,于是他想将这门语言命名为橡树(oak),后来取名为Java(爪哇岛的咖啡著名),所以现在Java的log也是一杯热气腾腾的coffee
Java语言:
软件、程序、编程语言
- 软件 = 程序 + 数据
- 程序是用来处理数据的计算机指令的集合
- 编程语言则是由开发人员书写计算机指令的语言
计算机分为硬件和软件
硬件:为显卡,CPU主板处理器等能看见的东西
软件:为系统软件和应用软件
1.系统软件:
像window等版本
2.应用软件:
我们经常使用的App
编译与解释:
Java属于编译型语言,开发人员在书写完源码后,需要经过编译器的编译,得到一个二进制文件的目标代码 .bin 文件,计算机执行这个二进制代码才得到了最终的结果
还有一种为解释型语言,不需要经过编译器,直接执行源代码,例如:Js
俩者区别:
- 编译型语言的特点是运行速度快,效率高,只需要翻译一次,以后的每次执行就无须重新翻译缺点在于每一次修改后都需要重新翻译一遍
- 解释型语言则是直接以源代码的形式出现,运行的时候才实时解析为机器码并执行,或者说每一次执行都会翻译一遍。 不能独立存在,必须寄生在其他程序(比如浏览器)内
Java语言起源和发展史:
91年sun公司green项目,智能家电,当时需要跨平台急需一个一次编译,处处执行的语言
于是James Gosling就带领开发团队设计出了Java
从图中可以看出Java的发展史,在这个时间轴中
JDK
-
JDK 全称 java development kit 表示 java 开发工具包,顾名思义它是提供 java 程序编译和运行的环境,目前的最高版本为 JDK17
-
JDK 作用:提供 java 的编译和运行环境,使用内置的工具类
在2009年时sun公司被Oracle公司收购
javaSE(标准版)
全称:java standard edition,作为 java 整体的语言语法规范
在它的基础上又增加了俩个版本javaME、javaEE
javaME(精简版)
针对桌面应用精简的版本,用于手机、ipad、手表上、特点是精简
javaEE(扩展,企业版)
针对企业级服务器上的扩展版
- 无论是哪个版本,我们在实际开发中,都会选择使用带有 “LTS” 即 long Term support 长期支持版,在论坛社区会有尽可能多的问题解决方案,及官方的更新维护
IDEA(编辑器)
代码需要书写和运行,我们就需要一个工具,目前市场主流使用 intellij IDEA,它是一个 java 编程语言开发的集成环境
Java的执行流程
- 编写源代码 .java文件
- 经过Java编译器
- 可以得到.class字节码文件
- 得到字节码文件后自动装载进类加载器
- 经过字节码校验器去检测环境、代码的正确性
- 再经过解释器
5.在操作平台得到最终结果,解释器是 java 实现跨平台的真正原因,所以 JDK 针对不同的操作系统平台有不同版本
- JDK:java 开发工具包,其中包含了提供 java 开发人员所需要的开发命令工具
- JRE:java 运行环境。其中又包含了
- 运行代码所需的核心库
- JVM:java 虚拟机,提供 java 程序运行的环境
以上的内容都是基于操作系统的执行流程。
所以在我们开发时需要安装完整的 JDK,包含开发所需的核心库和运行环境。未来在给用户安装使用时,不需要开发环境,只需要运行环境,即给用户安装 JVM。
(本文为接触Java不久的菜鸟所写,如有误区,还望各位大佬多多指教,菜鸟虚心受教)