【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)装 ...
随机推荐
- SQL注入之猫舍
第一步:先查看是否存在注入点:构造?id=1 and 1=1 回车后发现页面正常 构造?id=1 and 1=2 发现页面异常,得出结论:存在注入点 第二步:判断字段数 当输入order by 1和o ...
- uni-app map组件关于marker标记点动态设置的问题
marker是Array类型,赋值的时候只能对整个数组进行更改赋值,不能只改变内部的对象,亲测Vue.$set()也不行 this.marker = [ { latitude: 39.90, long ...
- Python科普系列——类与方法(上篇)
欢迎来到新的系列,up又开新坑了~~ 实际上,Python作为一门易用性见长的语言,看上去简单,却仍然有很多值得一说的内容,因此这个系列会把Python中比较有意思的地方也给科普一遍.而另一方面,关于 ...
- Linux基础四:软件包管理
四.软件包管理器: 1.概念 红帽有两款软件包管理器,分别是rpm和yum. 1.rpm软件包管理器 -> 用来安装单个包 -> .rpm文件 红帽的安装包文件,都放在Packag ...
- 菜鸡的Java笔记 第三十 - java 异常的捕获及处理
异常的捕获及处理 1.异常的产生分析以及所带来的影响 2.异常的处理的基本格式 3.异常的处理流程 4.异常的处理模式 5.自定义 ...
- 【linux系统】命令学习(五)linux三剑客 grep \ awk \ sed
grep----基于正则表达式查找满足条件的行 1.内容检索 获取行 grep pattern file 获取内容 grep -o pattern file 获取上下文grep -A -B -C pa ...
- vue文件引入
<template> <div class="hello"> <h1>{{ msg }}</h1> <!-- <h1&g ...
- 【Python】批量给图片增加水印工具
背景 最近有一些图片需要增加水印,找了一圈也没看见比较好的工具,又不想用破解的PS,干脆自己做了一个GUI工具,有需要的同学自取 功能 支持水印预览 自定义水印文字内容 支持行楷和微软雅黑两种字体 支 ...
- java Scanner类与String类
Scanner类的使用: 导入Scanner包,new Scanner对象,记得调用System.in参数,调用对应next方法实现键盘录入. import java.util.Arrays; i ...
- #10470. 「2020-10-02 提高模拟赛」流水线 (line)
题面:#10470. 「2020-10-02 提高模拟赛」流水线 (line) 题目中的那么多区间的条件让人感觉极其难以维护,而且贪心的做法感觉大多都能 hack 掉,因此考虑寻找一些性质,然后再设计 ...