一. Java帝国的诞生
1. C&C++
2. 反抗
3. Java初生
4. Java发展
JAVA帝国自此诞生
二.Java语言的特性和优势
1. 简单易学
2. 安全性高
3. 跨平台
机器语言:不同种类的计算机有不同的机器语言,而且计算机只能识别机器语言。
高级语言程序->经过编译器的编译->特定机器的机器语言
解释程序的执行环境
程序是在操作系统的控制下执行的
(1) . 传统的计算机(同一个应用程序在不同的操作系统的机器上执行的结果会不同)
(2) . Java虚拟机(通过在不同操作系统上装有特定的JVM来执行同一个应用程序以达到执行结果相同)
(3) . Java实现一次编译、到处运行的原理
Java语言编写的程序既是编译型,又是解释型的。程序代码经过编译后转换为一种字节码的中间语言。Java虚拟机对字节码进行解释和运行。
编译只进行一次,而解释(执行)在每次运行程序时都会进行
也就是说:一次编译,到处运行
java程序从开发到最终运行经历了什么?
编译期:
- 第一步:在硬盘的某个位置,新建一个xxx.java文件
- 第二步:使用记事本或其他文本编辑器打开xxx.java文件
- 第三步:在xxx.java文件中编写符合java语法规则的源代码
- 第四步:保存
- 第五步:使用编译器(javac命令[JDK安装后自带的])对xxx.java文件进行编译
- 第六步:如果xxx.java文件中编写的源代码是符合语法规则的,编译会通过生成class字节码文件,并且一个java源文件可以生成多个class文件(编译实质上是检查语法错误)
运行期(JRE起作用):(可以在不同的操作系统上运行)
-
第七步:如果在linux上运行,需要将Windows上生成的class文件拷贝过去不需要拷贝源代码,真正运行的是字节码
-
第八步:使用JDK自带的一个java命令(负责运行的命令/工具)执行字节码
-
第九步:往下的步骤就全部交给JVM,就不需要程序员干涉了。JVM会将字节码文件装载进去,然后JVM对字节码进行解释(解释器负责将字节码解释为1010101010…等二进制文件)
-
第十步:JVM将生成的二进制码交给OS操作系统,操作系统会执行二进制码和硬件进行交互
小插曲: xxx.java源文件经过编译后生成A.class、B.class、C.class等文件, 那么我们称A是一个类,B是一个类,C是一个类。 其中A、B、C是类的名字。
4. 多线程的
5. 面向对象
6. 分布式
7. 动态性
8. 安全性
9. 健壮性
三. Java的三大版本
Write Once、Run Anywhere
1. Java分为三个部分
Java SE
是java标准版的简称,其定位是个人计算机应用(应用原生界面比较ugly) 全称:Java Platform Standard Edition 主要用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。例如,Java应用程序开发平台Eclipse。
Java EE
是java企业版的简称,其定位是服务器端应用 (目前应用最广泛的版本)全称:Java Platform Enterprise Edition 是在JavaSE的基础上构建的他提供Web 服务、组建模型、管理和通信API.可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和web2.0应用程序。
Java ME
是java微型版的简称,主要定位是移动产品和车载产品等(基本没有使用,大部分移动产品使用Android)全称:Java Platform Micro Edition Java ME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模式、许多内置的网络协议以及对于动态下载的连网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需要编写一次,就可以用于许多设备,而且可以利用每个设备的本级功能。
2. 三大版本更名是在jdk5.0中
①SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
②EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
③ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
四. JDK、JRE、JVM
JDK:Java Development Kit(Java开发元件)
JRE:Java Runtime Environment
JVM:Java Virtual Machine
JDK有哪些组成啊?
- JVM虚拟机:真正运行Java程序的地方。
- 核心类库:Java自己写好的一些程序,给咱们的程序调用的
- 开发工具:javac、java、…
Java的跨平台是什么含义,Java如何实现跨平台的?
- 一次编译、处处可用
- 我们的程序只需要开发一次,就可以在各种安装了JVM的系统平台上运行。