前段时间写了一个多线程,具体的功能的就是同一个请求对象去做远程调用获取数据,单线程顺序执行没有任何问题,在多线程状况下,直接执行报错,然后想到了前辈说的由于框架中使用的单例比较多,是非线程安全的 -- (当时就有一个疑问,单例模式不是线程安全的么???),使用单例的好处也是显而易见的。在此整理下那些事线程安全的,那些是非线程安全的
为初学者而著!
Java基础是初学者的起点,是帮助你从小白入门到精通必学基础课程!
B站最新录制Java300集>>> 适合准备入行开发的零基础员学习Java,基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。
配套学习:2022年Java300集最新录制课程上线了>>>
线程安全 非线程安全
非线程安全是指多线程操作同一个对象时,可能会出现某些异常问题;而线程安全时多个线程操作同一个对象不会出现问题。
非线程安全 =!不安全,只要在多线程情况下,不操作同一个对象,使用非线程安全是不会出现问题的。
线程安全的与非线程安全的整理汇总
collection 知识点
collection 的类继承
Arraylist 、linkedList 和 vector 区别
Arraylist 是动态数组,是Array的复杂版本,当更多元素加入到ArrayList中时,会动态增长,扩容的倍数为原来的1.5倍本质是一个数组。
LinkedList 是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.当然,这些对比都是指数据量很大或者操作很频繁的情况下的对比。它还实现了 Queue 接口,该接口比List提供了更多的方法,包括 offer(),peek(),poll()等
Vector 和ArrayList类似, 区别在于Vector是同步类(synchronized).因此,开销就比ArrayList要大。
HashSet 、LinkedHashSet 和 treeSet 异同
HashSet继承AbstractSet类,实现Set、Cloneable、Seriali