文档章节

java技术体系

qingfeng哥
 qingfeng哥
发布于 2014/06/04 12:02
字数 928
阅读 347
收藏 2

深入理解java虚拟机之java技术体系,有些个人理解,不当之处错误之处请放肆批评。

计算机中最终能执行的是 机器码,相关概念:复杂指令集、精简指令集,汇编

有限的指令集的反复组合,(三生万物)便可操控复杂逻辑应用,但编写的难度非常之大,我们需要近似人类说话办事的方式来操控....

一个不太恰当的类比:人类语言,全世界的语言种类纷繁复杂,各个国家有各个国家的主语言,除了主语言还有各种听不懂的方言,但最终本质都是要 沟通表达,而且我们知道语种之间可以互相翻译。

if  有一位来自米国的pp小姐找我给她整电脑,小姐会english、德语,法语,。。。。。唯独不懂汉语,我这么爱国,只会汉语。咋办?这时就得找个翻译了,灯泡似得翻译将pp小姐的需求翻译成汉语告诉我,我才知道怎么动作才能满足她噻。

then 在计算机世界,计算机只理解机器码,我们些苦逼的程序猿会各种高级程序语言,但几乎不懂机器码,咋办?对了就是那个翻译了,各种高级语言都有各自的翻译-编译器,将我们写的高级语言程序,编译成计算机能理解的机器码。这个编译器老重要了。于是有门课叫 编译原理,虽然我没学过,但大概是讲编译器怎么将写好的程序翻译得信达雅,高速精简吧,如果你能自己写个编译器出来,然后性能速度还可以,OK,你发达了。

于是出现了各种程序员能很好地理解和编写的 高级语言,

但是还有问题:物理机器千差万别,虽然已被操作系统进行了一层抽象,但有些编译器最终翻译出来的机器码并不能兼容这么多的物理机差异,来一种机型就得针对这种机器重新编译。这时 java语言和java虚拟机救世主般的出现了,java系的理想是

一次编写,到处运行

通过java虚拟机的抽象封装屏蔽

Java虚拟机可以看作是一台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域


  sun定义的java技术体系包括:
java 虚拟机
java class文件 - 字节码文件格式
java 程序设计语言
java API类库(自带的、开源的、商业的)
以上组合为 JDK,支持Java开发的最小环境


JRE=虚拟机+JavaSE API类库=支持Java程序运行的标准环境

根据java服务的重点领域分为:JavaCard  JavaME   JavaSE    JavaEE

Java的前身是1991年gosling发起的试图可以在各种电子产品上运行的语言oak

java诞生于1995年5月23日,当时哥已经10岁了

96年jdk1.0 -到 97年jdk1.1采用的是纯解释执行的Java虚拟机sun classic vm ,是跟php的zend虚拟机一样吧?

98年jdk1.2之后的开始默认使用HotSpot虚拟机,内置了即时JIT编译器,中国却特大洪涝

2000年的jdk1.3 2002年的1.4渐渐成熟稳定

04年jdk1.5,大量语法易用性、jvm内存模型、并发包改进

06年jdk1.6

09年被Oracle收购

11年jdk1.7

14年jdk1.8


© 著作权归作者所有

共有 人打赏支持
qingfeng哥

qingfeng哥

粉丝 44
博文 126
码字总数 64298
作品 0
湛江
技术主管
私信 提问
JVM系列第1讲:Java 语言的前世今生

Java 语言是一门存在了 20 多年的语言,其年纪比我自己还大。虽然存在了这么长时间,但 Java 至今都是最大的工业级语言,许多大型互联网公司均采用 Java 来实现其业务系统。大到国际电商巨头...

陈树义
11/07
0
0
阿里P8架构师总结的互联网Java架构系统化学习路线

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/83181980 网络应用,最常见的研发语言是Java的和PHP。 后端服务,最常见的...

JAVA高级架构v
10/19
0
0
什么是J2EE、Java SE、Java EE、Java ME?

目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Ed...

Midnight
2010/12/28
0
0
(3.5)java技术分享沙龙 springboot分享第二期

本期为【开源开发日】活动第23期。“开源开发日”是由技术交流组织【开源研习社】和中软国际解放号合办的技术分享和现场编程交流活动, 活动每周举办,目前已经主办23期。此前的分享主题包括...

jie1234
2017/03/02
3
0
什么是Java语言?java语言简介

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的W...

阿秀a
2010/10/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows10小鹤双拼注册表

《安全第一》直接发文本内容,自己建文本,改文本后缀reg。 使用方法: 1.复制下示文本内容,打开你的文本编辑器(#记事本notepad或其他++),粘贴文本内容并保存在任意位置(不影响使用) ...

漫步海边小路
11分钟前
1
0
一、数据挖掘

数据挖掘的发展动力---需要是发明之母 数据爆炸问题 自动数据收集工具和成熟的数据库技术使得大量的数据被收集,存储在数据库、数据仓库或其他信息库中以待分析。我们拥有丰富的数据,但却缺...

凯文加内特
15分钟前
1
0
Java线程池ThreadPoolExecutor

线程池 ThreadPoolExecutor 线程池是ExecutorService的实现,可以通过Executors执行工厂构造不同类型的执行服务(线程池)。 ThreadPoolExecutor线程池使用的是阻塞队列BlockingQueue。 用于...

器石_
15分钟前
2
0
Mybatis 实现SQL拦截并在控制台打印SQL和参数

注:可以拦截sql 执行时间,优化sql。并打印sql 以及参数 第一步:创建类: SqlPrintInterceptor 并实现 Interceptor 该类如下: package com.ra.common.plugin;import org.apache.ibati...

轻量级赤影
18分钟前
2
0
Log4j2 配置

config: <?xml version="1.0" encoding="UTF-8"?><!-- http://logging.apache.org/log4j/2.x/manual/appenders.html --><!-- status 负责打印日记系统的 WARN 级别以及以上的日记 --><C......

Credo-Zhao
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部