java技术体系
组成:
java程序设计语言
各种硬件平台上的java虚拟机
class文件格式
java api类库
来自商业机构和开源社区的第三方java类库
其中java程序设计语言,java虚拟机,java api类库这三部分统称为jdk(java Development Kit)
java API 类库中的 JavaSE API 子集和 java 虚拟机统称为 JRE (Java Runtime Environment)
Java技术体系分为4个平台
Java Card 小程序(Applets)
JavaME(Micro Edition)移动终端
JavaSE(Standard Edition)面向桌面级应用
JavaEE(Enterprise Edition)企业应用
JDK1.2 中并存过3个虚拟机 Classic VM,HotSpot VM,Exact VM
HotSpot VM,Exact VM 是内置JIT 编译器
HotSpot VM 是 JDK1.3 之后的默认虚拟机
java技术
内部类(Inner Class) 反射(Reflection) JIT(Just In Time)编译器 strictfp关键字 Collections 集合类 类库新增(数学运算和新的 Timer API) JNDI服务
使用CORBA IIOP 来实现 RMI 的通信协议 JavaSound类库 java 2D
1.4 新增正则表达式,异常链,NIO,日志类,XML解析器,XSLT转换器
1.5 改善语法易用性 自动装箱,泛型,动态注解,枚举,可变长参数,遍历循环(foreach 循环) 改进java内存模型 Java Memory Model,JMM,提供 java.util.concurrent并发包。
1.6提供动态语言支持(通过内置Mozilla JavaScript Rhino 引擎实现),提供编译 API 和微型 Http 服务器API 对虚拟机的改进(锁与同步,垃圾收集,类加载)
1.7,1.8,1.9 Lambda项目(Lambda表达式,函数式编程)Jigsaw项目(虚拟机模块化支持),动态语言支持,GarbageFirst收集器和Coin项目(语言细节进化)
javaSE 7 Update 4 起,oracle开始支持 Mac OS X操作系统
1.7语法改善 二进制数的原生支持,在switch语句中支持字符串,"<>”操作符,异常处理,简化变长参数方法调用,面向资源的try-catch-finally语句
jdk 可运行于Windows(不含Windows 9x),Linux, Solaris,Mac OS 平台上,支持ARM,x86,x64 和 Sparc 指令集架构类型
HotSpot VM 准确式内存管理,热点代码探测技术
多核并行
fork/join模式是处理并行编程的经典方法
并行计算的计算框架 Apache 的 Hadoop Map/Reduce
http://jdk7.java.net/source.html
OpenJDK 7 Update 6 Build b21
构建MacOS
https://developer.apple.com
XCode
Command Line Tools for XCode
Bootstrap JDK(编译OpenJDK 7 用JDK6 Update 14 之后版本) 可以用JDK7 Update 4
Apache Ant 1.7.1以上的版本
Ubuntu 默认安装好sdk 版本要在4.3以上 (GCC) 若没有GCC安装binutils
编译设置参数
LANG和ALT_BOOTDIR