【JAVA】【Basic】概念
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】概念的更多相关文章
- Java多线程概念简介 多线程中篇(一)
Java的线程与操作系统的线程 在线程的相关介绍中,有讲到“线程的实现”分为三种:内核支持,用户级以及两者混合.(这只是一种简要的分类) Java线程在JDK1.2之前,是用户线程实现的 而在JD ...
- -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中
本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait( ...
- 一 JAVA整体概念以及安装部署
JAVA 基本概念 JVM(JAVA virtual machine)java虚拟机,是java的能跨平台的核心,java的跨平台实现,就是在各种系统中布置JVM,然后java应用运行在JVM中,相 ...
- Java分层概念(转)
Java分层概念(转) 对于分层的概念,似乎之间简单的三层,多了,就有点难以区分了,所以收藏了这个. ervice是业务层 action层即作为控制器 DAO (Data Access Object) ...
- Java基础概念语法
Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...
- JAVA反射概念及使用详解(超详细)
JAVA反射概念及使用详解 一.什么是反射? 反射:框架设计的灵魂 框架:半成品软件.可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象,这就是反射机制 好处: ...
- 加深理解Java异常概念并熟记5个最常见的运行时异常
加深理解Java异常概念并熟记5个最常见的运行时异常 说明Error与Exception的联系和区别有哪些? 列举最常见的5个运用时异常. 1.Error和Exception的联系和区别: Error ...
- JAVA理论概念大神之概念汇总
我个人觉得,JAVA之所以能够经久不衰,有一个很重要的原因就是:JAVA的理论总是给人一种,虽然不知道是什么,但是感觉很厉害的样子.就单是这一点,他就已经超越许多其他语言了,至少吹牛的时候谈资总是很多 ...
- 转!!java泛型概念(泛型类,接口,方法)
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...
- Java基本概念(未完)
仅简单总结~辅助快速回忆~ 一.JVM 1,Java类加载机制 Java程序由多个类文件组成,按需加载. Java的动态扩展是由运行期动态加载和动态链接实现的.——动态绑定,多态. 加载步骤: 1)装 ...
随机推荐
- python3.7 pip
Is pip the same for 3.4+ No, it's not. A single pip installation serves a single Python distribution ...
- RabbitMQ(六)消息幂等性处理
一.springboot整合rabbitmq 我们需要新建两个工程,一个作为生产者,另一个作为消费者.在pom.xml中添加amqp依赖: <dependency> <groupId ...
- C 语言基础,来喽!
前言 C 语言是一门抽象的.面向过程的语言,C 语言广泛应用于底层开发,C 语言在计算机体系中占据着不可替代的作用,可以说 C 语言是编程的基础,也就是说,不管你学习任何语言,都应该把 C 语言放在首 ...
- 菜鸡的Java笔记 java数据库编程(JDBC)
java数据库编程(JDBC) 介绍 JDBC 的基本功能 content (内容) 现在几乎所有的项目开发过程之中都不可能离开数据库,所以在java ...
- Python 全局变量和局部变量,global 和 nonlocal关键字
全局变量和局部变量 全局变量:定义在函数外的变量 局部变量:定义在函数内部变量 获取变量值时候先获取当前作用域变量名称和变量值,如果没找到到上一层作用域招变量的值,在没有就报错,先获 ...
- WPF仿Tabcontrol加载切换多个不同View
在同一块区域显示不同的视图内容,直接使用Tabcontrol,可能要重写TabItem的控件模板,最直接的方法通过按钮的切换,控制一个ContentControl的Content值,实现切换不同的视图 ...
- 什么。你还没有搞懂Spring事务增强器 ,一篇文章让你彻底搞懂Spring事务,虽然很长但是干货满满
上一篇文章主要讲解了事务的Advisor是如何注册进Spring容器的,也讲解了Spring是如何将有配置事务的类配置上事务的,也讲解了Advisor,pointcut验证流程:但是还未提到的那个Ad ...
- Java 如何对文件进行多个Object对象流的读写操作
思路:把已经序列化的对象存入容器(如LinkedList<?>)中,然后用ObjectInputStream和ObjectOutputStream对这个实例化的LinkedList< ...
- MySQL5.5.33对应的JDBC驱动包怎样使用?
双击msi文件就会自动安装,然后找到安装路径下的jar,并把它加到类路径下,如手动编译和执行时javac -classpath c:\program files\...\mysql.jar;... m ...
- [bzoj1122]账本
简化问题:如果没有2操作,答案是多少贪心:修改-一定修改最前面的,修改+一定修改最后面的,正确性显然而通过1操作,要完成两步:1.让最终结果为q:2.让前缀和非负,通过贪心可以获得最小值(具体来说,假 ...