美文网首页
Java 9(JEP 143)中针对竞争锁的优化

Java 9(JEP 143)中针对竞争锁的优化

作者: ssssssnake | 来源:发表于2018-01-23 21:54 被阅读0次

    在JEP 143(http://openjdk.java.net/jeps/143 在Java 9发布)中对竞争锁做了优化,简要内容如下:
    JEP 143: Improve Contended Locking
    Summary: Improve the performance of contended Java object monitors.

    做一个简单的对比测试,代码如下,分别基于Java 8.0_152和Java 9.0.4

    按照官方说明,关闭偏向锁和轻量锁 -XX:-UseBiasedLocking -XX:+UseHeavyMonitors

    public class SyncTest implements Runnable {

    public static void main(String[] args) throws InterruptedException {
    
        int threadNum = 4;
    
        SyncTest syncTest = new SyncTest();
    
        Thread[] threadGroup = new Thread[threadNum];
    
        for (int i = 0; i < threadNum; i++) {
            threadGroup[i] = new Thread(syncTest);
        }
    
        long begin = System.currentTimeMillis();
    
        for (int i = 0; i < threadNum; i++) {
            threadGroup[i].start();
        }
    
        for (int i = 0; i < threadNum; i++) {
            threadGroup[i].join();
        }
    
        long end = System.currentTimeMillis();
    
        System.out.println(end - begin);
    }
    
    public void run() {
        for (int i = 0; i < 100000000; i++) {
            synchronized (this) {
    
            }
        }
    }
    

    }

    最终经过多次对比:
    在Java8下,平均执行时间大约为5.8s
    在Java9下,平均执行时间大约为4.4s

    相关文章

      网友评论

          本文标题:Java 9(JEP 143)中针对竞争锁的优化

          本文链接:https://www.haomeiwen.com/subject/sxpeaxtx.html