
JAVA 基础
文章平均质量分 61
F-Dimension
这个作者很懒,什么都没留下…
展开
-
JAVA并发之可见性、原子性、有序性
在多核CPU执行并发程序时,由于CPU存在多级缓存,而缓存之间同步数据需要一定的时间,所以存在多个核心可能读取不同缓存(local cache)里的数据,导致到多个核心读取到的数据不一致,而我们的线程可能运行在不同的核心上,有可能出现不可见性。不同的CPU有不同的设计,但多数CPU存在3级缓存,三级缓存的速度依次递减,其中l1缓存时每个核心独占的缓存,也是最快的。注意事项:volatile不具有传染性,即对象是可见的,对象的属性不一定,反之亦然。当一个线程修改了共享变量的值,其他的线程能够看到修改的值。原创 2024-08-01 16:31:00 · 188 阅读 · 0 评论 -
SPI机制
SPI(Service Provider Interface)是JAVA中提供的一种服务发现机制,他允许应用程序动态的加载和使用第三方提供的服务实现,SPI机制通过接口和配置文件的方式,实现了服务提供者和使用者之间的解耦。服务提供者只需按照接口规范实现服务,并在配置文件中声明实现类;服务使用者则通过接口调用服务,无需关心具体的实现细节。原创 2024-07-25 14:48:09 · 242 阅读 · 0 评论 -
Map集合全通关
Map集合又称双列集合,其存储形式是一种将键(Key)映射到值(Value)的对象。Map集合是集合体系中的一个分支, 实现类主要有HashMap(线程不安全)、HashTable(线程安全)、TreeMap(线程不安全)、LinkedHashMap(线程安全)实现类。其中HashMap、LinkedHashMap、ConcurrentHashMap(并发包Concurrent下,线程安全)允许存储一个null键(因为键是唯一的)和多个null值;TreeMap不允许null键但可以多个null值;原创 2024-07-16 13:39:48 · 1187 阅读 · 1 评论