美文网首页
一个例子理解逃逸分析。

一个例子理解逃逸分析。

作者: 铁拳阿牛 | 来源:发表于2018-09-22 09:10 被阅读47次

    文前你需要准备的功底技术功底。
    jstat 输出信息的解读
    逃逸分析 的基本概念。
    new 的时候确实有做逃逸分析,而不是书上的概念。

    /**
     *
     * 运行代码输入下面的命令观察jvm 信息
     * jstat -gcnew `jps -l | grep "TestAnalysis" | awk  -F ' '  '{print $1}'` 1000
     * jstat -gcutil `jps -l | grep "TestAnalysis" | awk  -F ' '  '{print $1}'` 1000
     * @Author: 铁拳阿牛
     * @Date: 2018/9/22 上午8:48
     * @Version 1.0
     */
    public class TestAnalysis {
        private static int LENGTH = 100000000;
        public static void main(String[] args) throws Exception {
            for(int i = 0  ; i < 100 ; i++){
                newObject();
                System.out.println("次数" + i);
                Thread.sleep(1000);
            }
        }
    
        public static void newObject(){
            for(int i = 0 ; i < LENGTH ;i++){
                //new 了是在堆里还是在栈上?执行上👆面命令查看
                Node node = new Node(i);
            }
    
        }
    
    
        //POJO 不用看这里
        static class Node {
    
            private int valuel;
    
            private TestGC.Node node;
    
            public Node(int valuel) {
                this.valuel = valuel;
            }
    
            public Node(int valuel, TestGC.Node node) {
                this.valuel = valuel;
                this.node = node;
            }
    
            public int getValuel() {
                return valuel;
            }
    
            public void setValuel(int valuel) {
                this.valuel = valuel;
            }
    
            public TestGC.Node getNode() {
                return node;
            }
    
            public void setNode(TestGC.Node node) {
                this.node = node;
            }
        }
    
    }
    
    
    

    相关文章

      网友评论

          本文标题:一个例子理解逃逸分析。

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