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

  

最新文章

  1. git 命令大全
  2. 为自己搭建一个鹊桥 -- Native Page与Web View之间的JSBridge实现方式
  3. bootstrap学习总结-05 常用标签3
  4. xml配置文件
  5. sql跨电脑导数据
  6. asp.net identity 2.2.0 在WebForm下的角色启用和基本使用(二)
  7. android AutoCompleteTextView 自定义BaseAdapter
  8. ListView的动态刷新问题——用notifyDataSetChanged没作用
  9. java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
  10. 智能指针 shared_ptr 解析
  11. 一个简单的HTTP服务器(多线程)
  12. Make Things Move -- Javascript html5版(二)实现最基本的Sprite类和stage管理对象
  13. flume-1.6.0单节点部署
  14. 谈谈我对php通信的理解及人生小感
  15. 关于layer的坑
  16. 学习Javascript数据结构与算法(第2版)笔记(1)
  17. 解说css中的margin属性缩写方式
  18. 回文字符串 NYOJ
  19. Java基础知识_毕向东_Java基础视频教程笔记(26 反射)
  20. HTTP是用来做什么的

热门文章

  1. SQL注入之猫舍
  2. python连接集群mongodb,封装增删改查
  3. JAVA学习(七)
  4. Django笔记&教程 3-3 模板常用语法
  5. 物联网3D,物业基础设施3D运维,使用webgl(three.js)与物联网设备结合案例。搭建智慧楼宇,智慧园区,3D园区、3D物业设施,3D楼宇管理系统——第八课
  6. R数据分析:潜类别轨迹模型LCTM的做法,实例解析
  7. 关于Cefsharp无法拖动Dom元素的解决方法
  8. [hdu6715]算术
  9. [atARC111F]Do you like query problems
  10. 2020第十三届全国大学生信息安全竞赛创新实践能力赛rceme writerup