前言今天同事提了一个需求让我做,大概意思在对一个用户的属性进行编辑后,在数据库中记录操作日志,主要就是记录被修改属性修改前后的值。这个问题简化一下就是判断一个类的两个对象属性值的不同。 两个对象进行比较相等,有两种做法:1,情况一:当仅仅只是判断两个对象是否相等时,只需重写equals()方法即可。2.情况二:当除了情况一之外,还需知道是那个属性不同,那么就需要采用类反射。也可以先把对象转成Jso
展开全文12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210
展开全文HashMap基本结构首先,我们来回忆一下Hash Map的基本结构: 源码分析123public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable Node节点123456789101112131415161718192
展开全文类及属性12345678910111213public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable { // Hashtable保存数据的数组 private transient En
展开全文构造方法1234567891011121314151617181920212223242526/** * Constructs a new, empty set; the backing <tt>HashMap</tt> instance has * default initial capacity (16) and load factor (0.75).
展开全文看前准备吃大餐前,先来一道开胃菜 完整大餐12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
展开全文类及成员1234567891011121314151617181920212223242526public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable{ // 比较器对
展开全文12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210
展开全文为什么要有CurrentHashMap 线程不安全的HashMap HashMap是Java中最常用的一个Map类,性能好、速度快,但不能保证线程安全,它可用null作为key/value。HashMap的线程不安全主要体现在resize时的死循环及使用迭代器时的fast-fail上。HashMap在并发执行put会引起死循环,是因为多线程会导致HashMap的Entry链表成环,一旦成环,Ent
展开全文