1、Java特性
1.简单性
"简单"的另一个方面就是小,Java的目标之一就是支持开发能够在小型机器上独立运行的软件,也就是Java的ME版本。语法上剔除了C++比较难以理解,容易混淆的语法,以及复杂的指针。
面向对象是一种程序设计技术重点在数据(即对象)和对象的接口上。书中举了个面向过程和面向对象的区别:它说一个“面向对象”的木匠始终关注的是所制造的椅子,其次是所使用的工具。一个“面向过程”的木匠首先考虑的是所用的工具。其实简单理解为就是 一个考虑的是数据对象,一个考虑的是方法。
3.分布式
Java丰富的例程库使得Java应用程序可以很方便的通过URL地址打开和访问网络上的对象。
4.健壮性
Java非常强调进行早期的问题检测,后期动态的(运行时)检测,Java与C/C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。
5.安全性
因为Java要适用于网络/分布式环境所以安全性颇受重视,早期的Java对于网络上进行通信的时候,把从网络来的代码放进一个沙箱环境执行,而不影响主系统的运行。后期通过数字签名和用户授权的安全方式执行代码。
6.体系结构中立
编译时生成一个文件,这个文件可以在任何具有Java环境里可以运行,不管是什么操作系统。
7.可移植性
在Java中,数值类型具有固定的字节数。二进制数据以固定的格式进行存储和传输。字符串则采用标准的Unicode格式存储。
8.解释型
Java解释器可以在任何移植了解释器的机器上直接执行Java代码。
9.高性能
字节码可以在运行时动态地转换成对应运行这个应用的特定CPU的机器码。例如,即时编译器可以监控哪些代码会频繁执行并对其优化以提高速度。
10.多线程
多线程可以带来更快的交互响应和实时行为。
例如,Java在问世之初,多核处理器还很神秘,而WEB编程才刚刚起步,处理器要花很长时间等待服务器响应,需要并发程序设计来确保用户界面不会被“冻住”。
11.动态性
Java能够适应不断发展的环境,库中可以自由的添加新方法和实例变量,而对客户端却没有如何影响。
2、Java applet与Internet
在网页中运行的Java程序称为applet,要使用applet只需要一个启动Java的Web浏览器。后来由于Java遭遇了严重的安全问题,浏览器和Java浏览器插件变得限制越来越多。如今,要在浏览器中使用applet,是有一定的难度的。
3、Java发展简史
-
Java语言的前身:Oak
-
1991年~1995年:Java的研发开始阶段
-
1996年初:Java发布第一个版本。期间Java 1.1修复了1.0大部分的问题,但还有很大的局限性。
-
1998年:发布了Java 1.2版本称为Java SE。此时Java分为了三个版本。
1. JavaSE(也称J2SE,Java 2 Platform Standard Edition,标准版) 此版本是其他两个版本的基础应用。
2. JavaME(也称J2ME,Java 2 Platform Micro Edition,微型版) 此版本主要用于嵌入式设备。
3. JavaEE(也称J2EE,Java 2 Platform Enterprise Edition,企业版) 此版本主要用于开发企业级大型服务器端的Java程序。 -
2004年:Java进行重大改革并更名为Java 5.0版本。添加许多重要的特性,比如foreach循环。
-
2006年末:发布了Java6版本。
-
2009年:sun公司被oracle收购,Java停止更新。
-
2011年:发布了Java7版本。
-
2014年:发布了Java8版本,这个版本也是发生了最大的变化。增加了“函数式”编程方式,以及流的使用。
Java语言的演进 版本 年份 新语言特性 类和接口数量 1.0 1996 语言本身 211 1.1 1997 内部类 477 1.2 1998 strictfp修饰符 1524 1.3 2000 无 1840 1.4 2002 断言 2723 5.0 2004 泛型类、”for each“循环、可变元参数、自动装箱、元数据、枚举、静态导入 3279 6 2006 无 3793 7 2011 基于字符串的选择语句、菱形运算符、二进制字面量、异常处理增强 4024 8 2014 lambda表达式、包含默认方法接口、流和日期/时间库 4240 9 2017 模块、其他的语言和类库增强 6005