文档章节

JVM学习心得体会 (第一天)

seng
 seng
发布于 2013/06/25 15:27
字数 607
阅读 268
收藏 11
Java虚拟机

Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

java虚拟机是一个标准,可以由不同的厂家用不同的方式(软件或硬件)去实现它,只要他们的实现是符合标准即可。

各个不同厂家实现的java虚拟机


先来看一下java平台的结构图: 


JVM与JRE、JDK关系?

  JVM:Java Virtual Machine(Java虚拟机),负责执行符合规范的Class文件

  JRE: Java Runtime Environment (java运行环境),包含JVM和类库

  JDK: Java  Development Kit(java开发工具包),包含JRE和开发工具包,例如javac、javah


 JVM所处的位置:

JVM是java程序与操作系统之间的适配器。

因为Java虚拟机的存在,java可以在不同的操作系统平台上运行。JVM工作时,先读取由java源码生成的class字节码,再把字节码翻译成为JVM所在的操作平台上可执行的指令。


编译执行的流程:


今天就先写到这里。

刚开始写的文章,只是个人见解,不足之处请指出。


© 著作权归作者所有

上一篇: Java 自增困惑
下一篇: MINA 学习记录
seng
粉丝 7
博文 12
码字总数 6909
作品 0
大连
程序员
私信 提问
加载中

评论(5)

上海Java架构师
上海Java架构师
推荐大家一个个人觉得超级好的Java学习网站:http://how2j.cn?p=944,网站里有Java基础、中级、高级、Javaweb、框架、数据库(oracle、mysql、hsqldb)、Vue、模仿天猫(天猫前端、天猫整站J2EE、天猫整站SSH、天猫整站SSM、天猫整站Springboot)、工具、职场上的一些面试题哦等等的,站长一直在更新新的知识,很好用哦
有人注册吗
希望楼主有时间多来点
JqbR001
JqbR001
^o^看看
chape
chape
期待
谨以此为号
谨以此为号
+u!!!!
压箱底的收藏,JAVA精华文章大全(一)!

瞧一瞧俺的收藏,N久才收藏全的JAVA精华文章拿出来与大家分享!知名论坛的精华帖子,绝对精华! 精华之王发表了题为《String与基本资料形态之间的转换 》的博客 24分钟前 精华之王发表了题为...

精华之王
2009/04/12
2.4K
6
如果你想学习Java,那么就来看这篇文章

一、前言 我是从大二开始学习的Java,当时的目标是Java Web开发,当时并不想考研,所以当时的学习是以就业为主,现在我大三了,学习Java Web开发已经一年了,因为种种原因,决定要考研,所以...

Jivanmoon
2018/08/27
0
0
一个java初学者的心得体验!

学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。 还记得我编写的第一个经典程序“Hello Word”。从那时起我已开始走进Java的世界。 当时...

嘿你好夏天
2018/01/12
0
0
Java基础之数组队列及Java堆外内存学习笔记[图]

Java基础之数组队列及Java堆外内存学习笔记[图] 1.数组 1.1 数组基本概念: 数组是一个容器,可以存储同一数据类型的N个数据;数组是一个数据结构,是数据结构中访问速度最快的; 数组是直接...

原创小博客
2018/08/25
50
0
长达十年的争议:Java 到底开源了吗?

2006年11月13日,Sun Microsystems正式开源Java。事实上Java的源代码在发布第一天就可以访问,这一策略帮助Java在早年推动了平台的建立。 Java之父James Gosling称,他们公开源代码的意图是让...

红薯
2016/11/14
9.6K
28

没有更多内容

加载失败,请刷新页面

加载更多

75、GridFS

GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用Mongo DB存储数据,使用FGridFS可以快速集成开发。 工作原理: 在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个...

lianbang_W
今天
4
0
js bind 绑定this指向

本文转载于:专业的前端网站➱js bind 绑定this指向 1、示例代码 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <title>bind函数绑定this指向......

前端老手
今天
4
0
CentOS Linux 7上将ISO映像文件写成可启动U盘

如今,电脑基本上都支持U盘启动,所以,可以将ISO文件写到U盘上,用来启动并安装操作系统。 我想将一个CentOS Linux 7的ISO映像文件写到U盘上,在CentOS Linux 7操作系统上,执行如下命令: ...

大别阿郎
今天
4
0
深入vue-公司分享ppt

组件注册 全局注册 注册组件,传入一个扩展过的构造器 Vue.component('my-component', Vue.extend({/*...*/})) 注册组件,传入一个选项对象(自动调用Vue.extend) Vue.component('my-comp...

莫西摩西
今天
5
0
gitlab重置管理员密码

登录gitlab服务器 [root@localhost bin]# sudo gitlab-rails console productionLoading production environment (Rails 5.2.3)irb(main):001:0> u = User.where(email: 'admin@example.co......

King华仔o0
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部