Tag: jvm

Java与C中的字符大小

为什么Java中的字符需要两倍的空间来存储为C中的字符?

Heroku JVM调优

我已经为Heroku编写了一个关于Play2框架的应用程序,并且我遇到了内存问题。 2013-03-21T01:28:35+00:00 heroku[web.1]: Process running mem=543M(106.1%) 2013-03-21T01:28:35+00:00 heroku[web.1]: Error R14 (Memory quota exceeded) 本地我在Heroku(512MB)上使用相同的JVM设置和内存限制来分析它,但是当我在Heroku发送请求时它几乎立即运行我们的堆空间。 JAVA_OPTS: -Xmx384m -Xss512k -XX:+UseCompressedOops 如果我能分析那里发生了什么,我就不会有任何问题,但java-agent doest似乎对我有用。 我没有遇到任何我见过的内存泄漏。 我知道我创造的每个物体都只会被使用一次,所以我可以让我的年轻一代变大,而我的老一代变小。 我已经尝试了不同的JVM值,但似乎无法找到正确的组合,以便在没有正确的分析的情况下使其工作。 我已经阅读了所有关于调优的Heroku文档,但没有用。 有没有人对此有任何想法,或者可能指出我正确的方向? 编辑 我仍然无法使远程监控工作,但是在完整的CG之前和之后,我的本地测试系统有一些转储。 {Heap before GC invocations=1747 (full 0): PSYoungGen total 42496K, used 42496K [0x00000000f5560000, 0x00000000fded0000, 0x0000000100000000) eden space 42176K, 100% used [0x00000000f5560000,0x00000000f7e90000,0x00000000f7e90000) from space 320K, 100% used [0x00000000fde80000,0x00000000fded0000,0x00000000fded0000) to space […]

Runtime.maxMemory()和-Xmx

我期待Runtime.maxMemory()完全返回-Xmx,但它返回一个较低的值。 那它又回归了什么?

Java中的条件评估过程

可以说我有以下条件: if ( myList == null || myList.isEmpty() || xomeX == someY ) 评估这些条件的顺序是什么? 左右,右到左或每次随机? 如果第一个通过,那么其他人会被忽略?

JavaFX EXCEPTION_ACCESS_VIOLATION

我有一个JavaFX桌面应用程序的问题,特别是3D渲染function。 每次我尝试构建和启动JavaFX应用程序时,JVM都会出现错误,并且我会得到类似以下错误的错误: # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=8440, tid=9008 # # JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13) # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops) # Problematic frame: # C 0x0000000000000000 # […]

Java jit编译器每次运行时都会编译它的代码吗?

我是java的新手并且正在努力理解以下内容:每次运行代码时jit都会编译吗? (我知道jit优化了经常运行的代码,但我问的不是“热代码”)

Java类存在于类路径中,但启动失败,错误:无法找到或加载主类

我有一个包含以下两个类的jar文件foobar.jar : public class Foo { public static void main(String[] args) { System.out.println(“Foo”); } } 另一个类看起来像这样: import javax.batch.api.chunk.ItemProcessor; public class Bar implements ItemProcessor { public static void main(String[] args) { System.out.println(“Bar”); } @Override public Object processItem(Object item) throws Exception { return item; } } 如果我使用以下命令执行程序,程序将按预期运行并打印Foo : $ java -cp foobar.jar Foo Foo $ 但是如果我尝试使用类Bar的main方法启动程序,JVM会输出启动错误并退出: $ […]

在Java中绘制Hello World的最快方法是什么

使用Java中的GUI在屏幕上绘制Hello World的最快方法是什么: 1-通过使用最少的类数。 2-执行最少字节代码 3- JVM调整 因此,当我双击Windows中的Jar文件时,Hello World会立即出现(假设尚未加载运行时)。

为什么xmx和top之间存在内存使用差异?

我将jvm的xmx设置为4 G,但是在运行一段时间后,当我使用top来查看内存时,它显示了使用12 G内存的进程。 那么xmx究竟意味着什么? 如果我想将jvm内存限制为4G,我该怎么办? 命令行:-server -Xms4g -Xmx4g 另一个相关的问题:) 如果gc发生了,那么年轻一代不再使用的对象的空间是否会被JVM不可避免地释放出来? 或者其中一些留给下一个gc? 谢谢

SpreadsheetAddRows在中等大小查询时失败

编辑:我更改了名称,因为有类似的SO问题如何在添加大型查询时修复SpreadSheetAddRows函数崩溃? 在那里描述我的问题,所以我更简洁地删减…问题是我的查询结果的电子表格地址炸弹整个服务器在我认为适中的大小(1600行,27列),但听起来比他的18,000行少得多 我正在使用通过coldfusion 9.0.1 cfstoredproc访问的oracle存储过程,在完成时创建一个电子表格供用户下载 问题是结果集大于1200行正在返回500内部服务器错误,700行返回正常,所以我猜这是一个内存问题? 我收到的唯一消息不是500标准coldfusion外观中的内部服务器错误是小写“超出gc开销限制”并且只有一次页面刷新,这是指底层Java JVM 我甚至不确定如何诊断这个 这是cfstoredproc和电子表格obj的结尾