我标杆一些代码,我不能让它以最快的速度奔跑着java.math.BigInteger
使用完全相同的算法,即使.所以我将java.math.BigInteger
source 复制到我自己的包中并尝试了这个:
//import java.math.BigInteger;
public class MultiplyTest {
public static void main(String[] args) {
Random r = new Random(1);
long tm = 0, count = 0,result=0;
for (int i = 0; i < 400000; i++) {
int s1 = 400, s2 = 400;
BigInteger a = new BigInteger(s1 * 8, r), b = new BigInteger(s2 * 8, r);
long tm1 = System.nanoTime();
BigInteger c = a.multiply(b);
if (i > 100000) {
tm += System.nanoTime() - tm1; …
Run Code Online (Sandbox Code Playgroud) "java -server"和"java -client"之间有什么实际的区别吗?我在Sun的网站上找到的只是一个模糊的" - 服务器启动较慢但应该运行得更快".有什么真正的区别?(目前使用JDK 1.6.0_07.)
I upgraded to the latest Java 7 u40 on MacOS X and started getting the following message on the console when launching my application using Eclipse. The app works fine but I would like to find out the cause of the problem and hopefully a fix for it.
objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)
Does anyone know why this message is printed and how to …
究竟什么是HotSpot以及它与JVM和OpenJDK有什么关系?它是图书馆吗?它到底是做什么用的?
另外,OpenJDK和HotSpot有什么区别?
有人能说明一下JVM选项是什么ReservedCodeCacheSize
和InitialCodeCacheSize
是谁?特别是何时/为什么我要改变它?我如何确定合适的尺寸?
这就是文档所说的:
-XX:ReservedCodeCacheSize = 32m保留代码高速缓存大小(以字节为单位) - 最大代码高速缓存大小.[Solaris 64位,amd64和-server x86:2048m; 在1.5.0_06及更早版本中,Solaris 64位和64:1024m.
热点JVM标志-XX:+UseCompressedOops
做什么以及何时应该使用它?在64位Java实例上使用它时(不使用它),我会看到什么样的性能和内存使用差异?
我必须运行jmap
才能获取我的进程的堆转储.但jvm
回来了:
Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
Run Code Online (Sandbox Code Playgroud)
所以我使用了-F
:
./jmap -F -dump:format=b,file=heap.bin 10330
Attaching to process ID 10331, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.51-b03
Dumping heap to heap.bin ...
Run Code Online (Sandbox Code Playgroud)
-F
是可以进行堆转储吗?我们遇到了Java.lang.OutOfMemoryError:PermGen空间错误并查看了tomcat JVM参数,除了我们还指定的-Xms
和-Xmx
params之外-XX:MaxPermSize=128m
.经过一些分析后,我偶尔可以看到PermGen空间上发生的垃圾收集,使其无法完全运行.
我的问题是:除了增加-XX:MaxPermSize
我指定的差异之外,还有-XX:PermSize
什么呢?我知道总的内存中,然后将XMX + MaxPermSize参数,但是否有其他原因,-XX:PermSize
应该不是的时候是有-XX:MaxPermSize
规定的?
如果您有处理这些JVM参数的实际经验,请分享.
PS.JVM是HotSpot 64位服务器VM build 16.2-b04
除了Java任务控制中更"先进"的GUI之外,它们有何不同?
乍一看,它们似乎提供了非常相似的功能(解释JMX数据和内存/ CPU分析).
但是,由于它们都随JDK一起提供(我使用的是JDK 1.7.0_51 SE),我假设存在显着差异,否则它们将合并为一个解决方案.特别是因为这会显着增加JDK的大小.
Java Mission Control最终是否会在未来取代JVisualVM?