草庐IT

jvm-options

全部标签

java - 一周的第一天是基于语言还是基于 JVM 的国家?

可以通过调用Calendar.getInstance(locale).getFirstDayOfWeek()获取JVM上一周的第一天。然而,这些信息是基于语言还是基于国家/地区? 最佳答案 事实证明,这是依赖于JDK版本的。JDK8根据语言返回一周的第一天,因此它返回SUNDAYfor"en_FI""en_US"和MONDAY"fi_FI"和"fi_US"。但是,JDK9切换到CLDR系统(更合乎逻辑地)使用国家/地区。因此,JDK9将为"en_FI"和"fi_FI"语言环境返回MONDAY,并将为SUNDAY返回“fi_US”和“

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.

在 JVM 中记录/重放执行代码的 Java 解决方案

我们有一个bug,我们正试图找出它是否会以非确定性方式发生(好吧,它是确定性的,但我们只是不知道究竟是什么导致了它),而且它每隔几个小时才会发生一次。我们读取了大量网络数据,并且我们有很多线程,因此它很可能来自输入、竞争条件或两者的组合,但在大多数情况下,不可重现。我想知道是否有任何JVM记录器/重放器可以存储JVM中发生的所有事情,这样我们就可以逐步完成它并重新创建异常的步骤。我找到了一个。(我不会发布它,这样人们就不会认为我在尝试为产品做广告。),但我想知道是否还有其他人,更重要的是,其他人已经使用过,并且可以报告工作顺利。编辑添加:我找到了ReplaySolutions.我从未使

java - args4j : in "usage" how to sort Options manually?

在args4j中,我定义了这样的选项:@Option(name="-host",usage="hosttoconnect")@Option(name="-port",usage="portofthehost")@Option(name="-idle",usage="idle")然而,当显示帮助时,args4j总是使用字母顺序,所以它会打印-host-hosttoconnect-idle-idle-port-porttoconnect这不太方便,因为我想先显示强制选项。此外,我想自己设置选项的顺序,因为一些选项(如主机和端口)应该放在一起。如何控制args4j中选项的顺序?我发现3年前问

java - JVM 垃圾回收

一般来说(据我所知,Oracle/sun和其他第三方以及MS都有一个标准的JVM实现),JVM是否只创建一个作为守护进程运行的垃圾收集线程来收集垃圾对象,或者JVM生成多个线程来完成垃圾收集? 最佳答案 通过-XX:+UseParallelGC启用的“吞吐量收集器”是默认收集器,使用多线程。使用-XX:+UseConcMarkSweepGC启用的“并发低暂停收集器”使用一个线程作为并发收集器,但它的stop-the-world收集器是并行的。只有很少使用的单线程gc-XX:+UseSerialGC是单线程的。http://www.o

java - jvm堆设置模式

我在设置堆大小时观察到人们更喜欢值64,128,256,1024..。如果我给出一个介于这些数字之间的值(比如500),JVM是否会接受该值?为什么这些数字很重要并且是首选?为什么我们也以这种模式升级内存?请帮助我理解。 最佳答案 JVM将接受任何值,这没有问题。使用2^n值只是一种“约定”,使用其他值在实践中不会产生负面影响。 关于java-jvm堆设置模式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

java - SimpleDateFormat 在不同的时区 JVM 中表现不同

我按照以下代码在指定的日期时间和指定的时区创建一个日期对象。注意:我没有为jvm设置任何时区;但是用不同的linux服务器时区测试这段代码。Stringdate="2012122510:00:00";StringtimeZoneId="Asia/Calcutta";TimeZonetimeZone=TimeZone.getTimeZone(timeZoneId);DateFormatdateFormatLocal=newSimpleDateFormat("yyyyMMddHH:mm:ssz");//Thisdateobjectisgiventimeandgiventimezonejav

java - JVM和Java是如何实现文件读写的?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。在Java中,您可以读取和写入文件。但是JVM可以在许多系统上运行,这些系统可能具有不同的存储文件和相关数据的方式。如何编写适用于所有系统的JVM代码?在什么级别使用原生方法?JVM是否有一组特定的文件函数必须为每个系统实现,然后可以由任何语言调用?还是在JVM上运行的每种语言(如Java或Scala)都必须自己完成?

java - 升级到 Hibernate 4.3.4 主要方法永远不会终止 JVM 未完成

我必须从Hibernate4.2.3升级到Hibernate4.3.4以测试一些JPA2.1规范。我只更改了这行代码上一行:finalorg.hibernate.service.ServiceRegistryserviceRegistry=neworg.hibernate.service.ServiceRegistryBuilder().applySettings(hibConfiguration.getProperties()).buildServiceRegistry();新添加的代码行finalorg.hibernate.service.ServiceRegistryservic

Java 8 flatMap + Optional.of 不编译

我正在尝试使用JavaflatMapOptional。这是一个简化的示例:Listx=Arrays.asList("a","b","c");Listresult=x.stream().flatMap((val)->val.equals("b")?Optional.empty():Optional.of(val)).collect(Collectors.toList());我从编译器得到这个错误信息:Error:(10,27)java:incompatibletypes:noinstance(s)oftypevariable(s)Texistsothatjava.util.Optiona