草庐IT

jvm-debug

全部标签

java - 如何在 Jenkins 中为每项工作全局设置 JVM 选项?

我最近安装了一个新的JDK(1.7u9),我遇到了一些非常奇怪的VerifyError。Inathread我发现如果我使用-XX:-UseSplitVerifier魔术开关进行编译,它可以帮助我。我想做的是在Jenkins中全局设置这个Java选项,但还没有找到任何配置。有人可以帮我解决这个问题吗?我能想到的最接近的事情是通过Maven设置参数,但我必须为每个项目配置都这样做-我想避免这种情况。提前致谢。 最佳答案 在主菜单项ManageJenkins->ConfigureSystem下,您可以在GlobalMAVEN_OPTS的框

java - 如何创建自定义 JVM?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我正在阅读http://www.cafeaulait.org/javafaq.html上的项目#6.10|我开始想知道大公司是如何着手创建他们自己的JVM实现的。对一个人来说,一个实验性的东西是可能的(并且可行的)吗?

java - 在 URLClassPath 类的 Debug模式下有 MyEclipse 隐式断点

我是MyEclipseIDEA的初学者。我使用它的8.6.1版本。我的问题是:当我在Debug模式下执行我的程序时,MyEclipse转到sun.misc.URLClassPath类,我必须Resume断点(通过按F8键)并继续执行我的程序。MyEclipse留在URLClassPath类中的以下线程堆栈中:1.URLClassPath$JarLoader.(URL,URLStreamHandler,HashMap)line:5812.URLClassPath$JarLoader.ensureOpen()line:6313.URLClassPath$JarLoader.getJarFi

java - 让 JVM 根据需要增加内存需求,直到达到 VM 限制的大小?

我们发布了一个Java应用程序,其内存需求可能会因所处理数据的大小而有很大差异。如果您不设置最大VM(虚拟内存)大小,通常JVM在大数据上因GC失败而退出。我们希望看到的是JVM请求更多内存,因为GC无法提供足够的内存,直到可用的VM全部耗尽。例如,从128Mb开始,并在GC失败时按几何级数(或其他步骤)增加。JVM(“Java”)命令行允许显式设置最大VM大小(各种-Xm*命令),您认为这样设计就足够了。我们尝试在应用程序附带的.cmd文件中执行此操作。但如果你选择任何特定的数字,你会得到两种不良行为之一:1)如果你的数字足够小,可以在大多数情况下工作目标系统(例如1Gb),它对于大

java - 是什么导致 JRE 6 JVM 代码缓存泄漏?

自从切换到JRE6后,我服务器的代码缓存使用(非堆)一直在无限增长。我的应用程序在运行时创建了很多类,但这些类在GC过程中被成功卸载。我可以看到这些类在gc日志中被卸载,并且permGen的使用保持不变。我特别确保在我的代码中,一旦我完成这些类,它们就会被孤立,这样它们就能正确地从permGen中收集垃圾。然而,代码缓存不断增长。我在切换到JRE6后才意识到代码缓存。所以我想我的问题是:GC是否包含代码缓存?什么会导致代码缓存内存泄漏,特别是。JDK6中是否存在这方面的错误? 最佳答案 您可能想通读一下这个讨论,然后回过头来看看哪些

java - 'new'操作符使用构造函数初始化内存时JVM做了什么?

RealEstatev=newRealEstate();我在RealEstate()中使用了这个new关键字。我知道new使用RealEstate类构造函数分配内存并初始化内存。JVM在这里做什么? 最佳答案 new运算符实际上并不使用构造函数的帮助来分配内存。它与构造函数无关。BasicallyJava'sversionofmallocisnew.新运算符:为对象分配内存调用对象构造函数返回对该内存的引用构造函数单独执行以执行初始化期间的任何操作,例如为对象和变量分配值。如果没有定义构造函数,那么编译器将创建默认构造函数并分配默认

java - JVM字节码中的NOP是干什么用的?

在当今的JVM中,Java虚拟机的NOP操作码是否有任何实际用途?如果是这样,在哪些情况下会在字节码中生成NOP?我什至有兴趣查看使用NOP编译成字节码的Java代码示例。更新BCEL的MethodGen类说,WhilegeneratingcodeitmaybenecessarytoinsertNOPoperations.我猜其他字节码生成库也在同一条船上,正如已接受的答案中所指出的那样。 最佳答案 一些NOP字节码用例用于class文件转换、优化和由工具执行的静态分析,例如ApacheBCEL,ASM,FindBugs,PMD等。

java - 在实践中,JVM如何收集SoftReferences?

我有两个单独的缓存在JVM中运行(一个由第三方库控制),每个缓存都使用软引用。我希望JVM在库控制的缓存之前先清除受控的缓存。SoftReferencejavadoc指出:Allsoftreferencestosoftly-reachableobjectsareguaranteedtohavebeenclearedbeforethevirtualmachinethrowsanOutOfMemoryError.Otherwisenoconstraintsareplaceduponthetimeatwhichasoftreferencewillbeclearedortheorderinwh

Java 阻塞问题 : Why would JVM block threads in many different classes/methods?

更新:这看起来像是内存问题。一个3.8Gb的Hprof文件表明,当发生这种“阻塞”时,JVM正在转储其堆。我们的运营团队看到该站点没有响应,进行了堆栈跟踪,然后关闭了该实例。我相信他们在堆转储完成之前关闭了站点。日志中没有错误/异常/问题的证据——可能是因为JVM在生成错误消息之前被终止了。原始问题我们最近遇到了一个应用程序出现——对最终用户来说——挂起的情况。我们在应用程序重新启动之前获得了堆栈跟踪,并且我发现了一些令人惊讶的结果:在527个线程中,463个线程状态为BLOCKED。过去以往被阻塞的线程通常有这样的问题:1)一些明显的瓶颈:例如某些数据库记录锁定或文件系统锁定问题导致

java - 如何在 64 位 Linux 上运行 32 位 JVM?

我正在尝试在64位DebianMint机器上运行32位HotspotJVM。乍一看一切正常,直到您尝试使用Swing运行某些东西:java.lang.UnsatisfiedLinkError:/opt/javadev/jdk1.7.0_03_32b/jre/lib/i386/xawt/libmawt.so:libXext.so.6:cannotopensharedobjectfile:Nosuchfileordirectory将其添加到库路径:exportLD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu。但是它给出了这个错误:java.lang.Uns