1. 历史
1.1. Sun, Green Project, 90年代初,为机顶盒提供一个统一的语言层,oak--》Java, James Gosling, Sun World
1995:JAVA 1.0 write once, run anywhere
1996:JDK 1.0(Java Development Kit),包含类库、开发工具(javac)以及JVM(Sun Classic VM);
1997: JDK 1.1,JAR文档格式、JDBC、JavaBeans
1998: JDK 1.2 Sun分拆Java技术为三个方向:J2SE(Standard Edition) J2EE(Enterprise Edition) J2ME:(Mobile);
代表技术:EJB, JAVA Plugin, Swing, JIT
1999: 收购Hotspot VM
2000: JDK 1.3
2002: JDK 1.4
2006: Sun开源了Java技术,GPL,建立了一个称OpenJDK组织;但是仍然保留了一些商业代码
并改名为 Java 2 SE
Java 2 EE
Java 2 ME
2. Java的体系结构规范:
Java编程语言
Java Class文件格式
Java API
Java VM
JVM的核心组件:
Class Loader
执行引擎
Java编程语言的主要特性:
纯面向对象的编程、多线程、结构化错误处理、自动垃圾收集、动态链接、动态扩展
GC:Garbage Collector
JVM的运行时区域:
方法区:线程共享;用于存储被JVM加载的class信息、常量、静态变量、方法等;持久代;
堆:是jvm所管理的内在中的最大的一部分,也是GC管理的主要区域;主流的垃圾收集算法基于分代收集的机制;
Java栈:现成私有,存储现成自己的局部变量;
PC寄存器:线程私有的内存空间,程序的指令指针;
本地方法栈;
Java 2 SE: JDK,如:OpenJDK, Oracle JDK
Java 2 EE: JDK + 企业级类库(Servlet, JSP, EJB, JMS, JMX, javaMail)商业实现:Weblogic,WebSphere,Oc4j
Servlet:
JSP:基于jasper,将其转换为纯java代码,格式为servlet
Web Container:
Servlet Container:
Java Web Server: JWS
ASF: jServer
Tomcat: 结合JWS和jServer,产生了Tomcat
2001:tomcat 4.x, catalina
实现:
商业版:
Websphere(IBM)
Weblogic(Oracle)
Oc4j
Glassfish
Geronimo
jOnAS
jBoss
开源版:
Tomcat
jetty
Resin
3. JDK安装
3.1. RPM:
java-1.7.0-openjdk.x86_64, java-1.7.0-openjdk-devel.x86_64
3.2. Oracle JDK