JDK-源码阅读_java.util包详解
上一篇讲了java.lang包,这篇结合上一篇讲解一下java.util包(工具包),在开发中使用频率最高的包。
java.util包包含以下的包:
java.util.concurrent:并发包
java.util.function:函数式接口
java.util.jar:提供读写 JAR (Java ARchive) 文件格式的类
java.util.logging:提供了强大的日志输出功能
java.util.prefs:此包允许应用程序存储并检索用户和系统首选项和配置数据
java.util.regex:是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包
java.util.spi:java.util 包中类的服务提供者类
java.util.stream:它有助于为各种数据来源上的可能的并行批量操作建立简明的、声明性的表达式
java.util.zip:提供了用于读写标准ZIP和GZIP文件格式的类
util包内容也不少,这里先节选集合类和concurrent包做重点讲解,个人感觉这两块东西应该开发必用的,尤其是集合类,大家使用集合类有没有考虑过集合的选用,我看好多开发数组就用ArrayList,key-value就用HashMap,去重就用TreeSet,好多人都是一知半解的
集合相关:
常见集合的默认大小及扩容机制
并发相关:
atomic包原子类
locks包包含锁相关的类
并发包我们需要特别关注,重入锁ReentrantLock,读写锁ReentrantReadWriteLock,同步控制工具信号量Semaphore,倒计时器CountDownLatch,循环栅栏CyclicBarrier,线程池与Future,以及并发容器,接下来我会着重讲解这些经常使用到的内容,其他未涉及的地方可以查找其他资料去了解。