java – 以编程方式填充JVM永久生成(PermGen)内存区域

我需要测试我开发的一些JMX监视脚本,特别是我想验证我对PermGen区域的监控是否正常工作.所以为了测试这个,我想运行一些代码来加载大量的类来消耗PermGen.我目前的方案是编写一个脚本来生成前缀.java编译它们然后在cue上运行:有没有更优雅的解决方案来实现呢?解决方法好的,所以看起来像String.intern()会做的伎俩.这是我发现的一个实现.信用卡还有:

java – 任何方式来提升JVM启动速度?

据说Java在性能方面比python快10倍.这就是我从基准点看到的.但真正带来的Java是JVM的启动时间.这是我做的一个测试:相同的文件,一个12KB的XLSX嵌入式文件里面的Docx和Python是25倍更快!Java需要2.055秒.我知道这是由于启动时间,但我需要的是我需要通过一个脚本来调用它来解析一些我不想在python中重新发明轮子的文档.但是为了解析10k文件,只是不实用无论如何加速.我的另一个想法?解决方法尝试Nailgun.注意:我不会亲自使用它.

java – 用于确定JVM即将进入内存/ GC问题的有用指标

我有一个Scala数据处理应用程序,95%的时间可以处理在内存中抛出的数据.剩下的5%如果没有被选中,通常不会打到OutOfMemoryError,而是进入一个主要的GC的周期,尖锐的cpu,防止后台线程执行,如果它甚至完成,只要它是10x-50x有足够的记忆力我已经实现了可以将数据刷新到磁盘的系统,并将其视为内存中的迭代器.这通常比记忆慢一个数量级,但对于这5%的情况来说足够了.我目前正在通过追

java – Hung JVM消耗100%的CPU

它看起来像JVM的错误吗?不对我当用尽堆空间时,通常会看到GC运行越来越频繁,并且使用了越来越大的cpu占用百分比.有一些JVM参数可以设置为避免这种情况,但是它们具有使您的JVM能够更早地使用OOME的效果.

java – 为什么大多数JVM gcs都不使用引用计数?

为什么他们不需要他们,如果有人决定实施使用它们的虚拟机,他们可能面临什么问题?解决方法>计数引用必须在对象外部进行.>计数引用缓慢.甚至更慢的处理w/循环引用,但这不是不可能的.还是慢>计数引用实际上非常慢,因为它必须使用CAS循环>非计数引用更容易实现,而且更快,尤其是.与一些操作系统内存页面技巧.>引用计数可以通过逃逸分析完全删除,只要对象不能逃脱.

java – 如何增加最大数量的JVM线程(Linux 64bit)

我不能在Linux机器上创建超过32k的Java线程,内存为15G.解决方法您可以使用sampleprogram来查找当前线程限制.如果在线程“main”中遇到异常java.lang.OutOfMemoryError:无法创建新的本机线程,请检查这些:>在小型内存机器中每个Java线程都使用自己的堆栈内存.默认堆栈大小为1024k(=1M).您可以减少堆栈大小,如java-Xss512k….如果堆

java – JVM getObjectSize示例

我在获取JVM中的对象大小时遇到了一些麻烦.JDK5提供了一个接口Instrumentation来通过premain()函数来计算,但我不知道如何使用它.有谁能够帮我?av=fshallowSizeOf()方法或sizeOf()这是我到目前为止在这个主题上找到的最简单的快速解决方案……

如果使用的JVM是x86或x64,则以不同方式解析Maven依赖项?

我有一个Maven存储库设置为托管一些dll,但我需要我的Maven项目下载不同的dll,具体取决于使用的JVM是x86还是x64.因此,例如,在运行x86版本的JVM的计算机上,我需要将ABC.dll作为依赖项从存储库下载,但在运行x64版本的JVM的另一台计算机上,我需要它下载XYZ.dll.我该怎么做呢?