文档章节

java技术体系

qingfeng哥
 qingfeng哥
发布于 2014/06/04 12:02
字数 928
阅读 346
收藏 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
博文 124
码字总数 63706
作品 0
湛江
技术主管
全新互联网Java后端开发技术思维导图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/82714797 图文里的技术如何学习,有没有免费资料? 对Java的技术,架构技术...

JAVA高级架构v
09/15
0
0
Java技术体系大全,准备面试的可以参考一下!

JAVA技术体系1.1 Java程序员 ·高级特性 反射、泛型、注释符、自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入 ·核心编程 IO、多线程、实体类、集合类、正则表达式、X...

heiyexue
2015/08/17
0
2
什么是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
什么是Java语言?java语言简介

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

阿秀a
2010/10/19
0
0
用大白话告诉你啥是Java开发

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

远方Java
06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之 明确责任 观察者模式 状态模式 责任链模式

观察者模式是任务分发的一种模式。 如果认为我们设计的系统的各个模块(或子系统)的最终目的是完成共同任务,那么这个任务如何分配到多个模块的就是我们遇到的第一个问题。简单设计场合我们...

backbye
17分钟前
2
0
14-利用思维导图梳理JavaSE-大汇总

14-利用思维导图梳理JavaSE-Java基础知识大汇总 主要内容 1.对象入门 2.一切都是对象 3.程序流程控制 4.初始化和消除 5.权限访问控制 6.复用类 7.多态 8.接口与抽象类 9.内部类 10.容器 11.异...

飞鱼说编程
52分钟前
5
0
利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired

大家平时使用spring依赖注入,都是怎么写的? @Servicepublic class OrderService { @Autowired private UserService userService;} 是不是很熟悉的感觉?但是呢 如果你用...

HeyS1
59分钟前
25
0
IBATIS 写BLOB字段遇到的问题

1、 首先遇到的配置问题,通过设置typeHandler 来支持写入。接下来由此引出了事务的问题。 <typeHandler jdbcType="BLOB" javaType="[B" callback="org.springframework.orm.ibatis.support....

echo-neo
今天
1
0
37. Sudoku Solver

Description tags: backtrack,hash table difficulty: hard Write a program to solve a Sudoku puzzle by filling the empty cells.A sudoku solution must satisfy all of the following......

52iSilence7
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部