1、==与equals的区别
==比较时内存地址(存在栈中)
equals()默认比较的时内存地址,如果一个类重写了equals()方法,则根据重写的规则进行排序。
2、HashSet的去重的机制
首先通过hashCode()方法获取hash值进行比较,如果hash值一致,调用equals()进行比较,如果equals()返回的为true,则两个对象相同。(调用equals()之前,必须保障hash值一致)
4、单例(双重判断的实现)
public class SingletonDemo(){ //1、构造方法私有化 private SingletonDemo(){}; //2、提供一个私有的静态的本类对象 private SingletonDemo singletonDemo; //3、提供一个公共的静态的返回值类型为本类类型的方法 private static SingletonDemo getInstance(){ if(singletonDemo==null){ //为保证锁的唯一性,这里使用本类的字节码对象锁,当然也可以使用常量 synchronized(SingletonDemo.class){ if(singletonDemo==null){ return singletonDemo=new SingletonDemo(); } } } } }
5、url中文编码
URLEncoder.encode(houseName, "UTF-8");
6、获取src/main/resources下的文件
InputStream is=this.getClass().getClassLoader().getResourceAsStream("test.jpg");
资源路径如下: