java 线程安全和非线程安全的区别

针对于arrayList和vector hashMap和hashTableStringBuilder和StringBuffer的区别问题都是在讲述java线程安全和非线程安全的问题
但说到两者的区别,什么场景下使用, 给出自己的观点
就上述问题 ArrayList 和 hashMap 和 StringBuilder 是线程不安全的
vector hashTable StringBuffer 是线程安全的

线程安全不安全其实是针对于java多线程开发提出的问题
对于线程不安全的 arraylist 在多线程的情况下 开多个线程同时操作同一个对象时会出现问题,一般都是会遗漏,导致程序或项目出现隐形的bug
对于线程安全的 vector 则不会出现这样的问题 它是通过synchronized关键字同步控制,虽然保证了线程安全 但是影响了程序的性能

你可能感兴趣的:(java基础)