开发进阶当前阶段-心得篇

学习微服务框架,不如学习演进式架构(Evolutionary Architecture)。

学习新的编程语言,不如学习代码整洁之道、设计模式、领域驱动设计(DDD)。

学习 LeSS 和规模化敏捷框架(SAFe),不如学习精益生产原则(Lean manufacturing principles)。

学习 Hystrix,不如学习容错模式(Fault Tolerance Patterns)。

学习 Docker,不如学习持续交付。

学习 Angular、React 和 Vue,不如学习 Web、HTTP 和 REST。

 

分析对象在JVM的大小和分布

<!--官网:http://openjdk.java.net/projects/code-tools/jol/-->
<dependency>
    <groupId>org.openjdk.jol</groupId>
    <artifactId>jol-core</artifactId>
    <version>put-the-version-here</version>
</dependency>
package x.demo.java;
 
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
 
import org.openjdk.jol.info.ClassLayout;
import org.openjdk.jol.info.GraphLayout;
 
public class JolDemo {
 
    static Object generate() {
        Map<String, Object> map = new HashMap<>();
        map.put("a", new Integer(1));
        map.put("b", "b");
        map.put("c", new Date());
 
        for (int i = 0; i < 10; i++) {
            map.put(String.valueOf(i), String.valueOf(i));
        }
        return map;
    }
 
    static void print(String message) {
        System.out.println(message);
        System.out.println("-------------------------");
    }
 
    public static void main(String[] args) {
        Object obj = generate();
 
        //查看对象内部信息
        print(ClassLayout.parseInstance(obj).toPrintable());
 
        //查看对象外部信息
        print(GraphLayout.parseInstance(obj).toPrintable());
 
        //获取对象总大小
        print("size : " + GraphLayout.parseInstance(obj).totalSize());
    }
}

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页