Java语言是美国Sun公司(Stanford University Network) 在1995年推出的计算机语言
Java语言之父:詹姆斯·高斯林 (James Gosling)
Java-一款高级编程软件,首先让我们了解Java的基础概念。
詹姆斯·高斯林(James Gosling)1955年5月19日出生于加拿大,1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。 2009年四月,Sun被Oracle公司并购。高斯林于2010年四月时宣布从Oracle司离职。 2011年3月29日,高斯林在个人博客上宣布将加入Google。 2011年8月30日,仅仅加入Google数月之后的高斯林就在个人博客上宣布离开Google,加盟一家从事海洋机器人研究的创业公司Liquid Robotics,担任首席软件架构师。 在2011年5月建立的Scala公司Typesafe Inc.,高斯林被聘请为公司顾问。
SUN公司介绍
成立到上市
Sun Microsystems是IT及互联网技术服务公司Sun Microsystems 创建于1982年。Sum和这个名字其实是斯坦福大学校园网(Stanford University Network)的首字母缩写。主要产品是工作站及服务器。1986年在美国成功上市。1992年sun推出了市场上第一台多处理器台式机SPARCstation 10 system,并于1993年进入财富500强。
一年时间跌入低谷
2001年的sun公司,不仅人数规模、市场股值、办公面积远不能和八十年代相比(能人都走了,办公楼也卖了,股票一落千丈),而且彻底退出了 IT 领域霸主之争。太阳公司从 1982 年成立到 2000 年达到顶峰用了近二十年时间,而走下坡路只用了一年,足以令经营者为戒。
甲骨文(Oracle)收购
2009年4月20日甲骨文以现金收购Sun微系统公司,交易价格达74亿美元。该协议达成后,IBM公司放弃了收购网络设备制造商。IBM公司此前表示愿意以每股9.40美元购买Sun公司的股票,但收购谈判破裂后,IBM公司于2009年5月初取消独家谈判权,IBM并撤回其报价。
1. 什么是Java
Java是一门面向对象编程语言,1995年诞生于Sun公司(Stanford University Network),在2009年被Oracle公司收购。
Java语言不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言还拥有全球最大的软件开发团队和极其成熟的软件生态圈。
2. Java语言特点
简单性
语法简单快速上手、避免了复杂的指针、多继承等,java程序员无需手动内存管理且提供丰富的类库等。
面向对象
支持面向对象的特点如:封装、继承、多态能让编写java程序拥有更多的复用性和灵活性,避免面向过程思维所带来的编程复杂性。
分布式
Java包括支持HTTP和FTP等基于TCP/IP协议,针对网络协议进行封装让java应用访问网络对象时像访问本地对象一样方便。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
健壮性
Java语言检查程序错误分为编译时错误和运行时错误,错误尽可能在编译期间检查发现,避免了运行时发生。避免多继承、指针、手动内存管理等都是进一步避免不必要的问题发生。
安全性
Java 编译器和虚拟机强制实施的内置的语言安全特性:强大的数据类型管理、编译时检查、自动内存管理、字节码验证、安全的类加载等。
可移植性
Java与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数,32位整数,也可能是编译器提供商指定的其他大小。在Java中对数据类型固定大小,具备良好的可移植性。
跨平台
Java程序(write once, run anywhere)号称一次编写到处运行,Java程序编译完成后可以在Windows、Linux、MAC等系统运行。
高性能
Java程序字节码可以在运行时动态、快速、高效地翻译成对应运行这个应用特定CPU的机器语言。
多线程
Java语言支持多线程让程序可以分为多个小任务并发或并行执行,让程序可以有更好的交互性能和实时控制性能。另一方面可以提高对CPU的利用率。
结构中立
Java的字节码实现了结构中立,与计算机结构无关。编译器生成一个体系结构中立的目标文件格式(字节码),精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速地翻译成本地机器的代码。
动态性
Java的动态特性是其面向对象设计方法的拓展,它允许程序动态的装入运行过程中的所需要的类。也可以通过网络来载入所需要的类有利于程序的扩展和升级。