草庐IT

heap-size

全部标签

java - 当我使用 computeIfAbsent 计算斐波那契数时,hashmap size() 返回不正确的值

我有以下代码:importjava.math.BigInteger;importjava.util.HashMap;importjava.util.Map;publicclassDynamicFib{privatestaticMapmyMap=newHashMap();static{myMap.put(0,BigInteger.ZERO);//fibonacci(0)myMap.put(1,BigInteger.ONE);//fibonacci(1)}publicstaticBigIntegerfibonacci(intx){//System.out.println("x=["+x+"

java - DEFAULT_SIZE 和 PREFERRED_SIZE 有什么区别?

我正在使用SwingGroupLayout,我对GroupLayout.DEFAULT_SIZE和GroupLayout.PREFERRED_SIZE的值感到困惑。我永远不知道什么时候在GroupLayout.addComponent(Component,int,int,int)这样的方法中使用它们中的每一个。假设我有这段代码:GroupLayoutl=...;l.setHorizontalGroup(l.createSequentialGroup().addComponent(tf1).addComponent(tf2));l.setVerticalGroup(l.createPar

java - 'originalValue.length > size' 怎么会出现在 String 构造函数中?

下面是String类的构造函数publicString(Stringoriginal){intsize=original.count;char[]originalValue=original.value;char[]v;if(originalValue.length>size){//ThearrayrepresentingtheStringisbiggerthanthenew//Stringitself.Perhapsthisconstructorisbeingcalled//inordertotrimthebaggage,somakeacopyofthearray.intoff=or

java - 当我接近 OutOfMemoryError 时,如何在 java 中确定?

我需要找出真正接近OutOfMemoryError的时间,以便将结果刷新到文件并调用runtime.gc();。我的代码是这样的:Runtimeruntime=Runtime.getRuntime();...if((1.0*runtime.totalMemory()/runtime.maxMemory())>0.9){...flushresultstofile...runtime.gc();}有更好的方法吗?有人可以帮我一下吗?编辑我知道我这样是在玩火,所以我想用一种更可靠、更简单的方法来确定我什么时候吃饱了。我目前正在使用Jena模型,所以我做了一个简单的检查:如果模型有超过550k

java - 分析堆转储,Map#size() 不是一个函数?

得到这个奇怪的错误:javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:TypeError:size不是一个函数,它是空的。(#1)在VisualVM上分析堆转储并运行此OQL查询时:select{map:x}fromjava.util.concurrent.ConcurrentHashMapxwherex.size()问题出在where子句上,虽然Map显然有一个size方法,但不知何故它不起作用。 最佳答案 @ruakh的回答非常好

Java 垃圾收集器 : top object classes promoted (by size)?

请告诉我在每次年轻GC事件之后确定提升到老年代的年轻代内存组成的最佳方法是什么?理想情况下,我想知道负责的类名,比如每个“年轻一代->老一代”提升block中80%的堆;例子:我有600M的younggen,每个tenure提升6M;我想知道这个6M是由哪些对象组成的。谢谢。 最佳答案 没有简单的方法可以做到这一点,但是,我最近一直在分析大型java应用程序的内存性能,并且可以分享一些经验。以下是我如何找到哪些对象被提升到老一代:首先,您需要确定“旧/永久”空间中有哪些对象。这基本上就是标准的Java堆分析。为此,我推荐jmap。它

java - Spark 应用程序 - Java.lang.OutOfMemoryError : Java heap space

我用的是SparkStandalone单机,128G内存,32核。以下是我认为与我的问题相关的设置:spark.storage.memoryFraction0.35spark.default.parallelism50spark.sql.shuffle.partitions50我有一个Spark应用程序,其中有一个用于1000个设备的循环。对于每个循环(设备),它都会准备特征向量,然后调用MLLib的k-Means。在循环的第25到30次迭代(处理第25到第30个设备)时,它遇到了“Java.lang.OutOfMemoryError:Java堆空间”的错误。我尝试将memoryFra

java swing jframe size 返回比屏幕大的尺寸

在调查我的应用程序中的一些问题时,我发现了一些奇怪的事情。基本上这个SSCCE应该演示问题:publicclassMainFrameextendsJFrame{publicMainFrame(){setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setExtendedState(JFrame.MAXIMIZED_BOTH);pack();}}publicclassMain{publicstaticvoidmain(String[]args){MainFramemf=newMainFrame();mf.

java - JUnit 测试内存不足——如何增加堆大小?

我正在运行Junit测试,该测试会抛出异常OutOfMemory。测试在内部NetBeans6.9.X中启动。在分析它时我已经意识到HeapmaxSize是64M。我想增加这个但我找不到如何执行此操作。我已经尝试过右键单击项目->属性->运行在VM选项下我设置了-Xms300M但这没有用。有什么提示吗?提前致谢。 最佳答案 来自http://wiki.gephi.org/index.php/NetBeans_Tips#How_to_increase_Heap_Size_for_JUnit_test编辑您的project.proper

java - Apache POI 3.7 OutOfMemoryError : Java heap space when writing to large no of rows to xlsx files

我需要在xlsx文件中写入超过65000行的结果集。所以,我正在尝试使用ApachePOI3.7。我收到OutOfMemoryError:Java堆空间。除了增加JVM内存似乎无法解决问题外,我该如何解决此问题。简单示例代码:publicstaticvoidmain(String[]args)throwsIOException{Workbookwb=newXSSFWorkbook();CreationHelpercreateHelper=wb.getCreationHelper();Sheetsheet=wb.createSheet("newsheet");//Createarowan