`

jvm .hotspot_compiler

    博客分类:
  • JVM
阅读更多

This has been identified as a JVM compiler (HotSpot) bug in that particular version of the JVM.

You can either:
1. Revert to Sun JVM 1.5.0_5 (which does not appear to have the problem)
2. Remove the method from JIT compliation:

This is done by creating a ".hotspot_compiler" file where java is called.
See the attached file which excludes the offending method.
For tomcat, this file would go in the TOMCAT_HOME/bin directory.
For use from Alfresco source, it would go in the project directory: e.g. \alfresco-src\root\projects\repository

To confirm this file is being picked up:
You should see the following as the JVM start up:

CODE: SELECT ALL
CompilerOracle: exclude org/apache/lucene/index/IndexReader$1 doBody



When an attempt to compile this method is made, it will be rejected and you will see:

### Excluding compile: org.apache.lucene.index.IndexReader$1::doBody

If you want to see all compilation progress you can use XX:+PrintCompilation

The file should contain the following line:

CODE: SELECT ALL
exclude  org/apache/lucene/index/IndexReader$1 doBody



It is possible the JVMs differ in how they find this file: \

 

windows下没法生成上面文件只能用下面形式:

 

You could use -XX:CompileCommandFile in the Java Options area of the
Java tab to specify an absolute path for the compiler directives.
-XX:CompileCommand=exclude,org/apache/lucene/index/IndexReader$1,doBody 


 

 

分享到:
评论

相关推荐

    JVM Hotspot实现源码

    《OpenJDK中的JVM Hotspot实现源码解析》 在Java世界中,JVM(Java Virtual Machine)是运行Java程序的关键组件,它负责将字节码解释执行或即时编译为机器码,使得Java具备跨平台的能力。Hotspot是Oracle JDK和...

    给HotSpot client compiler的Phi加上exact_type()

    在Java虚拟机(JVM)中,HotSpot是Oracle公司的一款高性能JVM实现,它包含两个主要的Just-In-Time(JIT)编译器:C1(也称为Client Compiler)和C2(也称为Server Compiler)。这篇博客文章《给HotSpot client ...

    JDK_API_1_6_zh_CN.rar_JAVA6.0 API_

    - **编译器JIT**:即时编译器(Just-In-Time Compiler)进行了优化,提高了代码运行速度。 Java 6 API文档中的CHM文件(Compiled Help Manual)是一个包含所有这些信息的离线帮助系统,开发者可以快速查找和理解...

    jdk1.8.0_121.zip

    9. **HotSpot虚拟机**:Oracle JDK中的默认JVM,具备动态编译和优化能力,能够提升程序的运行效率。 在JDK1.8.0_121的更新中,重点修复了一些安全漏洞,这些漏洞可能被恶意用户利用来进行攻击。此外,还改进了垃圾...

    2020-review-7-jvm.pptx

    现代 JVM 如 Oracle 的 HotSpot VM 使用了先进的 JIT 技术来优化频繁执行的代码段。 - **垃圾回收器**(Garbage Collector): 负责清理不再使用的对象所占用的内存空间,以释放资源供其他对象使用。GC 算法包括但不...

    让天下没有难做的JVM.pdf

    从Java SE 7开始,Oracle的JVM产品JRockit与HotSpot合并,统一为一个JVM。 JVM有两种运行模式:Server模式和Client模式。Server模式适合长时间运行的服务器端应用程序,具有更多的优化,启动虽然慢,但运行速度快;...

    jdk10源码包

    4. **org.graalvm.compiler.hotspot**: 这个目录涉及的是GraalVM在HotSpot JVM上的实现。HotSpot是Oracle JDK的主要JVM实现,这部分源码可能包括了GraalVM如何与HotSpot集成以及对HotSpot的优化。 5. **org.graalvm...

    hotspot.tar.gz

    Hotspot有两个JIT编译器:Client Compiler(C1)和Server Compiler(C2)。C1适用于快速启动,而C2则更注重长期性能。 二、垃圾收集器 Hotspot JVM提供了多种垃圾收集器,如Serial、Parallel、Concurrent Mark ...

    JVM_GC调优

    - Sun HotSpot JVM采用了分代管理策略,即将堆划分为年轻代和老年代。 - 年轻代进一步分为Eden和两个Survivor空间(S0/S1)。 - 新创建的对象首先在Eden空间分配,经过一次或多次GC后仍然存活的对象会被转移到...

    08-java11-hotspot-guide.pdf

    1. 即时编译器:HotSpot虚拟机包含两个主要的JIT编译器,即Client Compiler(C1)和Server Compiler(C2),它们分别优化了不同类型的Java应用程序的性能。C1更倾向于编译速度,适用于短小快速运行的应用程序;C2则...

    JVM知识图谱.pdf

    - **JIT定义**:Just-In-Time Compiler,即时编译器,能够在运行时将字节码编译成本地机器码。 - **作用**:提高程序执行效率,尤其是对于频繁执行的代码片段。 - **功能**:识别“热点代码”,即执行频率高的代码,...

    hotspot-d9c3790c85c1.rar

    本资源"hotspot-d9c3790c85c1.rar"包含了Hotspot 1.6版本的源代码,为深入理解JVM的工作原理提供了宝贵的材料。通过对这些源代码的分析,我们可以揭示Java运行时环境的内部运作机制,从而更好地优化应用程序的性能。...

    JVM虚拟机源码(C++)

    1. **编译器**:HotSpot包含两个即时编译器——Client Compiler (C1) 和 Server Compiler (C2)。C1适用于快速启动,而C2则注重长期运行性能。这两个编译器将字节码转换为机器码,优化性能。 2. **垃圾收集器**:...

    JVM面试专题.zip

    理解HotSpot VM中的Client Compiler和Server Compiler的区别有助于理解JVM的运行模式。 10. **异常处理与类加载器自定义**:理解和熟悉Java异常处理机制,以及如何自定义类加载器以实现特定的功能,如加载动态生成...

    [百度网盘] HotSpot实战[完整版][带书签].pdf

    - 动态编译:HotSpot采用了一种名为C1(Client Compiler)和C2(Server Compiler)的即时编译器来实现动态编译功能。 - 内存管理:HotSpot支持分代垃圾回收机制,能够有效管理内存空间。 - 安全性:提供强大的类...

    openjdk hotspot源码

    3. **即时编译器(JIT)**:Hotspot的一大特色是它的JIT编译器,分为Client Compiler(C1)和Server Compiler(C2)。C1适用于快速启动,而C2则专注于长期运行的性能优化。JIT编译器会识别并编译经常执行的“热点”...

    hotspot 源码(JDK8)

    Hotspot采用了分层编译策略,包括Client Compiler(C1)和Server Compiler(C2)。C1适用于快速启动,而C2则在程序运行一段时间后,针对热点代码进行更深度的优化。JIT编译器将字节码转化为机器码,以提高执行速度...

    hotspot实战

    HotSpot包含两个编译器:Client Compiler(C1)和Server Compiler(C2)。C1面向快速启动,而C2则追求更高的整体性能,通常在服务器环境中使用。 在书中,作者可能会详细介绍HotSpot的内存模型,包括堆内存的管理,...

    《HotSpot实战》

    2. **编译器策略**:HotSpot包含两种内置编译器——C1(Client Compiler)和C2(Server Compiler)。C1适用于启动速度,而C2则更注重长期运行的性能。书中可能会详细介绍这两种编译器的工作原理和应用场景。 3. **...

Global site tag (gtag.js) - Google Analytics