java是解释型语言,但是为了加快java的运行速度,java编译器横空出世。
解释运行效率低,为了提升代码的执行性能。JDK提供将字节码编译为机器代码的支持,编译在后台运行,通常成为JIT编译器。在执行过程中对执行效率高的代码进行编译,对执行不频繁的代码则继续采用解释的方式。编译的好处有哪些呢,让我们看看下面的例子:
1.方法内联
对于java语言来说,通常要调用多个方法完成功能。执行时要经历多次参数传递。采用方法内联的方式把调用的方法指令直接植入到当前方法中。
例如:
public void bb(){
cc();
}
public void cc(){
...
}
当编译时,如果cc编译完的字节数小于等于35字节,那么会演变成类似的结构
public void bb(){
//cc内容
}
2.去虚拟化
去虚拟化是指在装载CLASS文件后,进行类层次的分析,如发现类中的方法只提供一个实现类,那么对于调用了此方法的代码,也可进行方法内联,从而提升执行的性能。
3.冗余消除
指在编译时,根据运行时的状况进行代码折叠或消除。
4.标量替换
用简单变量替换复合对象。如用int取代Integer
5.栈上分配
如果某个对象没有逃逸,那么直接在栈上直接创建该对象。
6.同步消除
如果发现同步对象未逃逸,那么也就没有同步的必要了。
分享到:
相关推荐
Java编译器是Java开发中的核心工具,它将人类可读的Java源代码转换成计算机可执行的字节码。这个过程称为编译,对于Java来说,编译器扮演着至关重要的角色,因为它使得Java程序能在不同的操作系统和硬件平台上运行,...
Java编译器,通常被称为Javac,是Java开发工具包(JDK)的重要组成部分,负责将源代码转换为可执行的字节码。在Java编程语言中,编译过程并非像C++或C那样直接生成本地机器代码,而是生成跨平台的中间表示——字节码...
Java编译器是将源代码(.java文件)转换为字节码(.class文件)的工具,使得Java程序可以在任何支持Java虚拟机(JVM)的平台上运行。本资源包含了一个简单的Java编译器的原始代码,对于理解Java语言的编译过程以及...
Java编译器是将源代码(.java文件)转换成字节码(.class文件)的工具,使得这些代码可以在Java虚拟机(JVM)上运行。标签中的“编译器”意味着这个项目关注的是编译过程,而“java”则强调它是针对Java语言的。 ...
"windows下的java编译器和jdk.zip"这个压缩包包含了这两个关键组件。 JDK是Java开发的基础,它提供了编译、调试和运行Java程序所需的所有工具。在这个压缩包中,文件`jdk-8u241-windows-x64.exe`是Oracle公司发布的...
本文将详细介绍如何安装和使用Eclipse作为Java编译器。 首先,我们需要了解Java编译器的作用。Java编译器,通常指的是JDK(Java Development Kit)中的javac命令,它将源代码(.java文件)转化为字节码(.class文件...
在本项目中,"C语言实现的Java编译器"是一个独特的尝试,它将传统的编译原理理论应用于实际编程中,以C语言作为基础来构建一个能够解析和处理Java源代码的工具。这个项目主要涉及两个核心部分:词法分析器(Scanner...
标题中的"C#写的java编译器"是一个独特的项目,它使用C#编程语言来实现一个Java源代码的编译器。这个项目对于了解C#语言和编译原理的开发者来说,是一个有趣的挑战和学习资源。它揭示了如何利用C#构建一个能够处理...
在本压缩包“visual_java_src.rar”中,我们可以找到这个项目的源代码,这对于学习和理解Java编译器的工作原理以及如何构建一个自定义的编译器界面具有很高的价值。 首先,让我们深入了解一下Java编译器的基本概念...
MiniJava编译器是计算机科学领域中用于教学和实践的简化版Java编程语言的编译器。这个项目通常在编译原理课程中被用作项目作业(PJ),目的是让学生理解和掌握编译器的设计与实现过程。通过构建MiniJava编译器,学生...
《MiniJava编译器及其转化过程详解》 MiniJava是一种简化版的Java编程语言,它被广泛用于教学和编译原理的研究。MiniJava编译器是将MiniJava源代码转换为其他目标语言的工具,其典型的目标语言包括Piglet、Spiglet...
Java编译器是将人类可读的Java源代码转换为机器可执行的字节码的软件工具。在手机上使用Java编译器,意味着开发者可以在移动设备上直接编写、编译和测试Java程序,这对于移动应用开发来说具有很大的便利性。手机Java...
java编译器 (源代码+gui图形界面+英文报告) 包括词法分析,语法分析 三地址代码生成。 可以先看看http://blog.chinaunix.net/u/21684/showart_218863.html
Java编译器源代码是Java开发的核心组成部分,它将人类可读的Java源代码转换为计算机可执行的字节码。这个压缩包“java编译器源代码.rar”很可能包含了JDK(Java Development Kit)中的Javac编译器的源代码。Javac是...
Java编译器源代码是Java开发工具包(JDK)的一部分,主要负责将Java源代码转换为可执行的字节码。深入理解Java编译器的源代码对于开发者来说是提升编程技能、优化代码性能以及了解Java语言底层运作机制的重要途径。...
【标题】"小型的java编译器(GUI)"是一个基于Java编程语言开发的应用程序,其核心功能是提供一个图形用户界面(GUI)来支持Java源代码的编写、编辑、管理以及执行。这个简易版的工具借鉴了专业级集成开发环境(IDE...
本程序使用的都是黑窗口模式,换了背景色,调用的都是原编译器在DOS模式下的javac和java程序。虽然比不上Eclipse的集成度,但个人测试了几十个JAVA程序,感觉很上手,所以奉献给大家,资源分不多,感谢大家支持!【另...
熊熊Java编译器是免费的绿色软件,欢迎使用。 熊熊Java编译器 v1.07 What's new: ================== 1.系统皮肤全新更换,更简洁美观; 2.新皮肤具有容错性,故取消了窗口高度偏差调整; 3.支持...