摘要:一、概述 泛型( )是 中引入的一个新特性, 泛型提供了 编译时类型安全检测机制 ,该机制允许开发者在编译时检测到非法的类型。 1.1 什么是泛型? 泛型,即 参数化类型 。 一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具 阅读全文
posted @ 2020-01-18 19:38 风尘博客 阅读 (300) 评论 (0) 编辑
摘要:一、定义 是`JDK ThreadLocal`意思就是本地线程的意思。 1.1 是什么? 要想知道他是个啥,我们看看 的源码(基于 )中对这个类的介绍: 大致能够总结出: 1. 可以给我们提供一个线程内的局部变量,而且这个变量与一般的变量还不同,它是每个线程独有的,与其他线程互不干扰的; 1. 与普 阅读全文
posted @ 2020-01-15 00:18 风尘博客 阅读 (281) 评论 (0) 编辑
摘要:BeanUtils 如何拷贝 List? 一、背景 我们在 、`Model VO`层数据间可能经常转换数据: 1. 对应的是持久层数据结构(一般是数据库表的映射模型); 2. 对应的是业务层的数据结构; 3. 就是 和客户端交互的数据结构。 例如:数据库查询出来的用户信息(表的映射模型)是 ,但是我 阅读全文
posted @ 2020-01-13 09:35 风尘博客 阅读 (234) 评论 (3) 编辑
摘要:工厂模式应用非常之广,在 底层源码以及各大主流框架中随处可见,一般以 结尾命名的类,比如 中的 ,`Spring BeanFactory`等,都是工厂模式的典型代表。 一、简单工厂模式 1.1 概念 简单工厂模式又称为静态工厂模式,属于设计模式中的创建型模式。简单工厂模式通过对外提供一个静态方法来统 阅读全文
posted @ 2019-12-03 08:06 风尘博客 阅读 (152) 评论 (2) 编辑
摘要:业务系统中经常需要两个对象进行属性的拷贝,大多时候时候使用的是`Apache`或`Spring``BeanUtils`,今天,我们来看一下一个更高效的属性拷贝方式:`BeanCopier`。 阅读全文
posted @ 2019-11-07 09:54 风尘博客 阅读 (495) 评论 (1) 编辑
摘要:Map 中 ConcurrentHashMap是线程安全的,但不是所有操作都是,例如 get() 之后再 put() 就不是了,这时使用 merge() 确保没有更新会丢失。因为Map.merge()意味着我们可以原子地执行插入或更新操作,它是线程安全的。 阅读全文
posted @ 2019-10-10 09:35 风尘博客 阅读 (339) 评论 (0) 编辑
摘要:本文主要讲解Spring Boot 整合Jwt 认证的示例,详细内容,详见文末源码。 阅读全文
posted @ 2019-10-05 00:08 风尘博客 阅读 (318) 评论 (0) 编辑
摘要:本案例主要讲解 实现分布式锁的两种实现方式: 实现、 实现。网上关于这方面讲解太多了,Van自认为文笔没他们好,还是用示例代码说明。 一、 实现 该方案只考虑 单机部署的场景 1.1 加锁 1.1.1 原理 1. : 使用 来当锁,因为 是唯一的; 1. : 我传的是唯一值( ),很多童鞋可能不明白 阅读全文
posted @ 2019-09-21 00:34 风尘博客 阅读 (512) 评论 (1) 编辑
摘要:如何逃离令人抓狂的 if-else 参数校验的代码,Van 带你用validator快速搞定,节省更多的时间勾搭小姐姐。 阅读全文
posted @ 2019-09-11 23:47 风尘博客 阅读 (528) 评论 (1) 编辑
摘要:在单机场景下,全局唯一的ID可以使用数据库的自增功能,分布式系统一般是高并发场景,那自然不适合。 阅读全文
posted @ 2019-09-05 00:04 风尘博客 阅读 (1493) 评论 (6) 编辑