高并发处理包
在Java里有一个包:java.util.concurrent包,这组开发包是从JDK1.5的时候开始添加到JDK系统之中的,主要目的是进行高并发访问的处理,也就是说通过这个程序实现的开发包都将基于线程池的高速操作完成,而对于线程池一共有四种:任意扩张的线程池、定长线程池、线程调度池、单线程池。
在进行项目的开发过程中,如果某一个操作按照原始方式进行代码开发,则可以无限制的进行线程的扩展。
前提:公用信息需要进行重复使用。
它依然是Map接口的子类,操作方法还是以Map接口定义的为主。接口有一个特点:不同的子类针对同一方法有不同的实现。
那么HashMap、Hashtable、ConcurrentHashMap有什么区别的?
Hashtable:进行公共数据保存的时候线程的安全性是最高的,因为同一时刻只允许一个线程进行操作;
HashMap:所有的方法都属于异步处理的,这样可以保证操作速度快,前提是:处理多个用户并发访问,但是不安全;
ConcurrentHashMap:在进行数据存储或读取的时候并不是简单的按照HashCode()进行简单存放,而是经过了一些处理之后以保证高速的响应,前提是:需要有一个并发访问的Map的高效数据。
例如:现在有一些内容需要临时记录在一个Map集合里面,这个内容有可能有几类用户去看:送餐员、客户、管理者,这个时候这个集合一定是一个公共的集合,对于这样的公共集合数据,就必须进行快速响应,而且还需要保存大量的内容。
更多专业知识,面试技巧就在阿里云开发者社区,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧