草庐IT

jvm-options

全部标签

java - 是否有一个 java8 标准库类表示 "possibly with exception"与 java.util.Optional 表示 "possibly null"的方式相同?

我有一个名为sayCalculationOutcome的类(class)和FileHashOutcome.他们的构造函数有(ActualResult,Throwable)参数,并在CompletionStage链的末尾我有handle(XxxOutcome::new).如果我可以写成sayPossiblyWithError可能会使意图更清晰并节省一些样板文件.编辑:人们要求示例代码...classFileHashOutcome{privatefinalStringhash;privatefinalThrowablethrowable;FileHashOutcome(Stringhash

java - 带有 jvm args 的可运行 jar

我正在尝试使用Eclipse创建一个可运行的jar文件。问题是我在Eclipse中添加到运行配置的vm参数没有以任何方式保存。我知道我可以创建一个批处理文件来运行带有所需参数的jar,但我更希望我的用户只运行jar本身。因此,我的问题是,有没有什么方法可以不通过命令行将vm参数传递给可运行的jar? 最佳答案 简而言之,如果没有某种形式的包装器,您将无法做到这一点。您可以编写.bat文件和/或.sh脚本以通过适当的设置调用JVM。您可能还想查看JavaServiceWrapper,它提供了一种用可执行参数包装.jar并让它作为独立的

java - 哪些 JVM 优化导致了这些性能结果?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在JavaREST服务性能测试中,我得到了一个意想不到的模式:在每次调用中始终创建和返回相同值对象的方法比仅返回存储在类或对象字段中的值对象的另一个版本运行得更快。代码:@POST@Path("inline")publicResponseinline(Strings){returnResponse.status(Status.CREATED).build();}privatestaticfinal

java - Jenkins 的构建被阻止 "Option code: 65002"

我的Jenkins无法构建我们的项目,这是日志:Jenkinsisfullyupandrunningdéc.02,201412:34:35PMInfoshudson.triggers.SCMTrigger$RunnerrunSCMchangesdetectedinADRIA_LIVE_BUILD.Triggering#2487déc.02,201412:37:02PMAvertissementjavax.jmdns.impl.DNSIncomingreadAnswerTherewasanOPTanswer.Notcurrentlyhandled.Optioncode:65002data

java - JVM跳转指令的偏移量怎么会是32768呢?

在写answertoaquestionaboutJVMbytecodeoffsets时,我注意到javac的行为和生成的类文件中有一些我无法解释的东西:像这样编译类的时候classFarJump{publicstaticvoidmain(Stringargs[]){call(0,1);}publicstaticvoidcall(intx,inty){if(x那么生成的字节码将包含以下if_icmpge说明:publicstaticvoidcall(int,int);Code:0:iload_01:iload_12:if_icmpge327685:iinc1,18:iinc1,1...根

java.lang.Optional 的 JavaScript 模拟?

我正在寻找一个客户端JavaScript库,它可以让我使用某种类型的Option类型编写类似于我在其他语言中可以做的代码,例如java.lang.Optional.我的目标是避免在客户端代码中检查null/undefined并使API更明确。这是我希望能够编写的API:vardictionary={key1:'value1',key2:'value2'}functiongetValue(key){varvalue=dictionary[key];if(value!==null&&value!==undefined)returnOptional.of(value);elsereturnO

java - JVM 的 GC 事件的编程通知

我想跟踪在GC上花费了多少时间以及收集了多少内存,但不是通过分析GC日志(即分析我从-XX:+PrintGCWhatever得到的)。我发现我可以使用Sun的ManagementFactory获得一个GarbageCollectorMXBean,它可以给我一些包含内存信息的GCInfo对象,但我不能保证我可以通过这种方式收集所有GC。有人知道在代码中执行此操作的方法吗? 最佳答案 GarbageCollectorMXBean是我能在SunJVM上找到的最好的。根据我的经验,它实际上非常接近您的要求。我想您可以有一个专用线程,它会不时

java - JVM 在内存不足错误期间的行为?列表 s = new ArrayList<String>();

try{for(;;){s.add("Pradeep");}}finally{System.out.println("InFinally");}在tryblock中jvm内存不足,那么jvm在没有内存的情况下如何执行finallyblock?输出:InFinallyExceptioninthread"main"java.lang.OutOfMemoryError:Javaheapspace 最佳答案 大概System.out.println调用比s.add("Pradeep")调用需要更少的内存。例如,如果s是一个ArrayList

java - 如何重新配置​​ eclipse 以使用 64 位 JVM

我在我认为都是64位运行时环境的环境中使用eclipse。当前设置Java>installedJREs和ExecutionEnvironment都指向jdk1.6.0_30,它是JDK的64位版本。但是,eclipse仍然认为它运行的是32位版本,因为当我运行时:System.getProperty("sun.arch.data.model");它返回32而不是64。我为64位机器编译的外部JNI资源不会链接到共享的.so文件,除非它在​​64位环境中运行。(当我尝试这样做时出现字长不匹配错误)那么如何重新配置​​eclipse以运行64位jvm。eclipse本身必须是64位版本吗?

java - 我们需要运行多少次 Java 程序来预热 JVM?

假设我有一个Java程序Test.class。我想测量它的执行时间。我写了一个包装器来执行以下操作:classRunTest{publicstaticvoidmain(String[]args){longsum=0;intiterations=20;intwarmupNum=10;for(inti=0;iwarmupNum)sum+=end-start;}System.out.println("ave:"+sum/(iterations-warmupNum));}}这里如何选择warmupNum,越大越好吗?多大才够?这是衡量Java程序性能的“标准/通用”方法吗?