当前位置: 移动技术网 > IT编程>开发语言>Java > java琐碎笔记整理

java琐碎笔记整理

2020年07月29日  | 移动技术网IT编程  | 我要评论

数组长度为0和null不同, int 【】arr = new int【0】和 int 【】arr = null的区别是一个堆空间确实new了对象有地址,null是空引用

string不可变,底层是char数组,所以string虽然是引用类型数据,但是复制赋值时,string a = “a”;string b = a;b = “change”;此时虽然ab同时指向原来a那一份的堆空间,但是修改了之后,因为不可改所以就重新开辟空间又存放这些数据,

string的两种创建方式:
直接赋值,从常量池中找,有了直接拿来用,没了就生成一个,
new的方式,这样就会在堆中实际创建一个对象,即使在常量池中有
面向接口编程,拿jdbc来举例,编写时我没直接按照接口来考虑,即接口就是定义了一些标准,也就是这样的接口具备一些通用的功能,那么不同人,不同厂家可以根据这些接口写各自不同的实现类,但是对于我们来说并不需要关心,实现类的具体细节,我们只需要利用多态,根据接口定义好的功能写出各种业务,逻辑,功能,而具体则根据我们用的是mysql,oracle,db2或者是其他各种的实现类的对象,我只需要把他们导进来,给接口赋值,就能用,需要更换只用把具体的实现类的对象换成别的就行,非常方便

单例模式,饿汉,懒汉(线程不安全,需要加同步代码块)
代理模式,工厂模式等设计模式,动态(抽象)

一个方法如果有重写,形参中可能有几种类型,那么默认不会为基本数据类型自动装箱,比如list.remove()方法中这里填一个2,那么会默认把他当成int index,也就是索引来用,最终会移除索引2处的元素;因为比起自动装箱把他当成object的2从而移除list里的2元素更加简便,所以就不会优先考虑自动装箱

字符串,集合

本文地址:https://blog.csdn.net/jz6666jz/article/details/107600647

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网