深入理解.NET 的JIT编译方式

    CLR只执行本机的机器代码。有两种方式产生本机的机器代码:实时编译(JIT)和预编译方式(产生native image)。 CLR使用类型的方法表来路由所有的方法调用。类型的方法表由多个入口项组成。每个入口项指向一个唯一的存根例程(stub routine)。 初始化时,每个存根例程包含一个对于CLR的JIT编译器的调用(它由内部的PreStubWorker程序公开)。在JIT编译器生成本机代码后,它会重写存根例程,插入…

制作运行Java的exe

    运行java程序时,由于离不开jre,所以在没有jre的机器上调试得复制jre,而且还得在命令行下运行,很不方便。于是就有批处理(*.bat)来帮我们解决这些问题。批处理很方便调试,但实际应用起来:会有窗口一闪而过,而且不能设制漂亮的图标,显然还不够完美。     网上确实有不少免费或收费的java转exe的软件,功能也很强大,网上也都介绍过,可是简单的功能我们自己也可以实现。     原理其实很简单…

java class file及反汇编后的jvm指令

未分类 , , , , , 发表评论
工程目录结构如下: HStudy          --src                --jvm                       --init          --classes                --jvm                       --init 源码如下: package jvm.init; public class Example5 { public static void main(String[] args) { int a = 2; int b = 3; if (args.length < 2) { System.out.println("Must enter any two args."); return; } System.out.p…

JVM概述

历史背景 [图片选自百科] 在60多年前,骨灰级的程序猿是这样子干活的:写一段程序时,找出一条纸带或一张卡片,然后,往上面打孔,没错就是打孔!1打孔,而0不用。 所以,那时候的IDE可想而知,胶水和剪刀就足以~再后来,可怕的人类先后开发出了Fortran、B、C等等。一系列的方便程序员编写的语言就这样腾空出世了。 但也因此带来了新的困扰,同一门语言在不同平台(如:window,Linux)上运行不具有…

Java 6 Hotspot的性能将有可能超越编译型语言

Sun公司的Kohsuke Kawaguchi考察了Hotspot JIT在JDK6 u10 b14 debug版中产生的汇编代码,并将其记录在博客中。该博文着重阐述了Java优化的程度。     Kawaguchi 将重点放在两个主要的地方。首先是循环展开(loop unrolling),它是这样一种技术:复制循环的每次迭代所调用的指令以构成一个序列。通过减少循环中计算机需要执行的指令,节省了执行时间。JIT 将其与预处理和事后分析相结合,同时Kawaguch…

Java bytecode assembler : jasmin

   如果要自己来写Java的编译器,我是指出编译出来的目标程序文件是Java的class执行文件.那么这里有个很好的工具: jasmin. 这个工具是一个Java的汇编编译器.能够将类式汇编的bytecode指令,翻译成最终的Java的class文件.  jasmin本身也是Java来写.不过和其它很多Java bytecode Assembler比起来,感觉它的优势是最大的,最广泛使用的.  Jasmin也是一个有名的开源项目,它的主页是: http://jasmin.sourceforg…

jdk 配置环境变量

 2年没有接触java了,今天心血来潮,配置了jdk的环境变量,费了好大的功夫,才出来个 Hello Word.。特此温习了jdk,在这和大家一起分享: JDK(Java Development Kit)JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。 1.我们先看看他的基本组件        javac – 编译器,将源程序转成字节码   jar – 打包工具,将相关的类文件打包成一个文件   javadoc – 文档生成器,从源码注…

好书推荐

================================================================ 1、Java Java编程语言(第三版)---Java四大名著----James Gosling(Java之父) Java编程思想(第2版)----Java四大名著----Bruce Eckel Java编程思想(第3版)----Java四大名著----------------Bruce Eckel JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名著-----Cay Horstmann JAVA 2核心技术 卷II:高级特性(原书第7版)--…