草庐IT

LARGE_SIZE

全部标签

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 - jvm +LogCompilation输出中 "callee is too large"的含义

所以在+LogCompilation的输出中打印了消息calleeistoolarge和toobig与特定方法相关联(以及编译器决定不内联)。但是“被调用者”不是方法本身吗?这还有什么意思?如果是这样,“calleetoolarge”和“toobig”之间的区别是什么——它们的意思不一样吗(也许这只是一条遗留的日志消息,2位工程师对同一件事使用不同的语言?)或者“callee”是否真的意味着“caller”?不内联的任何一个理由都是合理的。我有点不好意思,我不明白这一点。 最佳答案 HotSpotJVM有两个JIT编译器:C1和C2

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 - 外部洗牌 : shuffling large amount of data out of memory

我正在寻找一种方法来随机播放不适合内存(大约40GB)的大量数据。我有大约3000万个条目,长度可变,存储在一个大文件中。我知道该文件中每个条目的开始和结束位置。我需要随机播放这些不适合RAM的数据。我想到的唯一解决方案是将包含从1到N的数字的数组打乱,其中N是条目数,与Fisher-Yatesalgorithm然后根据此顺序将条目复制到新文件中。不幸的是,此解决方案涉及大量查找操作,因此会非常慢。是否有更好的解决方案来对均匀分布的大量数据进行洗牌? 最佳答案 首先解决shuffle问题。为此,请为您的条目发明一种哈希算法,该算法会

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

java : writing large files?

问候,我从数据库中获取大量记录并写入文件。我想知道写入大文件的最佳方法是什么。(1Gb-10Gb)。目前我正在使用BufferedWriterBufferedWritermbrWriter=newBufferedWriter(newFileWriter(memberCSV));while(done){//dowritings}mbrWriter.close(); 最佳答案 如果您真的坚持为此使用Java,那么最好的方法是数据一进来就立即编写,而不是收集所有数据首先从ResultSet到Java的内存中。否则,在Java中您至少需要那

Java : does regex pattern matcher have a size limit?

我的模式是OR-like:“word1|word2|word3”我有大约800个单词。这会是个问题吗? 最佳答案 您仅受内存和理智的限制。:) 关于Java:doesregexpatternmatcherhaveasizelimit?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6358387/

java - 为什么 Iterators.size() 使迭代器为空?

publicstaticvoidmain(Stringargs[])throwsJSONException{JSONObjectjson=newJSONObject();json.put("name","abcgdj");json.put("no","1234");json.put("contact","6748356");Iteratorkeys=json.keys();System.err.println(Iterators.size(keys));System.err.println(Iterators.size(keys));}在这段代码中,在执行Iterators.size(

java - Guava Collection : limit permutation size

使用guava12Collections2.permutations(),我想知道是否可以限制排列的大小?更准确地说,我想获得n元素列表中的k大小排列的列表,而不是获取所有n大小排列的列表。目前,如果我传递一个包含4个水果的列表,permutations()当前将返回一个包含24个4大小排列的列表,尽管我只对检索感兴趣,例如,4个独特的大小为3的排列。假设我有一个包含4种水果的list:["Banana","Apple","Orange","Peach"]如果我只对大小3排列感兴趣,我希望返回以下内容:["Banana","Apple","Orange"]["Banana","Appl