目录
1、Java 起源与演变
1.1、起源
20
世纪
90
年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它
可以大幅度提升消费性电子产品的智能化程度。
SUN
公司为了抢占市场先机,在
1991
年成立了一个由詹姆斯
·
高斯林(James Gosling
)领导,
名为
“Green”
项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。
那么使用何种编程语言来设计,是项目小组头疼的事。当时
C++
较为有优势的,项目小组首先考
虑的是采用它来编写程序,但
C++
过于复杂和庞大,再加上由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,需要让编写的程序跨平台运行,假如用
C++
编写的话对程序的跨平台运行不友
好。
最后项目小组决定:既不用
C++
编写,也不开发全新的编程语言,而是对
C++
进行改造:去除了
C++
复杂的指针和内存管理,并结合嵌入式系统的实时性要求,最终在
1992
年,他们开发了一种名
为
“Oak”
的面向对象语言。
当他们在向硬件生产商进行演示的时候,硬件生产商对此并不感冒,
OaK
语言因为缺乏硬件的
支持而无法进入市场,从而被搁置一旁。
1994
年,项目小组看到了浏览器在未来的发展前景,于是决定将
OaK
应用于万维网。
1995
年,
他们用
OaK
语言研发了一种能将小程序嵌入到网页中执行的技术
——Applet
,由于
Applet
不仅能嵌入网页,还可随同网页在网络上进行传输,这让无数的程序员看到了
OaK
这门语言,与此同时,
OaK
正式更名为
Java
。从此,
Java
在互联网的推动下火了。
Java与C++的最大区别:
Java是面向对象编程,无指针
C++是面向过程编程
1.2、演变
1996
年
1
月,
SUN
公司推出了
JDK1.0
。在
JDK1.0
发布后,有很多程序员学习并运用
Java
来制作网页,
JDK
包括两大部分:开发工具和运行环境。
运行环境包括核心
API
、集成
API
、用户界面
API
、发布技术、
Java
虚拟机
(JVM)
。
JDK1.0
的发布,标志着
Java
成为一种独立的开发工具。在同年
9
月,约有
8.3
万个网页应用了
Java
技术来制作。
JDK1.0
的代表性技术有:
Java
虚拟机、
Applet
、
AWT
等。1997
年
2
月,
SUN
公司紧接着推出了
JDK 1.1
,在推出后
3
周时间里,达到了近
22
万次的下载量。
4
月
2
日,首届
Java One
大会在美国旧金山召开,参加会议的人超过一万人,创造了当时全球同类会议规模最高的纪录。
9
月,
Java Developer Connection
社区成员超过
10
万,同年还有
10
个最主要的操作系统供应商正式声明将在他们的产品中使用
Java
。
JDK1.1
的代表性技术有:
JDBC
、
JavaBeans
、
RMI
、
JAR
文件格式、
Java
语法中的内部类和反射。
1998
年
12
月
8
日,
JDK1.2——
第二代
Java
平台的企业版
J2EE
发布。
1999
年
6
月,
Sun
公司把
Java
体系分为三个方向:
J2ME
(Java2 Micro Edition
,
Java2
平台的微型版),应用于移动、无线及有限资源的环境;
J2SE
(Java 2 Standard Edition
,
Java 2
平台的标准版),应用于桌面环境;
J2EE
(Java 2Enterprise Edition
,
Java 2
平台的企业版),应用于基于
Java
的应用服务器。
随着供应商的不同,
Java
的
API
也分为三大类:
Java Core API
:
Java
核心类库;
Java Optional API
:对之前
API
的扩充;
特殊
API
:由特殊厂商或组织提供的
API
。
Java 2
平台的发布,是
Java
发展过程中最重要的一个里程碑,标志着
Java
的应用开始普及。
JKD1.2
的代表性技术有:
Swing
、
Java IDL
、
EJB
、
Java Plug-in
等,在
API
文档中,添加了
strictfp
关键字和
Collections
集合类。
1999
年
4
月
27
日,
HotSpot
虚拟机发布。
HotSpot
是由一家叫
“Longview Technologies”
的小公司开发的,后来被
SUN
公司收购。
HotSpot
虚拟机发布时是作为
JDK 1.2
的附加程序提供的,后来它成
为了
JDK 1.3
及之后所有版本的
Sun JDK
的默认虚拟机 。
2000
年
5
月,
JDK1.3
、
JDK1.4
和
J2SE1.3
相继发布,
J2SE1.3
是对
J2SE1.2
的补充和扩展,从应用领域的角度分析,
JavaSE1.3
已经涵盖了数据库、
WEB
、网络、图形、多媒体、电话、影像等大
部分的信息技术领域。
2002
年
2
月
26
日,
J2SE1.4
发布。与
J2SE1.3
相比,多了近
62%
的类和接口。在这些新特性当中,还提供了广泛的
XML
支持、安全套接字(
Socket
)支持(通过
SSL
与
TLS
协议)、全新的
I/OAPI
、
正则表达式、日志与断言。2004
年
9
月
30
日,
J2SE1.5
发布,成为
Java
语言发展史上的又一里程碑。为了表示该版本的重要
性,
J2SE 1.5
更名为
Java SE 5.0
(内部版本号
1.5.0
)。
Java SE 5.0
包含了从
1996
年发布
1.0
版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化
I/O
及可变参数。
……
2、Java 体系与特点
Java SE:Java Platform,Standard Edition
标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案;
Java EE:Java Platform,Enterprise Edition
企业版:以企业为环境而开发应用程序的解决方案;
Java ME :Java Platform, Micro Edition
微型版:致力于消费产品 和嵌入式设备的最佳解决方案。
3、Java 跨平台原理
3.1、Java 技术的两种核心机制
Java 虚拟机(Java Virtual Machine) JVM
垃圾回收器(Garbage Collection) GC
3.2、Java 虚拟机(JVM)
JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统
- 它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信
- 对于不同的运行平台,有不同 的 JVM。
JVM 屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”(其实所有语言都支持)。
3.3、垃圾回收器(GC)
不再使用的内存空间应当进行回收-垃圾回收。
在 C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:
JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间。
垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预。
3.4、JDK
JDK(Java Development Kits)-- Java 开发工具集
JRE(Java Runtime Environment)Java 运行时环境
JVM
Java API (应用程序编程接口)
Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化化工具(javadoc.exe)及其它工具及资源
JRE 的三项主要功能:
加载代码:由类加载器(class loader)完成;
校验代码:由字节码校验器(byte code verifier)完成;
执行代码:由运行时解释器(runtime interpreter)完成。
4、什么是程序
程序一词来自生活,通常指完成某些事务的一种既定方式和过程
计算机中的程序
为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令(即命令)的集合
5、语法
注释 :java 程序有三种注释方式
单行注释://注释
多行注释:/*注释*/
文档注释:/**注释*/
java 代码的位置
class 必须编写在.java 文件中 (具体详情参考 helloWorld 工程)
语法规则:
java 是严格区分大小写的
java 是一种自由格式的语言
代码分为结构定义语句和功能执行语句
功能执行语句的最后必须用分号结束
6、第一个程序
package kkb;
public class HelloWord {
public static void main(String[] args) {
//第一个程序
System.out.println("Hello World!");
}
}
以eclipse为例:
![](https://i-blog.csdnimg.cn/blog_migrate/98403cd9cc71c7c5125f2ba9f9f60d85.png)
最后为大家提供jdk下载地址
https://www.oracle.com
https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
若有其他需要请关注公众号(计算机基础与编程),底部图片扫码即添加