02 2023 档案
摘要:一、JVM层 在java.util.concurrent包下面的很多类为了追求性能都采用了sun.misc.Unsafe类中的CAS操作,从而避免使用synchronized等加锁方式带来性能上的不足。 在sun.misc.Unsafe中CAS方法如下: /** * CAS * @param o 包
阅读全文
摘要:一、概述 理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类。由于所有的类都继承在Object类,因此省略了extends Object关键字。 Object类属于java.lang包,此包下的所有类在使用时无需手动导入,系统会在程序编译期间自动导入。Objec
阅读全文
摘要:一、概述 Collections工具类提供了大量针对Collection和Map的操作,都为静态(static)方法,总体可分为四类: 排序操作 查找、替换操作 同步控制 设置不可变(只读)集合 二、排序操作 Collections提供以下方法对List进行排序操作: void reverse(Li
阅读全文
摘要:一、概述 String类的一个最大特性是不可修改性,而导致其不可修改的原因是在String内部定义了一个常量数组,因此每次对字符串的操作实际上都会另外分配分配一个新的常量数组空间。 二、创建字符串对象的方式 2.1 四种方式 方式一:直接赋值(常用) // 直接赋值方式创建对象是在方法区的常量池 S
阅读全文
摘要:一、概述 SPI(Service Provider Interface),是JDK内置的一种服务注册与发现的机制,通过解耦服务提供者与服务使用者,实现了服务创建 & 服务使用的关注点分离。用来启用框架扩展和替换组件,这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。
阅读全文