草庐IT

jvm-serializers

全部标签

java - JVM 上的浮点运算会在所有平台上给出相同的结果吗?

我在多台机器上运行的应用程序中使用Java,所有机器都需要获得相同的数学运算结果。使用Java的浮点原语是否安全?还是应该只使用定点数学库? 最佳答案 一般来说,不。但是,您可以使用strictfpexpressions:WithinanFP-strictexpression,allintermediatevaluesmustbeelementsofthefloatvaluesetorthedoublevalueset,implyingthattheresultsofallFP-strictexpressionsmustbethos

java - 在哪里可以找到 Oracle JVM 的默认 -Xss(堆栈大小)值?

有没有人找到一个JVM文档,其中列出了OracleJVM不同版本和不同操作系统的默认-Xss值?我已经在jrockitdocs中找到了这张表。,但这对那些使用“普通”OracleJVM的人没有帮助。我很欣赏-Xss值会因操作系统(和JVM版本)而异,因此可能没有一个文档列出所有最近的组合。但是,如果这里有任何读者知道任何单独的文档至少列出了eachJVM版本(或至少1.6和1.5)的默认-Xss值,或者即使仅适用于一些操作系统,这将是一个很好的开始。我对Windows的默认设置特别感兴趣。我要补充一点,这是有值(value)的原因是我们经常看到人们建议(我认为是错误的)有人可以通过更改

java - 在哪里可以找到 Oracle JVM 的默认 -Xss(堆栈大小)值?

有没有人找到一个JVM文档,其中列出了OracleJVM不同版本和不同操作系统的默认-Xss值?我已经在jrockitdocs中找到了这张表。,但这对那些使用“普通”OracleJVM的人没有帮助。我很欣赏-Xss值会因操作系统(和JVM版本)而异,因此可能没有一个文档列出所有最近的组合。但是,如果这里有任何读者知道任何单独的文档至少列出了eachJVM版本(或至少1.6和1.5)的默认-Xss值,或者即使仅适用于一些操作系统,这将是一个很好的开始。我对Windows的默认设置特别感兴趣。我要补充一点,这是有值(value)的原因是我们经常看到人们建议(我认为是错误的)有人可以通过更改

java - JVM 的 LookupSwitch 和 TableSwitch 的区别?

我在理解Java字节码中的LookUpSwitch和TableSwitch时有些困难。如果我理解得很好,LookUpSwitch和TableSwitch都对应于switchJava源代码的声明?为什么一个JAVA语句会生成2个不同的字节码?每个Jasmin文档:LookupSwitchtableswitchboth 最佳答案 不同之处在于查找开关使用带key和标签的tabletableswitch使用一个只有标签的表格.执行时桌面开关,栈顶的int值直接作为表中的索引来抓取跳转目标并立即执行跳转。整个查找+跳转过程是一个O(1)操作

java - JVM 的 LookupSwitch 和 TableSwitch 的区别?

我在理解Java字节码中的LookUpSwitch和TableSwitch时有些困难。如果我理解得很好,LookUpSwitch和TableSwitch都对应于switchJava源代码的声明?为什么一个JAVA语句会生成2个不同的字节码?每个Jasmin文档:LookupSwitchtableswitchboth 最佳答案 不同之处在于查找开关使用带key和标签的tabletableswitch使用一个只有标签的表格.执行时桌面开关,栈顶的int值直接作为表中的索引来抓取跳转目标并立即执行跳转。整个查找+跳转过程是一个O(1)操作

java - 支持在 HotSpot JVM 中删除压缩字符串?

在此Oracle页面JavaHotSpotVMOptions,它会将-XX:+UseCompressedStrings列为可用且默认开启。但是在Java6update29中,默认情况下它是关闭的,而在Java7update2中它会报告警告JavaHotSpot(TM)64-BitServerVMwarning:ignoringoptionUseCompressedStrings;supportwasremovedin7.0有人知道删除这个选项背后的想法吗?sortinglinesofanenormousfile.txtinjava使用-mx2g,此示例在Java6更新29中启用该选项需

java - 支持在 HotSpot JVM 中删除压缩字符串?

在此Oracle页面JavaHotSpotVMOptions,它会将-XX:+UseCompressedStrings列为可用且默认开启。但是在Java6update29中,默认情况下它是关闭的,而在Java7update2中它会报告警告JavaHotSpot(TM)64-BitServerVMwarning:ignoringoptionUseCompressedStrings;supportwasremovedin7.0有人知道删除这个选项背后的想法吗?sortinglinesofanenormousfile.txtinjava使用-mx2g,此示例在Java6更新29中启用该选项需

java - JVM GC 是否会在引用比较过程中移动对象,导致即使双方都引用同一个对象也无法进行比较?

众所周知,GC有时会在内存中移动对象。据我了解,只要在移动对象时(在调用任何用户代码之前)更新所有引用,这应该是完全安全的。但是,我看到有人提到引用比较可能是不安全的,因为在引用比较中间被GC移动了对象,这样即使两个引用都应该引用同一个对象,比较也可能失败?即,是否存在以下代码不会打印“true”的情况?Foofoo=newFoo();Foobar=foo;if(foo==bar){System.out.println("true");}我尝试用谷歌搜索,但由于缺乏可靠的结果,我相信说这话的人是错误的,但我确实找到了各种论坛帖子(likethisone),似乎表明他是正确的。但是那个帖

java - JVM GC 是否会在引用比较过程中移动对象,导致即使双方都引用同一个对象也无法进行比较?

众所周知,GC有时会在内存中移动对象。据我了解,只要在移动对象时(在调用任何用户代码之前)更新所有引用,这应该是完全安全的。但是,我看到有人提到引用比较可能是不安全的,因为在引用比较中间被GC移动了对象,这样即使两个引用都应该引用同一个对象,比较也可能失败?即,是否存在以下代码不会打印“true”的情况?Foofoo=newFoo();Foobar=foo;if(foo==bar){System.out.println("true");}我尝试用谷歌搜索,但由于缺乏可靠的结果,我相信说这话的人是错误的,但我确实找到了各种论坛帖子(likethisone),似乎表明他是正确的。但是那个帖

Java - 获取 JVM 中加载的所有类的列表

我想获取属于某个包的所有类及其所有子类的列表。这些类可能已加载到JVM中,也可能尚未加载。 最佳答案 这不是程序化解决方案,但您可以运行java-verbose:class....JVM会转储它正在加载的内容,以及从哪里加载。[Opened/usr/java/j2sdk1.4.1/jre/lib/rt.jar][Opened/usr/java/j2sdk1.4.1/jre/lib/sunrsasign.jar][Opened/usr/java/j2sdk1.4.1/jre/lib/jsse.jar][Opened/usr/java/