003Java的诞生
1、计算机语言发展史
(1)第一代语言
- 机器语言
- 我们都知道计算机的基本计算方式都是基于二进制的方式。
- 二进制:010111001010110010110100
- 这种代码是直接输入给计算机使用的,不经过任何的转换!
(2)第二代语言
- 汇编 语言
- 解决人类无法读懂机器语言的问题
- 用指令代替二进制
- 目前应用于:
- 逆向工程
- 机器人
- 病毒
- ……
(3)第三代语言
摩尔定律告诉我们:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。
随着时间的发展,摩尔定律已经逐渐失效。我们希望用更简单的写法解决身边越来越复杂的问题,这时繁琐的机器语言和汇编语言已经不能很好满足我们的需求,高级语言随之诞生。
高级语言大体上分为以下两大类:
- 面向过程
- 面向对象
C语言是典型的面向过程的语言,C++、Java是典型的面向对象的语言。
不要狭隘的理解一种语言是面向过程还是面向对象,两者是相辅相成的,面向对象中也有着面向过程。
一些常见的高级语言:
- C语言(所有高级语言的鼻祖)
- C++语言(在C语言上的扩充)
- Java语言(最早被人称为“C++--”)
- C#(微软为了对抗Java推出)
- Python、PHP、JavaScript……
2、Java帝国的诞生
(1)C&C++的诞生
- 1972年C诞生
- 贴近硬件,运行极快,效率极高。
- 常用于:操作系统,编译器,数据库,网络系统等。
- 缺点是指针和内存管理太复杂,程序员难以掌握。
- 1982年C++诞生
- 面向对象。
- 兼容C。
- 常用于:图形领域、游戏等。
(2)我们需要一种全新的高级语言
由于C语言和C++语言都存在门槛高、语法复杂等缺点,我们需要一种全新的高级语言。
我们要建立一种新的语言,它最好:
- 语法有点像C。
- 没有指针。
- 没有内存管理。
- 真正的可移植性,编写一次,到处运行。
- 面向对象。
- 类型安全
- 有高质量的类库。
- ……
(3)Java的诞生
Java语言于1995年诞生,最初被命名为Oak,后更名为Java。
1996年,Sun公司发布了Java的第一个开发工具包(JDK 1.0),Java正式成为一种独立的开发工具。
1998年,Java派出3支部队向外扩张:
- Java 2 标准版(J2SE):去占领桌面。
- Java 2 移动版(J2ME):去占领手机。
- Java 2 企业版(J2EE):去占领服务器。
其他使用Java的公司基于Java开发了许多的平台、系统、工具:
- 构建工具:Ant、Maven,Jekins
- 应用服务器:Tomcat、Jetty、Jboss、Websphere、weblogic
- Web开发:Struts、Spring、Hibernate、MyBatis
- 开发工具:Eclipse、Netbean、IntelliJ IDEA、Jbuilder
- ……
三高:高可用、高性能、高并发。后来被称为中间件。
Java逐渐占领了各种各样的领域:
-
2006:Hadoop(大数据领域)
-
2008:Android(手机端)