美文网首页
逃逸分析-锁消除-栈上分配例子

逃逸分析-锁消除-栈上分配例子

作者: wuli白 | 来源:发表于2020-04-09 16:10 被阅读0次
    /**
     * 开启逃逸分析:-XX:+DoEscapeAnalysis
     * 关闭逃逸分析:-XX:-DoEscapeAnalysis
     * -XX:+EliminateLocks开启锁消除(jdk1.8默认开启,其它版本未测试)
     * -XX:-EliminateLocks 关闭锁消除
     **/
    public class Main {
    
        public static void main(String[] args) {
            long start = System.currentTimeMillis();
            for (int i = 0; i < 5000000; i++) {
                alloc();
                lock("TestLockEliminate ", "Suffix");
            }
            long end = System.currentTimeMillis();
            System.out.println(end - start);
    
    
    
        }
    
        public static String lock(String s1, String s2) {
            StringBuffer sb = new StringBuffer();
            sb.append(s1);
            sb.append(s2);
            return sb.toString();
        }
    
        /**
         * 栈上分配
         */
        private static void alloc() {
            User user = new User();
            user.setName("a");
        }
    
    
        @Data
        static class User {
            private String name;
            private String age;
        }
    }
    

    相关文章

      网友评论

          本文标题:逃逸分析-锁消除-栈上分配例子

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