• 一些经常忽略的东西


    >>> 无符号右移,<< 左移  >> 右移
    
    
        org.openjdk.jol
        jol-core
        0.16
    
    1. public class OperatorTest {
    2. @Data
    3. @AllArgsConstructor
    4. @NoArgsConstructor
    5. static
    6. class Person{
    7. private Integer age;
    8. private String name;
    9. }
    10. /**
    11. * java 对象 分为对象头,class pointer ,实例数据,对齐
    12. * @param args
    13. */
    14. public static void main(String[] args) {
    15. System.out.println(Integer.toBinaryString(-8));//11111000 100010000
    16. System.out.println(Integer.toBinaryString(-8<<2));
    17. System.out.println(Integer.toBinaryString(-64));
    18. System.out.println(Integer.toBinaryString(-64>>>2));
    19. System.out.println(ClassLayout.parseInstance(10)); // 8 + 4 + 4 = 15
    20. System.out.println(ClassLayout.parseInstance(10l)); // 8 + 4 + 8 + 4 =24
    21. System.out.println(ClassLayout.parseInstance(false)); // 8 + 4 + 1 + 5 = 16
    22. String s = new String("中");
    23. System.out.println(ClassLayout.parseInstance(s));
    24. System.out.println(ClassLayout.parseInstance("中"));
    25. System.out.print(ClassLayout.parseInstance(new Person(20,"zhangsan")));
    26. }
    27. }
    1. 11111111111111111111111111111000
    2. 11111111111111111111111111100000
    3. 11111111111111111111111111000000
    4. 111111111111111111111111110000
    5. java.lang.Integer.value @12 (int, 4b)
    6. size = 16
    7. java.lang.Long.value @16 (long, 8b)
    8. size = 24
    9. java.lang.Boolean.value @12 (boolean, 1b)
    10. size = 16
    11. java.lang.String.value @12 (byte[], 4b)
    12. java.lang.String.hash @16 (int, 4b)
    13. java.lang.String.coder @20 (byte, 1b)
    14. size = 24
    15. java.lang.String.value @12 (byte[], 4b)
    16. java.lang.String.hash @16 (int, 4b)
    17. java.lang.String.coder @20 (byte, 1b)
    18. size = 24
    19. com.example.demo.OperatorTest.Person.age @12 (java.lang.Integer, 4b)
    20. com.example.demo.OperatorTest.Person.name @16 (java.lang.String, 4b)
    21. size = 24
    22. Process finished with exit code 0

  • 相关阅读:
    macOS通过钥匙串访问找回WiFi密码的详细教程
    分布式面试详解
    【web】WebSocket初步的认识
    Mount [shell][mount -o loop]
    Next.js(React应用开发框架)实战——路由(一)
    Student实体类内部比较器比较年龄,身高,名字
    ​一文梳理ICML 2022中图机器学习热点和趋势
    Tlsr8258开发-读写内部flash
    《从0开始写一个微内核操作系统》0-环境准备
    APScheduler 环境与基础
  • 原文地址:https://blog.csdn.net/x17809211858/article/details/136759406