This commit is contained in:
8ga
2026-07-25 16:48:22 +08:00
parent 04a64efefe
commit c8827c24a3

View File

@@ -18,8 +18,8 @@
- List在非多线程场景默认用ArrayList就够了。只有需要按照插入顺序遍历元素的场景才考虑使用LinkedList。需考虑线程安全用CopyOnWriteArrayList。或者等。
- Set在非多线程场景默认用HashSet。对排序要求考虑用LinkedHashSet或TreeSet。需考虑线程安全用`cn.hutool.core.collection.ConcurrentHashSet`、ConcurrentSkipListSet、CopyOnWriteArraySet等。
- Map在非线程场景默认使用HashMap就够了。对排序要求考虑用LinkedHashMap或TreeMap。如果存在并发场景需考虑线程安全用ConcurrentHashMap或ConcurrentSkipListMap等JUC工具包。
- Queue的使用要控制内存用ArrayBlockingQueue。经典生产者消费者用LinkedBlockingQueue。要窃取任务用LinkedBlockingDeque。追求极致吞吐且不怕队列暴涨用ConcurrentLinkedQueue。必须双端且高吞吐用ConcurrentLinkedDeque。
- Lock的使用分布式锁使用Redisson相关API单机使用ReentrantLock、StampedLock、ReentrantReadWriteLock即可。
- Queue的使用要控制内存用ArrayBlockingQueue。经典生产者消费者用LinkedBlockingQueue。要窃取任务用LinkedBlockingDeque。追求极致吞吐且不怕队列暴涨用ConcurrentLinkedQueue。必须双端且高吞吐用ConcurrentLinkedDeque。
- Lock的使用分布式锁使用Redisson相关API单机使用ReentrantLock、StampedLock、ReentrantReadWriteLock即可。
## ORM映射规则