Java
Francis Einscan
写博客既为自我提升、日后复习,也希望能帮助到有需要之人,所写不一定是精华且无误,但大部分是经过实际验证的结果,且能引用官方原文的会尽量提供链接。同时,如有错误的地方希望也能得到指正,谢谢。
展开
-
Java 负数二进制表示、位运算、移位运算
负数的二进制:-x =!x+1 这个等式表示两边的二进制相等x表示一个正整数,-x表示x的相反数的二进制,!x表示x的二进制按位取反,然后+1原码:正数的原码就是他的二进制,负数的原码就是他的绝对值的二进制的最高位补1.反码:正数的反码与原码相同,负数的反码为他的原码除符号位外全部按位取反。补码:正数的反码与原码相同,负数的反码为他的原码除符号位外全部按位取反,然后+1举例:1的原码:000000000000 0000 0000 0000 0000 0001-1的原码:1000 0000原创 2020-06-10 12:45:52 · 929 阅读 · 0 评论 -
逃逸分析
逃逸分析(Escape Analysis)是目前Java虚拟机中比较前沿的优化技术,它与类型继承关系分析一样,并不是直接优化代码的手段,而是为其他优化措施提供依据的分析技术。逃逸分析的基本原理是:分析对象动态作用域,当一个对象在方法里面被定义后,它可能被外部 方法所引用,例如作为调用参数传递到其他方法中,这种称为方法逃逸;甚至还有可能被外部线程访 问到,譬如赋值给可以在其他线程中访问的实例变量,这种称为线程逃逸;从不逃逸、方法逃逸到线 程逃逸,称为对象由低到高的不同逃逸程度。如果能证明一个对象不会逃原创 2020-05-17 21:45:32 · 606 阅读 · 0 评论 -
Java 实现左侧菜单栏的数据层级结构
这是一个超级简单的实现,未考虑性能等因素,仅供参考。。。数据库设计: menu表,顶级菜单parentId默认为-1,同一个顶级菜单下所有菜单的rootId为顶级菜单的idMenu.java@Datapublic class Menu { private int id; private String name; private int parentId; ...原创 2020-03-14 19:30:00 · 2327 阅读 · 2 评论