![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
叫我东方小巴黎
这个作者很懒,什么都没留下…
展开
-
Java中的<< 和 >> 和 >>> 详细分析
Java中的<< 和 >> 和 >>> 详细分析<<表示左移移,不分正负数,低位补0;注:以下数据类型默认为byte-8位左移时不管正负,低位补0正数:r = 20 << 220的二进制补码:0001 0100向左移动两位后:0101 0000结果:r = 80负数:r = -20 << 2-20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1转载 2021-01-20 02:13:30 · 157 阅读 · 0 评论 -
二叉树前中后序遍历的口诀
前序:根在前,根左右中序:根在中,左根右后序:根在后,左右根解释:根左右是指遍历顺序为先根,再左,最后右转载 2020-12-15 09:56:26 · 2851 阅读 · 1 评论 -
Java匿名内部类和Lambd表达式的联系
正常@Functioninterfacepublic interface IMessage { public int add(int x , int y);}class Message implements IMessage {//被省去了 @Override public int add(int x , int y) { return s1 + s2; }}public class TestDemo { public static .原创 2020-12-14 16:23:01 · 108 阅读 · 0 评论 -
Java基本/引用类型,基本类型所占字节
基本类型和引用类型基本类型:8个char boolean byte short int long float double引用类型:已知3个类 接口 数组区别:基本数据库类型,不牵扯内存分配问题被创建时,栈上给其划分一块内存,数值直接存在栈上引用数据类型,开发者为其分配空间栈上给其引用(句柄)分配一块内存,对象的具体信息都存储在堆内存上,后由栈上引用指向堆中对象地址...原创 2020-12-10 16:18:34 · 939 阅读 · 0 评论 -
一句话搞懂Java向上转型,向下转型区别
猫是动物,但动物不一定是猫猫向 → 动物 转型随便转动物 → 猫 转型需手动强制类型转换向上转型随便转,向下转型有风险memo: https://zhuanlan.zhihu.com/p/67227781原创 2020-11-25 19:10:58 · 130 阅读 · 0 评论 -
java是按值调用(值传递)还是按引用调用(引用调用)
基本类型:8个char boolean byte short int long float double引用类型:已知类 接口 数组区别:基本数据库类型,不牵扯内存分配问题被创建时,栈上给其划分一块内存,数值直接存在栈上引用数据类型,开发者为其分配空间栈上给其引用(句柄)分配一块内存,对象的具体信息都存储在堆内存上,后由栈上引用指向堆中对象地址值传递引用传递https://blog.csdn.net/javazejian/article/details/51192130h原创 2020-11-18 15:36:42 · 771 阅读 · 1 评论 -
java枚举
枚举必须用private构造,如没有无参构造,手动调构造参数传参Enum类中为什么构造函数必须是私有的枚举被设计成是单例模式,即枚举类型会由JVM在加载的时候,实例化枚举对象,你在枚举类中定义了多少个就会实例化多少个,JVM为了保证每一个枚举类元素的唯一实例,是不会允许外部进行new的,所以会把构造函数设计成private,防止用户生成实例,破坏唯一性。枚举对象必须放在首行,随后定义属性、构造、普通方法等结构JDK1.5可以在switch表达式中使用Enum定义的枚举类的对象作为表达式,.原创 2020-11-18 15:30:58 · 70 阅读 · 0 评论 -
Java中equals和==的区别
正常区别==基本类型:值是否相同引用类型:地址是否相同equals引用类型:默认比较地址注:可以根据情况重写该方法String的equals方法==:比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较;equals():比较的是两个字符串的内容,属于内容比较。 public boolean equals(Object anObject) { if (this == anObject) { return true;转载 2020-11-18 10:39:27 · 89 阅读 · 0 评论 -
JDK 1.8 对接口做了进一步的增强
JDK 1.8 对接口做了进一步的增强。1.8之前 全局变量+抽象方法interface a { public static final int a = 100; public abstract void f1();}等价于interface a { int a = 100; void f1();}就算 不写 public static final 或abstract,或在方法上是否写public,都一样的 接口里只能用public。但为了准确定义,建议接口定义方法时加上publ原创 2020-10-28 00:32:05 · 101 阅读 · 0 评论 -
String,StringBuffer,StringBuilder区别
StringBuffer和StringBuilder的append比string的"+""快String str = "a"; str+="b";我们可以看到,初始String值为"a",然后在这个字符串后面加上新的字符串"b",这个过程是需要重新在栈堆内存中开辟内存空间的,最终得到了“ab”字符串也相应的需要开辟内存空间,这样短短的两个字符串,却需要开辟三次内存空间,不得不说这是对内存空间的极大浪费。为了应对经常性的字符串相关的操作,引入了两个新的类——StringBuffer类和Strin.原创 2020-10-12 01:32:00 · 63 阅读 · 0 评论 -
tbd java多态性,父类引用指向子类对象
memo向上转型 参数统一向下转型 自定义方法? p228https://www.cnblogs.com/shilin/p/4784862.html原创 2020-09-24 01:36:07 · 99 阅读 · 0 评论 -
用Java反射优化工厂设计模式
1.正常工厂模式interface AA { public abstract void f1();}class BB implements AA { @Override public void f1() { System.out.println("this is class BB"); }}class CC implements AA { @Override public void f1() { System.out.println("this is class CC");原创 2020-09-01 10:40:17 · 196 阅读 · 0 评论