String,StringBuffer与StringBuilder的区别
- String是字符串常量,其创建的字符串内容是不可以改变的,而StringBuilder和StringBuffer是字符串变量,其创建的字符串可改变的;
- StringBuffer是线程安全的,StringBuilder是非线程安全的;
- 如何选择呢:
- 如果要操作少量的数据用 String;
- 多线程操作字符串缓冲区下操作大量数据 StringBuffer;
- 单线程操作字符串缓冲区下操作大量数据 StringBuilder(推荐使用)。
Java类加载机制
暂时还有难度,毕竟我主攻的语言是python
https://www.jianshu.com/p/202f6abb229c
https://blog.csdn.net/cnahyz/article/details/82219210
Java中深拷贝和浅拷贝的区别
- 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝;
- 深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象并复制其内容;
- 判断依据:
- 是否复制了子对象;
- 若修改了克隆后的对象的属性值,影响到原对象,则为浅拷贝,不影响叫深拷贝。
Java多线程同步的措施
https://www.cnblogs.com/yongwuqing/p/3961824.html
- synchronized关键字;
- Lock显示加锁;
- 信号量Semaphore。