软件设计原则学习
软件设计原则学习最近在学习GOF23,感觉前提一定要清楚了解设计的原则,不然无法完全体会设计模式的优势。因此也就兴冲冲的好好钻研了一波设计原则。1.开闭原则开闭原则(Open-ClosedPrinciple,OCP)是指一个软件实体(如类、模块、函数)应该对扩展开放,对修改关闭。所谓开闭,其实是对扩
软件设计原则学习最近在学习GOF23,感觉前提一定要清楚了解设计的原则,不然无法完全体会设计模式的优势。因此也就兴冲冲的好好钻研了一波设计原则。1.开闭原则开闭原则(Open-ClosedPrinciple,OCP)是指一个软件实体(如类、模块、函数)应该对扩展开放,对修改关闭。所谓开闭,其实是对扩
#2019年12月30日更新,Spring自带的时间编程是同步的,如果你有异步的需求需要自己配置一下:@ConfigurationpublicclassAsynchronousSpringEventsConfig{@Bean(name="applicationEventMulticaste
Spring应用上下文生命周期1. 前言本文基于Spring-framework.5.2.2.RELEASE版本进行论述,参考了小马哥在极客时间的课程(文章末尾有对应二维码)。2. Spring应用上下文刷新阶段刷新阶段主要是围绕 AbstractApplicationContext#refresh
Redis基础1. 设计一个键值数据库SimpleKV1.1. 需要存哪些数据不同键值数据库支持的 key 类型一般差异不大,而 value 类型则有较大差别。我们在对键值数据库进行选型时,一个重要的考虑因素是它支持的 value 类型。例如,Memcached 支持的 value 类型仅为 Str
Spring Bean的生命周期1. 前言Spring是一个IOC(Inversion of Control,控制反转)容器框架,拥有DI(Dependency Injection,依赖注入),DL(Dependency Lookup,依赖查找 等功能。认为一个IOC框架最基本要有以下功能:配置解析
HashMap源码的细节与启发1.前言这些天心血来潮想认认真真过一遍JCF的源码实现,在阅读到HashMap的时候发现自己之前还是太肤浅,很多地方没能理解JDK作者的巧思,因此想记录下来自己学习过程中的收获。在正式开始之前先吹一波美团技术团队,之前看并发编程的时候也是搜到不少美团技术团队的文章,写的
1.首先挂一个图图片摘自美团技术团队,个人觉得写的特别好:2.synchronized的锁作用范围Java锁作用范围有两种:一种是类的实例对象的锁(对象锁)。一种是类的class对象(类锁)。比如:在一个静态方法前面加synchronized关键字,就是对这个类的class对象加锁。publiccl