摘要:1996年Java第一次发布就引起了人们的广大关注。本文简要地介绍一下Java语言的发展历史。
一、Java程序设计平台
Java是一种优秀的程序设计语言。一旦一种语言应用于某个领域,与现存代码的兼容性问题就摆在了人们的面前。这就导致Java在发展之初没有那么完美无瑕,但是,Java的发展是不断追求进步与完善的过程。在第一次发布时,Java的问世引起了业界的极大关注,举个真实的栗子,当时关注Java的人士不仅限于计算机出版界,还有诸如《纽约时报》《华盛顿邮报》《商业周刊》这样的主流媒体。
Java是个一完整的平台,有一个庞大的库,其中包含了很多的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾手机等服务的执行环境。
作为一名程序设计人员,很希望能有一种语言,它的语法易于理解、可操作性强,Java满足这些要求的。Java有着功能齐全的出色语言,和高质量的执行环境,还提供了庞大的库。这些正是它的魅力所在。
二、探索Java的神奇所在
1.简单性
Java剔除了C++中许多很少使用、难以理解、易混淆的特性。相当于,Java是C++语法的一个“纯净”版本。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。当然,Java并没有完全剥离掉与C++语法上的共同性。比如,switch语句的语法在Java中就没有改变。
另外,Java的简单性还体现在,Java的目标之一是支持开发能够在小型机器上独立运行软件。基本的解释器以及类支持大约仅为40KB;再加上基础标准类库和对线程的支持(基本上是一个自己包含的微内核)大约需要增加175KB。
在当时,这已经是了不起的飞跃了。而今,由于不断的扩展,库类已经相当庞大了。现在有一个独立的具有较小库类的Java微型版(Java Micro Edition),这个版本适用于嵌入式设备。
2.面向对象
面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。
3.分布式
Java有一个丰富的例程序,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开访问网络上的对象,其操作性就像访问本地文件那么简单。
(补充两个名词解释:1.Sandboxie:即沙箱或沙盘,是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此y运行时所产生的变化可以随后删除它。其为独立的虚拟环境,可以用测试不受信任的应用程序或上网行为。2.Visual Basic:是由微软公司开发的结构化模版化的、面向对象的,包含开发环境的事件驱动为机制的可视化程序设计语言。)
4.健壮性
Java编译器能够检测出许多其他语言中仅在运行时才能够检测出来的问题。Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。
5.安全性
Java适用于网络/分布式环境。从一开始,Java就设计能够防范各种攻击:
1)运行时推栈溢出。
2)破坏自己的进程空间之外的内存。
3)未经授权读写文件。
最初,Java开发包(Java Development Kit,JDK)的第一版本问世不久,就被发现存在bug,也多次被黑客攻击。为修复bug,sun以及之后的Oracle公司度过了很艰难的时期。Java浏览器插件不再信任远程代码,除非代码有数字签名而且用户同意执行这段代码。
6.体系结构中立
编译器生成一个体系结构中立的目标文件格式,这是一种编译过程的代码,只要有Java运行时系统,这些编译后的代码可以在许多处理器上运行。
7.可移植性
与C和C++不同,Java规范中没有“依赖具体实现”的地方。其基本数据类型的大小以及有关运算都做了明确的说明。Java库能够很好的支持平台独立性。你可以处理文件、正侧表达式、XML、日期和时间、数据库、网络链接、线程等,而不用操心底层操作系统。
8.解释型
Java解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程,使得开发环境更加便捷。
9.高性能
Java更高性能的体现,字节码可以(在运行时刻)动态地翻译称对应运行这个应用的特定CPU的机器码。
10.多线程
多线程可以更好的交互相应和实时行动。
例如,在并发程序设计这块。Java在问世之初,当时,多核处理器还很神秘,而WEB编程才刚刚起步,处理器要花很长时间等待服务器响应,需要并发程序设计来确保用户界面不会被“冻住”。Java在这方面表现出色,在当时就能很好的处理此事。
11.动态性
Java比C或C++更具动态性。它能够适应不断发展的环境。库中可以自有的添加心方法和实例变量,而对客户端不会有影响。
三、Java applet与Internet
在网页中运行的Java程序称为applet。有使用applet,需要启动Java的Web浏览器执行字节码。在Adobe的Flash技术变得流行时,Java遭到了严重的安全问题,浏览器和Java浏览器插件变得限制越来越多。如今,要在浏览器中使用applet,是有一定的难度的。
四、Java发展历史
1.Java语言的前身:Oak(橡树)
2.Java语言的版本:
-JavaSE:(java2 Stardard Edition)标准版,定位客户端,主要用于桌面程序的开发
-JavaME:(java2 Micro Edition)微型版,主要用于嵌入式系统开发。(现在,不怎么用了!)
-JavaEE:(Java2 Enterprise Edition)企业版,定位在服务端,主要用于分布式系统,一些大型的电子商务系统的开发。
2017-05-27 14:11:27