标签: jvm-hotspot

如何在Java中编写正确的微基准测试?

你如何在Java中编写(并运行)正确的微基准测试?

我在这里寻找代码示例和注释,说明要考虑的各种事项.

示例:基准测量应该测量时间/迭代或迭代/时间,为什么?

相关:秒表基准可以接受吗?

java benchmarking jvm jvm-hotspot microbenchmark

835
推荐指数
11
解决办法
11万
查看次数

Java JIT在运行JDK代码时是否作弊?

我标杆一些代码,我不能让它以最快的速度奔跑着java.math.BigInteger使用完全相同的算法,即使.所以我将java.math.BigIntegersource 复制到我自己的包中并尝试了这个:

//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 jit jvm jvm-hotspot

399
推荐指数
2
解决办法
2万
查看次数

"java -server"和"java -client"之间的真正区别?

"java -server"和"java -client"之间有什么实际的区别吗?我在Sun的网站上找到的只是一个模糊的" - 服务器启动较慢但应该运行得更快".有什么真正的区别?(目前使用JDK 1.6.0_07.)

java jvm jvm-hotspot

380
推荐指数
8
解决办法
23万
查看次数

Class JavaLaunchHelper is implemented in both ... libinstrument.dylib. One of the two will be used. Which one is undefined

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 …

java eclipse macos jvm jvm-hotspot

271
推荐指数
6
解决办法
12万
查看次数

JVM和HotSpot之间的区别?

究竟什么是HotSpot以及它与JVM和OpenJDK有什么关系?它是图书馆吗?它到底是做什么用的?

另外,OpenJDK和HotSpot有什么区别?

java jvm-hotspot

133
推荐指数
5
解决办法
6万
查看次数

什么是ReservedCodeCacheSize和InitialCodeCacheSize?

有人能说明一下JVM选项是什么ReservedCodeCacheSizeInitialCodeCacheSize是谁?特别是何时/为什么我要改变它?我如何确定合适的尺寸?

这就是文档所说的:

-XX:ReservedCodeCacheSize = 32m保留代码高速缓存大小(以字节为单位) - 最大代码高速缓存大小.[Solaris 64位,amd64和-server x86:2048m; 在1.5.0_06及更早版本中,Solaris 64位和64:1024m.

java jvm jvm-hotspot

82
推荐指数
2
解决办法
8万
查看次数

UseCompressedOops JVM标志做什么以及何时应该使用它?

热点JVM标志-XX:+UseCompressedOops做什么以及何时应该使用它?在64位Java实例上使用它时(不使用它),我会看到什么样的性能和内存使用差异?

java memory jvm jvm-hotspot

78
推荐指数
1
解决办法
4万
查看次数

运行jmap获取无法打开套接字文件

我必须运行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)
  1. 使用-F 是可以进行堆转储吗?
  2. 我等了20分钟还没完呢.有什么想法吗?

java linux jvm jvm-hotspot

76
推荐指数
4
解决办法
5万
查看次数

-XX:带或不带-XX的MaxPermSize:PermSize

我们遇到了Java.lang.OutOfMemoryError:PermGen空间错误并查看了tomcat JVM参数,除了我们还指定的-Xms-Xmxparams之外-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 jvm permgen jvm-hotspot

50
推荐指数
3
解决办法
28万
查看次数

JVisualVM和Java Mission Control有什么区别?

除了Java任务控制中更"先进"的GUI之外,它们有何不同?

乍一看,它们似乎提供了非常相似的功能(解释JMX数据和内存/ CPU分析).

但是,由于它们都随JDK一起提供(我使用的是JDK 1.7.0_51 SE),我假设存在显着差异,否则它们将合并为一个解决方案.特别是因为这会显着增加JDK的大小.

Java Mission Control最终是否会在未来取代JVisualVM?

java visualvm jvm-hotspot jvisualvm java-mission-control

50
推荐指数
2
解决办法
1万
查看次数