Java - 概述
一、Java语言概述
1、Java语言发展历史
- Java诞生于SUN(Stanford University Network),Java之父是詹姆斯.高斯林(James Gosling)
发行版本 | 发行时间 | 备注 |
---|---|---|
Java | 1995.05.23 | Sun公司在Sun world会议上正式发布Java和HotJava浏览器 |
Java 1.0 | 1996.01.23 | Sun公司发布了Java的第一个开发工具包 |
Java 1.1 | 1997.02.19 | |
Java 1.2 | 1998.12.08 | 拆分成:J2SE(标准版)、J2EE(企业版)、J2ME(小型版) |
Java 1.3 | 2000.05.08 | |
Java1.4 | 2004.02.06 | |
Java 5.0 | 2004.09.30 | ①版本号从1.4直接更新至5.0;②平台更名为JavaSE、JavaEE、JavaME |
Java 6.0 | 2006.12.11 | 2009.04.20 Oracle宣布收购SUN公司 |
Java 7.0 | 2011.07.02 | |
Java 8.0 | 2014.03.18 | |
Java 9.0 | 2017.09.22 | ①每半年更新一次;②Java 9.0开始不再支持windows 32位系统 |
Java 10.0 | 2018.03.21 | |
Java 11.0 | 2018.09.25 | JDK安装包取消独立JRE安装包,长期支持版本 |
Java 12.0 | 2019.03.19 | |
Java 13.0 | 2019.9.18 | |
Java 14.0 | 2020.3.17 | |
Java 15.0 | 2020.9 | |
Java16.0 | 2021.3 | |
Java17.0 | 2021.9 | 最新的长期支持版本 |
2、Java语言的特点
(1)优点
- 面向对象:Java语言支持封装、继承、多态,面向对象编程,让程序更好达到高内聚,低耦合的标准
- 支持分布式:Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段
- 健壮型:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择
- 安全性高:Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查
- 跨平台性:Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行
(2)缺点
- 语法过于复杂,严谨,对程序员的约束比较多,与python和php等相比入门相对较难
- 一般适用于大型网站开发,整个架构会比较重,对于初创公司开发和维护人员的成本比较高,选择用Java语言开发网站或应用系统的需要一定的经济实力
3、Java技术体系平台
JavaSE(Java Platform, Standard Edition标准版):允许您在桌面和服务器上开发和部署Java应用程序
JavaEE(Java Platform, Enterprise Edition企业版):是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发
JavaME(Java Platform, Micro Edition小型版):为互联网上的嵌入式和移动设备上运行的应用提供了一个健壮、灵活的环境:微控制器、传感器、网关、移动电话、个人数字助理(PDA)、电视机顶盒、打印机等等。基于JavaME的应用程序在许多设备上都是可移植的,但是利用了每个设备的本机功能
- Java Embedded: 用于解锁物联网的智能设备的价值:通过远程市场更新和刷新功能延长产品生命周期和价值;利用Java的可伸缩性、健壮性、可移植性和全套功能,提高生产效率,降低成本,缩短上市时间;在边缘启用快速数据功能
- Java Card:使安全元件(如智能卡和其他防篡改安全芯片)能够承载采用Java技术的应用程序。Java card提供了一个安全的、可互操作的执行平台,它可以在一个资源受限的设备上存储和更新多个应用程序,同时保持最高的认证级别和与标准的兼容性
- Java TV:是一种基于JavaME的技术,它为开发在tv和机顶盒设备上运行的java应用程序提供了一个性能良好、安全且易于实现的解决方案
二、Java语言跨平台原理
1、Java语言跨平台原理
- C跨平台原理
Java跨平台原理
- Java设计了一套简洁的虚拟指令集,也就是字节码
- Java虚拟机(JVM,Java Virtual Machine)是由软件技术模拟出计算机运行的一个虚拟的计算机,它负责解释执行字节码指令集。而不同的平台,需要安装不同的Java虚拟机程序
- Java虚拟机的设计不仅仅解决了Java程序跨平台的问题,同时解决了很多语言的跨平台问题
- MacOS,Windows,Linux,android等
2、JVM、JRE、JDK的关系
- JVM(Java Virtual Machine ):Java虚拟机,是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在
**JVM**
之上 - JRE (Java Runtime Environment) :是Java程序的运行环境,包含
**JVM**
和运行时所需要的核心类库 - JDK (Java Development’s Kit):是Java程序开发工具包,包含
**JRE**
和开发人员使用的工具
想要运行一个已有的Java程序,那么只需安装JRE
即可
想要开发一个全新的Java程序,那么必须安装JDK
,其内部包含JRE
三、Java程序说明
1、 HelloWorld案例
(1)程序开发步骤说明
- Java程序开发三步骤:编写、编译、运行
(2)编写Java源程序,保存.java源文件
- 新建文本文件,完整的文件名修改为
HelloWorld.java
,其中文件名为HelloWorld
,后缀名必须为.java
- 用sublime/notepad++等文本编辑器打开
- 在文件中输入如下代码,并保存
1 | public class HelloWorld { |
(3)编译Java源文件生成.class字节码文件
- Java源文件的编译工具是
javac.exe
- 在命令行中,进入Java源文件所在目录,使用
javac
命令进行编译:javac HelloWorld.java
编译格式:javac Java源文件名.后缀名
- 此时目录会产生一个新的文件
HelloWorld.class
,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件
(4)运行Java程序
- Java字节码文件的运行工具是
java.exe
- 使用
java
命令运行:java HelloWorld
运行格式:java 主类名字
,主类是指包含main方法的类
2、Java程序的结构与格式
1 | 类{ |
3、Java程序的入口
- Java程序的入口是main方法
1 | public static void main(String[] args){ |
4、Java程序编写习惯
(1)源文件名和类名
- public类:源文件名必须与类名一致
- 非public类:源文件名可以和类名不一致,但是不便于代码维护,建议与类名一致
(2)源文件和类个数
- public类:只能有一个
- 非public类:可以有多个,编译后会生成多个.class字节码文件
为了方便代码维护,一个源文件尽量只写一个类
(3)类与main方法
- main方法(主方法)习惯写在public类中
5、Java字符编码问题
问题:命令行窗口的字符编码与.java源文件的字符编码不一致
解决方案一:在Notepad++等编辑器中,修改源文件的字符编码
解决方案二:在使用javac命令时,指定源文件的字符编码
例:javac -encoding utf-8 Review01.java
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 妙妙屋!