编程语言系列 -- JAVA
JAVA 基础与进阶系列专栏
奋斗企鹅CopperSun
这个作者很懒,什么都没留下…
展开
-
【JAVA进阶系列】JAVA 设计模式 -- 工厂模式(Factory)
【JAVA进阶系列】JAVA 设计模式 -- 工厂模式(Factory)【1.1】工厂模式简介工厂模式的类结构图Product(产品),Product角色定义了在Factory Method模式中生成的实例所持有的接口(API),具体的处理则由子类ConcreteProduct角色决定;Creator(创建者),Creator角色负责生成Product角色,具体的处理则由子类ConcreteCreator角色决定;ConcreteProduct(具体产品),ConcreteProduct角色翻译 2020-11-03 19:19:41 · 217 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 抽象工厂模式(Abstract Factory)
【JAVA进阶系列】JAVA 设计模式 -- 抽象工厂模式(Abstract Factory)【1.1】抽象工厂模式简介抽象工厂者模式的类结构图AbstractProduct(抽象产品),AbstractProduct角色定义AbstractFactory角色所生成的抽象产品接口;AbstractFactory(抽象工厂),AbstractFactory角色定义用于生成抽象产品的接口;Client(委托者),Client角色仅仅调用AbstractFactory角色和AbstractProd翻译 2020-11-03 19:46:03 · 306 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 构造者模式(Builder)
【JAVA进阶系列】JAVA 设计模式 -- 构造者模式(Builder)【1.1】构造者模式简介构造者模式的类结构图Builder(建造者),Builder角色负责定义用于生成实例的接口(API),Builder角色中准备了用于生成实例的方法;ConcreteBuilder(具体的建造者),ConcreteBuilder角色负责实现Builder角色的接口的类;Director(监工),Director角色负责使用Builder角色的接口以生成实例,其不依赖于ConcreteBuilder翻译 2020-11-03 17:27:14 · 352 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 适配器模式(Adapter)
【JAVA进阶系列】JAVA 设计模式 -- 适配器模式(Adapter)【1.1】适配器模式简介适配器模式的类结构图(使用继承)适配器模式的类结构图(使用委托)Target(对象)角色,该角色定义所需的方法;Client(请求者)角色,该角色负责使用Target角色所定义的方法进行具体处理;Adaptee(被适配)角色,是一个持有既定方法的角色;Adapter(适配)角色,使用Adaptee角色的方法已满足Target角色的需求;【1.2】适配器模式的 JAVA 代码实现适翻译 2020-11-04 09:39:33 · 177 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 外观模式(Facade)
【JAVA进阶系列】JAVA 设计模式 -- 外观模式(Facade)【1.1】外观模式简介外观模式的类结构图Facade(窗口)角色,Facade角色代表构成系统的许多其他角色的窗口,Facade角色向系统外部提供高层接口;构成系统的许多其他角色,这些角色各自完成自己的工作,它们并不知道Facade角色的存在,这些角色由Facade角色调用;Client(请求者)角色,Client角色负责调用Facade角色;【1.2】外观模式的 JAVA 代码实现代码类结构图示代码源码示翻译 2020-11-04 09:20:55 · 172 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 装饰模式(Decorator)
【JAVA进阶系列】JAVA 设计模式 -- 装饰模式(Decorator)【1.1】装饰模式简介Component角色,增加功能时的核心角色;ConcreteComponent角色,实现了Component角色所定义的接口;Decorator角色,具有与Component角色相同的接口,内部保存了被装饰的对象;ConcreteDecorator角色,具体的Decorator角色;【1.2】装饰模式的 JAVA 代码实现代码类结构图示代码源码示例Main 类public翻译 2020-11-04 09:01:36 · 168 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 代理模式(Proxy)
【JAVA进阶系列】JAVA 设计模式 -- 代理模式(Proxy)【1.1】代理模式简介与 JAVA 代码示例【1.1】代理模式简介代理模式的类结构图代理模式中的角色1. Subject(主体),Subject 角色定义了使 Proxy 角色和 RealSubject 角色之间具有一致性的接口;由于存在 Subject 角色,Client 角色不必在意其所使用的究竟是 Proxy 角色还是 RealSubject 角色;2. Proxy(代理人),Proxy 会尽量处理来自 Cli翻译 2020-11-03 09:10:10 · 166 阅读 · 0 评论 -
【JAVA进阶系列】JAVA 设计模式 -- 责任链模式(Chain Of Responsibility)
【JAVA进阶系列】JAVA 设计模式 -- 责任链模式(Chain Of Responsibility)【1.1】责任链模式简介责任链模式的类结构图Handler(处理者)角色,Handler角色定义了处理请求的接口,Handler角色明确下一个处理者角色,当自己无法处理请求则将该请求转发给下一个处理者;ConcreteHandler(具体的处理者)角色,实际处理请求的角色;Client(请求者)角色,向第一个ConcreteHandler角色发送请求的角色;【1.2】责任链模式的 J翻译 2020-11-05 09:28:27 · 197 阅读 · 0 评论 -
【JAVA进阶系列】进阶知识 -- 解析 Integer 的比较
【JAVA进阶系列】解析 Integer 的比较【1】示例代码public class IntTest { public static void main(String[] args) { Integer a = 100, b = 100, c = 150, d = 150; System.out.println(a == b); // true System.out.println(c == d); // false }原创 2020-09-18 09:25:25 · 198 阅读 · 0 评论 -
【JAVA进阶系列】进阶知识 -- Class类 getName()、getCanonicalName()、getSimpleName()、getTypeName() 方法的异同
【JAVA进阶系列】Class类 getName()、getCanonicalName()、getSimpleName()、getTypeName() 方法的异同【1】getName()返回该类对象作为字符串表示的实体(类、接口、数组类、基本数据类型或 void)的名称可以理解为返回的是虚拟机中 Class 对象的表示当动态加载类的时候,会用到该方法的返回值,如: 使用 Class.forName() 方法如果是内部类,则使用 $ 符号进行连接如果是数组,则使用 [ 来表示,数组是几维,[转载 2020-09-15 18:59:42 · 2768 阅读 · 0 评论 -
【JAVA并发编程系列】并发 -- 原子操作 (基本原理)
【JAVA并发编程系列】原子操作 -- 基本原理【1】原子操作的意义原子操作(atomic operation)意为“不可被中断的一个或一系列操作”;【2】处理器实现原子操作处理器使用总线锁定和缓存锁定两个机制来保证复杂内存操作的原子性;总线锁保证原子性总线锁就是使用处理器提供的一个 LOCK# 信号,当一个处理器在总线上输出此信号时,其他处理器的请求将被阻塞住,那么该处理器可...原创 2020-10-02 12:47:35 · 239 阅读 · 0 评论 -
【JAVA并发编程系列】并发 -- ThreadLocal
【JAVA并发编程系列】并发框架 -- ThreadLocal【1】ThreadLocal 类结构与关键属性//ThreadLocal 定义类时带有泛型,//说明 ThreadLocal 可以储存任意格式的数据//ThreadLocal 类是泛型的,可以放任意值public class ThreadLocal<T>//threadLocalHashCode 表示当前 ThreadLocal 的 hashCode//用于计算当前 ThreadLocal 在 ThreadLoc原创 2020-06-17 14:04:27 · 333 阅读 · 0 评论 -
【JAVA并发编程系列】并发 -- 锁
【JAVA并发编程系列】锁【1】Lock 接口Lock 接口 提供了与 synchronized 关键字类似的同步功能; 在使用时需要显示地获取和释放锁; 缺少了隐式获取与释放锁的便捷性; 拥有获取与释放锁的可操作性、可中断获取锁以及超时获取锁等同步特性; Lock 接口源码分析【2】队列同步器队列同步器AbstractQueuedSynchronizer:用于...原创 2019-08-18 13:14:34 · 171 阅读 · 0 评论 -
【JAVA并发编程系列】并发 -- synchronized 关键字与锁总结
【JAVA并发编程系列】synchronized 关键字与锁总结【1】JAVA 对象头【2】利用 synchronized 实现同步的基础Java中的每一个对象都可以作为锁;具体表现 :1. 对于普通同步方法,锁是当前实例对象; 2. 对于静态同步方法,锁是当前类的 Class 对象; 3. 对于同步方法块,锁是 Synchonized 括号里配置的对象;【3】Syn...原创 2020-06-26 17:36:16 · 178 阅读 · 0 评论 -
【JAVA并发编程系列】并发 -- Executor 框架(线程池)
【JAVA并发编程系列】并发框架 -- Executor 框架(线程池)【1】合理使用线程池的优势1. 降低资源消耗; 2. 提高响应速度; 3. 提高线程的可管理性;【2】线程池的实现原理当提交一个新任务到线程池时,线程池的处理流程如图所示。【3】JAVA线程池框架 -- Executor 框架分析【3.1】Executor 框架的两级调度模型上层 : Java...原创 2020-03-27 20:10:30 · 283 阅读 · 0 评论