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

  

【JAVA】【Basic】概念的更多相关文章

  1. Java多线程概念简介 多线程中篇(一)

    Java的线程与操作系统的线程   在线程的相关介绍中,有讲到“线程的实现”分为三种:内核支持,用户级以及两者混合.(这只是一种简要的分类) Java线程在JDK1.2之前,是用户线程实现的 而在JD ...

  2. -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中

     本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁  sleep()和wait()方法的区别 为什么wait( ...

  3. 一 JAVA整体概念以及安装部署

    JAVA 基本概念  JVM(JAVA virtual machine)java虚拟机,是java的能跨平台的核心,java的跨平台实现,就是在各种系统中布置JVM,然后java应用运行在JVM中,相 ...

  4. Java分层概念(转)

    Java分层概念(转) 对于分层的概念,似乎之间简单的三层,多了,就有点难以区分了,所以收藏了这个. ervice是业务层 action层即作为控制器 DAO (Data Access Object) ...

  5. Java基础概念语法

    Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...

  6. JAVA反射概念及使用详解(超详细)

    JAVA反射概念及使用详解 一.什么是反射? 反射:框架设计的灵魂 框架:半成品软件.可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象,这就是反射机制 ​ 好处: ​ ...

  7. 加深理解Java异常概念并熟记5个最常见的运行时异常

    加深理解Java异常概念并熟记5个最常见的运行时异常 说明Error与Exception的联系和区别有哪些? 列举最常见的5个运用时异常. 1.Error和Exception的联系和区别: Error ...

  8. JAVA理论概念大神之概念汇总

    我个人觉得,JAVA之所以能够经久不衰,有一个很重要的原因就是:JAVA的理论总是给人一种,虽然不知道是什么,但是感觉很厉害的样子.就单是这一点,他就已经超越许多其他语言了,至少吹牛的时候谈资总是很多 ...

  9. 转!!java泛型概念(泛型类,接口,方法)

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  10. Java基本概念(未完)

    仅简单总结~辅助快速回忆~ 一.JVM 1,Java类加载机制 Java程序由多个类文件组成,按需加载. Java的动态扩展是由运行期动态加载和动态链接实现的.——动态绑定,多态. 加载步骤: 1)装 ...

随机推荐

  1. [python]django的mode设置表结构和serializers序列化数据

    框架使用的库版本 python3.6.5 Django-2.0.6 djangorestframework-3.8.2 mysqlclient-1.3.12 1.项目结构声明,数据库在setting. ...

  2. vscode 导入第三方jar包(添加外部JAR)

    添加 jar包 至根目录下lib文件夹,在 .classpath 文件内添加 jar 路径. 注意:新添加的 jar路径 在"src"和"bin"之间,否则无法 ...

  3. hive 权限排查

    show grant role role_username id username

  4. python datetime 增减以月为单位的时间段

    datetime.timedelta(days=10)  # 可以 datetime.timedelta(months=1)   # 不可以 替代: from datetime import date ...

  5. Part 34 AngularJS controller as vs scope

    There are 2 ways to expose the members from the controller to the view - $scope and CONTROLLER AS. T ...

  6. 利用opencv进行简易的拍照并处理照片

    今天用python写了一个调用摄像头拍照并对图片进行素描化或动漫化的小demo. 首先我的环境是:PyCharm+python3.8+opencv-python(4.4.0.42) 我们分析一下思路, ...

  7. [hdu7076]ZYB's kingdom

    不难发现,操作1可以看作如下操作:对于删去$a_{1},a_{2},...,a_{k}$后的每一个连通块(的点集)$V$,令$\forall x\in V,x$的收益加上$s$(其中$s=\sum_{ ...

  8. [bzoj1711]吃饭

    由于无法直接将果汁和饮料连边,所以将人放在中间,果汁和饮料放在两侧,然后分别向对应的人连边.同时,为了保证每一个人只被算一次,对每一个人裂点,两个点中间连一条流量为1的边. 1 #include< ...

  9. [loj2850]无进位加法

    (似乎漏了一个数据范围,cf上的题面中还有$\sum L\le 3\cdot 10^{5}$) 考虑$a_{i}=2^{k_{i}}$时(不妨$k_{1}\ge k_{2}\ge ...\ge k_{ ...

  10. C/C++ Qt ToolBar 菜单组件应用

    ToolBar工具栏在所有窗体应用程序中都广泛被使用,使用ToolBar可以很好的规范菜单功能分类,用户可根据菜单栏来选择不同的功能,Qt中默认自带ToolBar组件,当我们以默认方式创建窗体时,To ...