1、主要:Hashtable线程安全,同步,效率相对低下
HashMap线程不安全,非同步,效率相对高
2、父类:Hashtable 是Dictionary HashMap是AbstractMap
3、null:Hashtable键与值不能为null;
HashMap键最多一个null,值可以多个null;
1、作用:读写资源配置文件
2、键与值只能为字符串
3、方法:
setProperty(String key ,String value)
getProperty(String key)【不建议使用】
用指定的键在此属性列表中搜索属性,如果不存在返回空
getProperty(String key ,String defaultValue)
如果不存在,返回默认值
存储后缀为.properties
store(OutputStream out ,String comments)
store(Writer writer , String comments)
load(InputStream instream)
load(Reader reader)
.XML格式
storeToXML(OutputStream os, String comment):UTF-8字符集
storeToXML(OutputStream os,String comment,String encoding)
loadFormXML(InputStream in)
4、相对路径与绝对路径
1)、绝对路径:盘符 windows:、lInux:/
2)、相对路径:当前项目、工程
5、类路径加载资源文件
类所在的根路径
1)、类.class.getResourceAsStream("/")
2)、Thread.currentThread().getContextClassLoader().getResourceAsStream("")
1、WadkHashMap
引用分类:(面试)
强引用:StrongReference:引用指向对象,gc(Garbage collection)运行时不回收
软引用:SoftReference gc运行时可能回收(jvm内存不够)
弱引用:WeakReference gc运行时立即回收
虚引用:PhantomReference类似于无引用,主要跟踪对象被回收的状态,
不能单独使用,必须与引用队列(ReferenceQueue)联合使用
目的:避免对象长期驻留在内存中,解决垃圾回收机制回收时机问题
三个Map接口的实现类
WeakHashMap:
键为弱引用,回收键后自动删除key-value对象
IdentityHashMap:
键只以地址去重,而不是比较hashcode与equals。
注意:键是常量池中的字符串
EnumMap:
键必须为枚举的值
构造器:public EnumMap(指定枚举class对象)