文档章节

JAVA学习---为什么要用虚拟机

380121850Lee
 380121850Lee
发布于 2017/05/14 11:06
字数 333
阅读 17
收藏 0

刚一接触JAVA,按照以前的经验,编程语言总是要最终交给CPU执行的,因为不管什么语言,总是要最终编译成机器 码才行;

而JAVA,出来个.class的中间码,着实不理解,为什么中间要转一道?

度娘了一下,其它也有人在讨论这个事情,浏览了几页,大概有这么几个意思:

1、JAVA可以编译成机器码,目前也有工具支持这么做; 但是使用虚拟机的初衷,还是为了平台可移植性;而且不仅仅JAVA,也有其它高级语言也是“虚拟机语言”,如Python

2、图灵计算机里面,好像是“等效”这一说法,具体的不太懂,大意是说,假如有一个实体CPU,运行结果是A; 同时,有另外一个东西(别管是什么),运行结果也是A(相同输入),那这两个东西是等效的。我想,这种虚拟机机制的语言,应该是基于这种理论的吧

3、目前听说android是已经支持JIT了;网上对JIT说法不一致,但是按我理解,终极优化,应该是第一次运行时,就可以把JAVA全部编译成本地机器码;

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
380121850Lee
粉丝 1
博文 2
码字总数 333
作品 0
西城
程序员
私信 提问
JVM系列开篇:为什么要学虚拟机?

跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看。所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试。但我经过了几年的学习和实战,我发现...

陈树义
2018/11/06
0
0
[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱?

[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱? 曾经的我经常害怕处理与JVM相关的异常,对JVM的配置参数也一无所知,那时候我天真地认为,JVM的出现本身就是想让程序员屏蔽实现细节,...

原创小博客
2018/07/19
0
0
面试中关于Java虚拟机(jvm)的问题看这篇就够了

最近看书的过程中整理了一些面试题,面试题以及答案都在我的文章中有所提到,希望你能在以问题为导向的过程中掌握虚拟机的核心知识。面试毕竟是面试,核心知识我们还是要掌握的,加油~~~ 下面...

snailclimb
2018/05/12
0
0
JVM系列第3讲:到底什么是虚拟机?

我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 Windows 系统上...

陈树义
2018/11/09
0
0
JVM系列第12讲:JVM参数之查看JVM参数

今天要说的是如何查看 JVM 中已经设置的参数,包括显示参数和隐式参数。 打印显式参数 -XX:+PrintVMOptions 该参数表示程序运行时,打印虚拟机接受到的命令行显式参数。我们用下面的命令运行...

陈树义
2018/12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

2019-1-16

2019-1-16 星期三 晴转霾 早饭:小面包+鸡蛋糕;午饭:馍+地三鲜;晚饭:; 6:50起床,因为媳妇说可能今天晚上去大雁塔那边吃饭,早上起来后洗了个澡(主要因为头发很油了)。 今天早上天气...

莱菔籽
14分钟前
0
0
localDate、localDateTime、localTime的使用

从前端接受的时候,localDate类型的数据要转换,加 @DateTimeFormat(pattern = "yyyy-MM-dd")

shimmerkaiye
21分钟前
1
0
1.二叉树

概念 二叉树(binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的结构树。通常分支被称为“左子树”和“右子树”,左子树和右子树的位置不能随意颠倒。二叉树的第i层 ...

火拳-艾斯
24分钟前
2
0
java 线程

一、通过实现Runnable接口来创建线程 public class TestThread implements Runnable { public void run() { try { for (int i = 0; i < 10; i++) { ......

朝如青丝暮成雪
29分钟前
1
0
关于eclipse2017 import javax.servlet.jsp.tagext引入错误得问题

在eclipse中: 这个javax.servlet.jsp.tagext属于是tomcat相关jar包找到jsp-api.jar 在tomcat文件夹下边的lib文件夹中就有 如果项目中报错的话 把这个加入到项目中 在myeclipse中: 如下图,...

ZhangLG
44分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部