线程安全的类
StringBuffer
1.线程安全,可变的字符序列
2.从jDK5开始,被StringBuilder替代。通常应该使用Stringbuilder类,因为它支持所有相同的操作,但是它更快,因为它不执行同步
Vector
1.从Java2平台v1.2起,该类改进了List接口,使其成为Java CollectionsFramework的成员。与新的集合实现不同,Vector被同步,
如果不需要线程安全的实现,建议使用ArrayList代替Vector,但多线程也不会用Vector,它被一个方法代替了
//static <T> List<T> synchronizedList(List<T> list)
//返回由指定列表支持的同步(线程安全)列表。
ArrayList<String> al=new ArrayList<String>();
List<String> strings = Collections.synchronizedList(new ArrayList<String>());
Hashtable
1.该类实现了一个哈希表,它将键映射到值。任何非null对象都可以用作键和值
2.从Java2平台v1.2起,该类进行了改进,实现了Map接口,使其成为Java Collections Framework的成员
与新的集合实现不同,Hashtable被同步,如果不需要线程安全的实现,建议使用HashMap代替Hashtable,但多线程也不会用Hashtable,它被一个方法代替了
//static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
//返回由指定地图支持的同步(线程安全)映射
HashMap<String,String> hm=new HashMap<String,String>();
Map<String, String> Map = Collections.synchronizedMap(new HashMap<String, String>());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix