注意:一下内容纯属个人理解,如有错误,欢迎批评指正。

  (90度弯腰)谢谢。

java在JVM上的运行过程:

1,编辑好的java代码(IDE无报错,测试运行无错误);

2,java源代码通过javac编译成class文件(字节码文件,全是二进制数据,是供神看的东西);

3,class文件加载到JVM上,继续二次编译(或者说上次的根本就不算编译,就是一格式转换),进行平台格式化(这也是java广告的来源);

4,格式化后的文件,就可以在相应的平台上进行运行了(机器直接读取格式化后的二进制文件,也就是字节码、机器码,一个意思)。

简单的说就是以上那点东西。

我的疑问有以下几点:

1,java的IDE的纠错机制是怎么进行的?难道要把所有能出现的错误全部继承为一个数据库,然后在运行中进行查询?那得多慢啊。所以这个方案否定(如果真是这样,我只能呵呵了)。

2,java到class文件过程,是什么在进行的,class到底是什么文件,简单的二进制?据说是C程序(某大神这样解释的),真的吗?

3,class到JVM:JVM在不同的平台上有不同的版本,对应不同的解码机制(?)。但是,这个JVM是怎么出现的,用java写的还是其他语言?亦或是汇编?

4,异常、错误机制:机器运行不了了,程序出现错误了,异常抛出,怎么抛的?就像扔东西一样扔出去?

5,JVM格式化(我自己喜欢这样叫)class文件后,生成的是什么文件?存储到哪里了?

6,都说java的运行速度慢,又有说java可以格式化成C语言,甚至汇编语言(参照上面的大神),那么,为什么不直接将java格式化为C或汇编后再发布?这样猿猿们也轻松了,机器也轻松了,真个世界都和平了。

7,这个问题宽泛了:JVM个平台的区别,我说的是root,不是简单的版本。

8,待补充。。。

解决问题:

问题提出来就是要解决的,只是今晚没心情,还有任务要做,先这样了。

来个戳:2015-07-21

插曲:

其实这个题目并不是我想写的,是周公让我写的。

可恶的周公,在梦里也不放过我,休息下容易吗。

JAVA的JVM虚拟机工作原理.V.1.0.0的更多相关文章

  1. java中jvm的工作原理

    首先我们安装了jdk和jre,但是jdk是为java软件开发工程师而使用的开发工具,我们运行java项目只要含有jre文件即可.对于jvm是内存分配的一块区域,我们知道,当我们开始使用java命令时, ...

  2. Java虚拟机工作原理

    Java虚拟机工作原理 首先我想从宏观上介绍一下Java虚拟机的工作原理.从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac ...

  3. java中JVM虚拟机内存模型详细说明

    java中JVM虚拟机内存模型详细说明 2012-12-12 18:36:03|  分类: JAVA |  标签:java  jvm  堆内存  虚拟机  |举报|字号 订阅     JVM的内部结构 ...

  4. Java类加载器的工作原理

    Java类加载器的作用就是在运行时加载类.Java类加载器基于三个机制:委托.可见性和单一性.委托机制是指将加载一个类的请求交给父类加载 器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它. ...

  5. Java 连接池的工作原理(转)

    原文:Java 连接池的工作原理 什么是连接? 连接,是我们的编程语言与数据库交互的一种方式.我们经常会听到这么一句话“数据库连接很昂贵“. 有人接受这种说法,却不知道它的真正含义.因此,下面我将解释 ...

  6. Java虚拟机工作原理详解 (一)

    一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 javac YourClassNam ...

  7. Java虚拟机工作原理详解

    原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了 ...

  8. Java虚拟机工作原理具体解释

    一.类载入器 首先来看一下java程序的运行过程. 从这个框图非常easy大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘其中.然后你在命令行中输入 javac YourClass ...

  9. [转]java虚拟机工作原理详解

    一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 javac YourClassNam ...

随机推荐

  1. Progressive enhancement

    https://en.wikipedia.org/wiki/Progressive_enhancement Progressive enhancement is a strategy for web ...

  2. [转]GPS纠偏算法,适用于google,高德体系的地图

    此文是转的,算法没验证过,只是记录一下. GPS纠偏算法,适用于google,高德体系的地图,精确度还比较高.我试了一下比高德本身的纠偏还精确点. /** * gps纠偏算法,适用于google,高德 ...

  3. HTML5 测验记录

    结果:11/20 您的回答: 1.HTML5 之前的 HTML 版本是? 您的回答:HTML 4 正确答案:HTML 4.01 2.HTML5 的正确 doctype 是? 您的回答:<!DOC ...

  4. 蓝牙BLE ATT剖析(二)-- PDU

    一.Error Handling Error Response The Error Responseis used to state that a given request cannot be pe ...

  5. 【转】android程序编译过程

    现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要 ...

  6. String 与StringBuffer比较

    package String比较; /* * String 与StringBuffer比较 * String 不可变,一旦赋值,就不能被修改 * StringBuffer可变的字符串. * Strin ...

  7. ArcGIS API for Silverlight 调用GP服务加载等值线图层

    原文:ArcGIS API for Silverlight 调用GP服务加载等值线图层 第二篇.Silverlight客户端调用GP服务 利用ArcGIS API for Silverlight实现G ...

  8. Dictionary、SortedDictionary、Hashtable 、SortedList

    HashTable数据结构存在问题:空间利用率偏低.受填充因子影响大.扩容时所有的数据需要重新进行散列计算.虽然Hash具有O(1)的数据 检索效率,但它空间开销却通常很大,是以空间换取时间.所以Ha ...

  9. ASIHTTPRequest 记录过去5秒的平均流量字节/秒

    //记录过去5秒的平均流量字节/秒 NSLog(@"%llu",[ASIHTTPRequest averageBandwidthUsedPerSecond]);

  10. opencv hog+svm行人检测

    http://blog.csdn.net/masibuaa/article/details/16105073 http://blog.csdn.net/u011263315/article/detai ...