Hashtable和HashMap对比
1.Hashtable的特点 ①原理:采用hash算法,创建了hash表 ②java早期版本引入的API,线程安全的 ③默认为11,加载因子0.75 ④作为键的对象,必须覆盖hashCode和equals()方法 2.Hashtable与HashMap的区别 ①继承的父类不同 ②Hashtable继承自Dictionary类,而HashMap继承自AbstracMap类,但二者都实现了Map接口 ③线程安全性不同,Hashtable线程安全,HashMap非线程安全 ④Hashtable是早期的API,HashMap是后期引入的API
Properties特点及应用
特点
①继承了Hashtable ②该类可以读取和写入数据到流中 ③默认为0
应用场景
配置文件的加载
Properties的API
Properties配置文件 ①创建配置文件:文件扩展名一般为properties ②文件内容的书写规则:key == value(固定的格式) ③创建文件的输入流:InputStream is = new FileStream(String path); path:配置文件的路径 ④Properties使用load方法加载输入流 void load(InoutStream is) ⑤通过Properties的getProperty(String key) 或者setProperty(String key.value)方法来操作配置文件中读取的配置信息
Demo
/*
加载db.properties配置文件
*/
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class PropertiesDemo {
public static void main(String[] args) throws IOException {
//1.加载文件
InputStream is = new FileInputStream("D:\\javaproject\\javaStudy\\src\\PropertiesDemo\\db.properties");
//2.创建一个Properties对象
Properties pro = new Properties();
//3.将文件的数据加载到properties中
pro.load(is);
//4.根据对应的key获取对应value
String driver = pro.getProperty("driver");
System.out.println(driver);//com.mysql.Driver
String url = pro.getProperty("url");
System.out.println(url);//jdbc:mysql://localhost:8080:guge
String user = pro.getProperty("user");
System.out.println(user);//root
String password = pro.getProperty("password");
System.out.println(password);//root
}
}
db.properties
driver = com.mysql.Driver
url = jdbc:mysql://localhost:8080:guge
user = root
password = root
|