111得票7回答
为什么这个方法会输出4?

我在思考当你试图捕捉StackOverflowError时会发生什么,并想出了以下方法:class RandomNumberGenerator { static int cnt = 0; public static void main(String[] args) { ...

111得票8回答
如何为Junit单元测试设置JVM参数?

我有一些 JUnit 单元测试需要大量的堆空间才能运行 - 即 1G。这些测试用例测试了一个 WebStart 应用程序的内存密集型功能,只有在具有足够堆空间的情况下才能运行,在 Win 7 64 位机器上内部运行 - 因此重新设计测试用例并不是一个实际的建议。 我正在使用 Intellij...

110得票4回答
Java: <init> 和 <clinit> 有什么区别?

我无法理解以下文本...这是不是意味着&lt;clinit&gt;是用于空构造函数的?为什么有两个不同版本很重要? https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html 2.9. Special Methods A...

110得票6回答
Java的字符串常量池存储在哪里,堆还是栈?

我知道JVM使用常量池和字符串常量池来处理字符串字面量。但我不知道JVM使用哪种类型的内存来存储字符串常量字面量。是栈还是堆?由于字符串常量字面量与任何实例都没有关联,因此我会认为它将被存储在栈中。但是,如果字面量没有被任何实例引用,它必须通过GC运行进行回收(如果我错了,请纠正我),那么如果...

109得票3回答
为什么JVM基于栈而Dalvik VM基于寄存器?

我很好奇,为什么Sun决定将JVM基于堆栈实现,而Google决定使用寄存器实现DalvikVM? 我认为JVM无法假设目标平台上有一定数量的寄存器,因为它应该是跨平台的。因此,它将寄存器分配等工作延迟到JIT编译器中。(如果我错了,请纠正我。) 那么Android开发团队想:“嘿,这样效...

108得票20回答
字体在Jasper Reports中对JVM不可用。

我正在尝试使用DynamicJasper生成报告,但是出现了以下错误:net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not...

105得票9回答
如何锁定编译后的Java类以防止反编译?

如何锁定编译后的Java类以防止反编译? 我知道这可能是互联网上讨论得非常充分的话题,但在参考了它们后,我仍然没有得出任何结论。 许多人确实建议使用混淆器,但它们只是使用难以记忆的字符序列重命名类、方法和字段,那敏感的常量值呢? 例如,您基于基于密码的加密技术开发了加密和解密组件。在这种...

105得票8回答
每个Java应用程序是否有一个JVM?

所有运行的Java应用程序是否使用相同的JVM,还是“每个Java应用程序一个JVM”适用?(例如,假设应用程序是IntelliJ IDEA、服务器和NetBeans) 此外,分配的JVM和每个Java应用程序使用的进程之间是否有任何连接?

105得票6回答
如何向VisualVM提供JVM参数?

我正在使用来自JDK 1.6.0_26的VisualVM对在Tomcat下运行的Java Web应用程序进行性能剖析,但VisualVM经常告诉我它没有足够的内存来拍摄快照,并要求我使用-Xmx开关提供更多内存给Netbeans。问题是,我正在Netbeans之外运行VisualVM,那么我该...

104得票16回答
VM初始化时发生错误; 无法保留足够的空间来存储对象堆。使用-Xmx3G。

首先,我有一台8GB的内存电脑,因此我怀疑总内存不是问题所在。 该应用在6GB或更小内存的机器上运行良好。 我正在尝试在Eclipse的“运行配置”下使用“VM参数”来保留3GB的空间,命令为-Xmx3G。 每次我尝试保留超过1500MB的空间时,我都会收到以下错误提示:“初始化VM时发生...