草庐IT

多少个

全部标签

java - jvm字符串池intern中有多少个字符串

我正在分析一个应用程序,使用intern输入字符串确实很有帮助。我想要找到的是用于对象池的好数字,因此我不会有性能损失。我怎么知道有多少字符串被插入了实习生池?我正在运行一些生产跟踪,我无法真正计算输入。JVM是否为此提供了一个API? 最佳答案 从JDK7开始,您可以使用-XX:+PrintStringTableStatisticsJVM标志来打印有关字符串表大小的信息,例如桶的数量和桶的大小。您还可以通过调用命令jmap-heap*process_id*来使用jmap工具,该命令将在末尾显示驻留的字符串数和总大小(还需要JDK7

java - TreeSet 与 LinkedHashSet 和 TreeMap 相比 LinkedHashMap 增加了多少成本?

LinkedHashSet-此实现使其客户免受HashSet提供的未指定的、通常困惑的排序的影响,而不会导致与TreeSet相关的成本增加。关于LinkedHashMap与TreeMap的说法相同增加的成本(LinkedHashMap与TreeMap)究竟是多少?这是否意味着TreeSet每个元素需要更多内存?LinkedHashSet需要更多的内存用于两个额外的链接,但是TreeSet需要额外的内存来存储Map.Entry对元素(因为隐式基于TreeMap),此外LinkedHashSet基于HashMap也有Map.Entry对元素开销......所以区别在于添加新元素的速度有多快

java - 您可以创建(Oracle JVM)java 堆的最小值是多少?

java愉快地接受-Xmx1k作为参数,但“实验表明”这仍然是一个8MB的堆。谷歌搜索没有找到任何可用的东西,所以我想知道,您可以在Java中强制要求的最小堆大小是多少?谢谢,埃里克编辑:它似乎因平台和Java版本而略有不同。在我的Mac上,使用1.6.0_24,我可以正确配置它的最小值是:$java-Xms1k-Xmx4097k-XX:NewSize=192k-cp.Foo5636096或大约5.375M,其中Foo.java只是:publicclassFoo{publicstaticvoidmain(String[]args){System.out.println(Runtime.

java - 从集合构造 PriorityQueue 的时间复杂度是多少?

带有Collection的JavaPriorityQueue构造函数的复杂性是什么?我使用了构造函数:PriorityQueue(Collectionc)复杂度是O(n)还是O(n*log(n))? 最佳答案 从集合(即使是未排序的集合)中初始化PriorityQueue的时间复杂度为O(n)。这在内部使用了一个名为siftDown()的过程来就地“堆化”数组。(这在文献中也被称为下推。)这是违反直觉的。将一个元素插入堆中似乎是O(logn),因此插入n个元素会导致O(nlogn)复杂度。如果您一次插入一个元素,就会出现这种情况。(

java - 一个 CPU 上一次可以运行多少个线程

我想知道单个应用程序在一个CPU上可以同时运行多少个线程?我喜欢一个简单的:importjava.awt.SystemColor;importjava.util.Date;publicclassThreadcall{/***@paramargsthecommandlinearguments*/publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereSystem.out.println("--------------------------");System.out.println(Runtime.getRunti

java - Java 9 中创建了多少个未命名的模块?

我正在尝试了解JPMS的工作原理。来自hereTheclasspathisnotcompletelygoneyet.AllJARs(modularornot)andclassesontheclasspathwillbecontainedintheUnnamedModule.Similartoautomaticmodules,itexportsallpackagesandreadsallothermodules.Butitdoesnothaveaname,obviously.Forthatreason,itcannotberequiredandreadbynamedapplication

java - Java 垃圾回收的频率是多少?

文档第6页MemoryManagementintheJavaHotSpot™VirtualMachine包含以下段落:Younggenerationcollectionsoccurrelativelyfrequentlyandareefficientandfastbecausetheyounggenerationspaceisusuallysmallandlikelytocontainalotofobjectsthatarenolongerreferenced.Objectsthatsurvivesomenumberofyounggenerationcollectionsareeven

java - 方法密集型 Java 对象的内存占用是多少?

假设我有一个Java类,它有100K的方法代码,不包含任何变量,但只有20个字节的属性。我从这个类中实例化了1000个对象。我消耗了100,000K内存吗?或者只有100K+(20bytes*1000)?还是别的东西? 最佳答案 加载类本身的内存占用将大致对应于代码大小,但不会为类的每个实例重复代码。一个实例只需要与实例属性一样多的内存+管理对象实例本身的一些开销。 关于java-方法密集型Java对象的内存占用是多少?,我们在StackOverflow上找到一个类似的问题:

java - 对于长度变化很大的输入,最佳 StringBuffer 初始容量是多少?

大家下午好,我正在使用java.lang.StringBuilder存储一些字符。我不知道我要提前存储多少个字符,除了:60%的情况下,它只有(恰好)7个字符39%的时间是(大约)3500个字符1%的时间,大约是20k个字符我们如何计算应该使用的最佳初始缓冲区长度?目前我正在使用newjava.lang.StringBuilder(4000)但那只是因为我以前懒得想。 最佳答案 这里有两个因素:时间和内存消耗。该时间主要受java.lang.AbstractStringBuilder.expandCapacity()调用次数的影响。

java - 在kafka中创建多少生产者?

在一个高容量的实时javaweb应用程序中,我正在向apachekafka发送消息.目前我正在向单个主题发送消息,但将来我可能需要向多个主题发送消息。在这种情况下,我不确定是否应该为每个主题创建一个制作人,还是应该为我的所有主题使用一个制作人?这是我的代码:props=newProperties();props.put("zk.connect",:,:,:);props.put("zk.connectiontimeout.ms","1000000");props.put("producer.type","async");Producerproducer=newkafka.javaapi