`
zjt5916
  • 浏览: 1093 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

javac 与 jit

阅读更多
jvm结构的那张图本来是有的
可是不知道该怎么往上贴
就算了

刚看那幅图时  搞不明白 为什么.java编译成.class之后  还需要用jit这个即时编译器
后来看了篇文章才弄清楚一点点
怕以后忘了  概括写下来


1.javac 将.java程序转换为.class jvm对.class进行解释执行

2.jit 不牺牲平台无关性的情况下对.class进行本地编译  以获取c/c++的执行效率
分享到:
评论
1 楼 RednaxelaFX 2011-05-24  
楼主想要的是这张图?

相关推荐

    javac 编译器源代码

    - **字节码生成**:了解字节码指令集,有助于优化 JVM 上的代码执行,也能帮助理解 JIT(Just-In-Time)编译的工作方式。 - **错误处理**:学习如何在编译过程中有效地报告和处理错误,提升自己编写编译工具的能力。...

    javac++.zip

    HotSpot会分析运行时的代码执行情况,对经常执行的部分进行即时编译(JIT编译),从而提高程序性能。研究HotSpot的C++源代码可以帮助理解JVM的工作原理,包括垃圾收集、内存管理、线程调度和性能优化等关键领域。 4...

    深入JVM即时编译器JIT,优化Java编译

    与传统的C/C++编译器不同,JIT能够在程序运行过程中收集运行时信息,对代码进行优化,这种优化甚至包括裁剪未使用的分支,以提升性能。因此,JIT编译器对于Java应用的性能至关重要。 Java从编译到运行的过程大致...

    java编译器1

    4. **解释器与JIT的关系**:HotSpot JVM同时包含解释器和JIT编译器。解释器能够快速启动程序,占用资源少,适合于初始执行和简单任务。而JIT则用于优化性能,尤其在频繁执行的代码段上,通过编译成本地代码来提高...

    java8看不到源码-dc-lang:一种玩具编程语言+跟踪JIT

    java8 看不到源码dc-lang 一种带有跟踪 JIT 的玩具命令式编程语言。 比 C 快! 要求 C++17 编译器 CMake >= 3.8 LLVM 7(可选,您可以通过将 DC_LANG_USE_SYSTEM_LLVM 设置为 ...--jit ...--jit ...javac

    Java运行时动态编译

    Java程序在执行前,会通过Java编译器(javac)将源代码编译为字节码,这是平台无关的中间表示。然后,当Java虚拟机加载这些字节码时,它有两种执行方式:解释执行和编译执行。解释执行是指JVM逐行解释字节码并执行,...

    11丨即时编译:高性能JVM的核心秘密1

    与静态编译,如C++编译器将源代码一次性转换为机器码不同,JIT编译器在程序运行期间分析代码并将其部分转换为优化过的本地机器码。这样做的目的是在运行时提供更高的性能,因为JIT能够根据实际运行环境和数据分布...

    Java编译技术.pdf

    与JIT不同,动态编译可能会针对整个类或者模块进行编译,而不是单个方法。 本地编译技术则将Java源代码或字节码直接编译成本地机器代码,生成可执行文件。这种方式类似于C/C++的编译流程,使得Java程序可以像本地...

    java知识整理1

    本文主要探讨Java的内存区域、程序计数器、虚拟机栈、堆、方法区以及类加载机制,同时也提及了Javac编译器和JIT即时编译器的工作原理。 1. **Java内存区域**: - **程序计数器**:每个线程都有独立的程序计数器,...

    Java基础面试题.docx

    Java的“编译与解释并存”特性体现在其程序执行流程上。Java源码首先被编译成字节码,然后在JVM中,字节码被解释执行,同时JIT编译器动态编译热点代码为机器码。这种混合模型既保持了跨平台的便利性,又提高了运行时...

    动态编译与性能测量1

    与静态编译语言如C++不同,Java的优化主要发生在运行时,通过JVM的动态编译,即即时编译(JIT,Just-In-Time Compilation)。 动态编译的概念始于早期JVM对解释执行的改善。解释器逐行解释字节码,效率较低。为解决...

    java编译器,解释器构造实践

    4. **解释器与JIT编译器**:解释器负责逐行执行字节码,而JIT编译器在运行时动态编译频繁执行的代码段,提供更好的性能。这种结合使得Java在保证跨平台性的前提下,也能获得接近原生代码的执行速度。 5. **Eclipse ...

    JVML-JIT:JVML的延续,它将JIT将Java字节码转换为Lua字节码,而不是进行解释

    JVML的延续,它将JIT将Java字节码转换为Lua字节码,而不是进行解释。 由ds84182提供的原始代码库。 要求 需要Ant来构建JVML的运行时库(cc_rt.jar) 要编译Java源文件并确保针对CCLib运行时进行正确的检查,而不是...

    class文件编译器.zip

    7. **优化与JIT编译**: JVM的Just-In-Time (JIT) 编译器可以在运行时将经常执行的热点代码编译成本地机器代码,以提高性能。HotSpot JVM是JIT技术的典型应用,它在执行过程中会监控代码,将性能关键的部分编译为...

    jvm分享ppt

    【JVM 分享】——深入理解Java程序的生命周期与执行机制 Java程序的生命周期始于源码,经过编译、加载和执行,最终在Java虚拟机(JVM)上运行。这个过程涉及到了编译器、类文件、虚拟机以及相关的优化技术。下面将...

    OpenJDK-Research_codefollower.tar.gz

    2. **HotSpot JVM**:HotSpot是OpenJDK中的虚拟机实现,它采用了"混合编译"的策略,即在运行时有即时编译(JIT,Just-In-Time)和静态提前编译(AOT,Ahead-Of-Time)两种模式。HotSpot能够根据程序运行情况动态优化...

    java编译器源代码.rar

    更复杂的优化,如逃逸分析、标量替换等,可能在JIT(Just-In-Time)编译器中进行,以提高运行时性能。 7. **自定义编译器插件**: 开发者可以通过Java Compiler API(JSR 199)编写自定义的编译器插件,以扩展...

    java编译器

    Java的编译过程与C++等其他编译型语言不同,因为Java程序的执行通常涉及两个阶段:编译和解释。首先,`javac`将源代码编译成字节码;然后,JVM在运行时加载并解释这些字节码,进行动态类型检查和运行时优化,这就是...

Global site tag (gtag.js) - Google Analytics