java中的设计模式

该博客围绕Java中的设计模式展开,结合源码讲解更易理解。介绍了策略模式,泛型接口可作公共策略;迭代器模式;适配器模式,容器中有所应用;模板方法模式,AQS底层框架采用此模式,还给出相关转换及参考链接。

背景:讲设计模式的时候,最好能够结合源码来进行理解,逼格更高

策略模式

泛型接口比较实用的使用场景就是用作策略模式的公共策略,比如 Java 解惑:Comparable 和 Comparator 的区别 中介绍的 Comparator,它就是一个泛型接口

 

迭代器模式 iterator

适配器模式

容器中使用到了

https://www.bookstack.cn/read/Interview-Notebook/notes-Java%20%E5%AE%B9%E5%99%A8.md

 java.util.Arrays#asList() 可以把数组类型转换为 List 类型。

@SafeVarargs
public static <T> List<T> asList(T... a)

如果要将数组类型转换为 List 类型,应该注意的是参数列表为泛型的变长参数,因此不能使用基本类型数组作为参数,只能使用相应的包装类型数组。

Integer[] arr = {1, 2, 3};
List list = Arrays.asList(arr);

也可以使用以下方式生成 List。

List list = Arrays.asList(1,2,3);

模板方法模式 

AQS是个底层框架,采用模板方法模式

(转)Java并发包基石-AQS详解

转载于:https://www.cnblogs.com/lixuwu/p/10829355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值