jjzjj

internals

全部标签

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

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

java - ConcurrentHashMap 中 String intern 方法的去重

我看过JavaDays的一个代码,作者说这种有概率的方法对于存储字符串非常有效,类似于Stringintern方法publicclassCHMDeduplicator{privatefinalintprob;privatefinalMapmap;publicCHMDeduplicator(doubleprob){this.prob=(int)(Integer.MIN_VALUE+prob*(1L();}publicTdedup(Tt){if(ThreadLocalRandom.current().nextInt()>prob){returnt;}Texist=map.putIfAbse

java - 无法初始化类 com.sun.xml.internal.ws.fault.SOAPFaultBuilder

我在Maven库中使用Jaxb-impl-2.1.3.jar..pom条目中的一切看起来都很好..如果有人遇到这个错误请给我一个想法..java.lang.reflect.InvocationTargetExceptionatsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.inv

java - Java的String#intern()方法是如何实现的?

我试图查看Java的String#intern()方法,但它是publicnativeStringintern();一般来说,实习是如何实现的?在String的情况下? 最佳答案 对于SunJava,从JVM_InternString开始,位于jvm.cpp的~3639行|.从技术上讲,实际的String方法在java/lang/String.c中,但它会立即调用JVM_InternString。您可以继续StringTable::intern在symbolTable.cpp中。在更抽象的意义上,实习的目的是将等效字符串映射到单个规

java - String.intern() 如何工作以及它如何影响字符串池?

正如我们所知,String().intern()方法会在字符串池中添加不存在的字符串值。如果存在,它返回该值/对象的引用。Stringstr="Cat";//createsnewobjectinstringpoolwithsamecharactersequence.Stringst1="Cat";//hassamereferenceofobjectinpool,justcreatedincaseof'str'str==str1//that'sreturnstrueStringtest=newString("dog");test.intern();//whatthislineofcode

java - 使用 Kafka Streams 开发时,Lib 上的 UnsatisfiedLinkError 会影响 DB dll

我正在我的开发Windows机器上编写KafkaStreams应用程序。如果我尝试使用KafkaStreams的leftJoin和branch功能,在执行jar应用程序时会出现以下错误:Exceptioninthread"StreamThread-1"java.lang.UnsatisfiedLinkError:C:\Users\user\AppData\Local\Temp\librocksdbjni325337723194862275.dll:Can'tfinddependentlibrariesatjava.lang.ClassLoader$NativeLibrary.load(

java - 在 google.Internal 服务器错误中添加联系人时出现异常

从今天早上开始,我们在通过java通过GoogleAPI插入联系人时遇到以下错误。请在下面找到堆栈跟踪Exceptionwhileaddingcontactingoogle....com.google.gdata.util.ServiceException:InternalServerErrorAtemporaryinternalproblemhasoccurred.Tryagainlater.atcom.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:624)atc

java - MockClassLoader 无法访问 jdk/internal/reflect 父类(super class) jdk.internal.reflect.MagicAccessorImpl

我正在将一个项目迁移到Java9,在我切换到新的Java版本后测试开始失败,似乎PowerMock正在尝试访问它无法访问的一些类。Testsrun:1,Failures:0,Errors:1,Skipped:0,Timeelapsed:0.973secma​​ven-surefire-pluginmaven-surefire-plugin2.19.1**/*Test.java**/*Test.groovy**/*Spec.*always--add-modulesjava.xml.bind--add-modulesjava.activation--add-opens=java.base/

java - libgdx -- Gdx.files.internal(); --> 找不到文件

我在使用libgdx的Gdx.files.internal()时遇到了问题;似乎每次我将它作为桌面应用程序运行时,我都会遇到这个主要错误:Causedby:com.badlogic.gdx.utils.GdxRuntimeException:Filenotfound:\data\sounds\music\mainmusic.mp3(Internal)atcom.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)atcom.badlogic.gdx.backends.lwjgl.audio.Mp3$Music.(Mp3.java

java - 模式语法异常 : Unexpected internal error near index 1 for `.split(File.separator)` under windows

下面的代码片段在linux下工作正常,但在windows下给我错误(这很奇怪,因为jvm/jdk应该是操作系统不可知的)。Filef=...String[]split=f.getPath().split(File.separator);这里是错误:java.util.regex.PatternSyntaxException:Unexpectedinternalerrornearindex1\^atjava.util.regex.Pattern.error(UnknownSource)atjava.util.regex.Pattern.compile(UnknownSource)atja