1.高并发专题
高并发编程一直是程序员比较头疼的事项,它不像那些简单的业务编程,能够快速定位到异常。往往在并发编程中,出现的异常都是比较诡异的,而且并不是每次都会复现。只有掌握了并发编程更深层次的原理和源码分析,才能更好的解决并发编程中出现的问题。
高并发:如何安全的发布对象(含各种单例代码分析)
高并发:线程与多线程
高并发:线程的执行顺序
高并发:深入解析Callable接口
高并发:两种异步模型与深度解析Future接口
高并发:SimpleDateFormat类的线程安全问题和解决方案
高并发:不得不说的线程池与ThreadPoolExecutor类浅析
高并发:P8级别架构师带你深度解析线程池中那些重要的顶层接口和抽象类
高并发:创建线程池居然有这么多方式
高并发:ThreadPoolExector类居然是这样保证线程池正确运行的
高并发:通过源码深度分析线程池中Worker线程的执行流程
高并发:从源码角度深度解析线程池是如何实现优雅退出的
高并发:ScheduledThreadPoolExecutor与Timer的区别和简单示例
高并发:深度解析ScheduledThreadPoolExecutor类的源代码
高并发:深度解析ScheduledFutureTask类源码
高并发:多线程的三大特性(原子性、可见性和有序性)
高并发:浅谈AQS中的CountDownLatch、Semaphore与CyclicBarrier
高并发:浅谈AQS中的Lock与Condition
高并发:一个工作了7年的朋友去面试竟然被Thread类虐的体无完肤
高并发:如何使用Java7中提供的Fork/Join框架实现高并发程序?
高并发:要想学好并发编程,关键是要理解这三个核心问题
高并发:工作了3年的程序员小菜面试高并发岗位被吊打虐哭
高并发:导致并发编程频繁出问题的“幕后黑手”
高并发:解密导致诡异并发问题的第一个幕后黑手——可见性问题
高并发:解密导致并发问题的第二个幕后黑手——原子性问题
高并发:解密导致并发问题的第三个幕后黑手——有序性问题
高并发:如何解决可见性和有序性问题?这次彻底懂了!
高并发:一分钟了解什么是限流
高并发:32位多核CPU并发读写long型数据为何会出现诡异问题?看完这篇我懂了!
高并发:不可不说的几种限流算法
高并发:面试官问我ThreadPoolExecutor类的核心流程,我和他扯了半天!
高并发:ThreadLocal学会了这些,你也能和面试官扯皮了!
高并发:高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!
高并发:高并发环境下诡异的加锁问题(你加的锁未必安全)
高并发:什么是ForkJoin?看这一篇就够了!
高并发:优化加锁方式时竟然死锁了!!
高并发:你知道吗?大家都在使用Redisson实现分布式锁了!!
高并发:为何高并发系统中都要使用消息队列?这次彻底懂了!
高并发:在高并发环境下该如何构建应用级缓存?
高并发:高并发环境下如何优化Tomcat性能?看完我懂了!
高并发:不废话,言简意赅介绍BlockingQueue
高并发:高并发场景下创建多少线程才合适?一条公式帮你搞定!!
高并发:高并发场景下如何优化加锁方式?看完这篇我确实明白了!!
高并发:如何使用Java7中提供的Fork/Join框架实现高并发程序?
高并发:高并发分布式锁架构解密,不是所有的锁都是分布式锁!!
高并发:终于弄懂为什么局部变量是线程安全的了!!
高并发:信不信?以面向对象的思想是可以写好高并发程序的!
高并发:又一个朋友面试栽在了Thread类的stop()方法和interrupt()方法上!
高并发:由InterruptedException异常引发的思考
高并发:朋友问我学习高并发需不需要阅读源码,我是这样分析的!!
高并发:线程的生命周期其实没有我们想象的那么简单!!
高并发:你敢信??HashMap竟然干掉了CPU!!
专栏地址(持续更新中。。。)
2.设计模式
在软件开发的历程中,正是无数前辈们本着追求完美的架构设计和代码设计的初心。经过无数前辈们的探索和努力,逐渐形成了一系列的设计原则和设计模式。在Java的常见的23种设计模式中,大体上可以分为创建型模式、结构型模式和行为型模式三大类。本文就对Java中的23种涉及模式进行汇总,方便记录和查阅。
创建型模式:
单例模式(Singleton)
抽象工厂模式(AbstractFactoty)
工厂方法(FactoryMethod)
建造者模式(Builder)
原型模式(Prototype)
结构型模式:
适配器模式(Adapter)
装饰模式(Decorator)
外观模式(Facade)
代理模式(proxy)
桥接模式(Bridge)
组合模式(Composite)
享元模式(Flyweight)
行为模式:
责任链模式(COR)
命令模式(Command)
解析器模式(Interpreter)
迭代器模式(interator)
中介者模式(Mediator)
备忘录模式(Memento)
观察者模式(Observer)
状态模式(State)
策略模式(Strategy)
模板方法(TemplateMethod)
访问者模式(Visitor)
3.Java8新特性
Java8中新增了大量的新特性。其中,最重要的新特性就是Lambda表达式和Stream API,除此之外,还有:函数式接口、方法引用与构造器引用、接口的默认方法和静态方法、新时间和日期API、Optional等其他新特性。
Java8新特性:一张图带你领略Java8有哪些新特性
Java8新特性:Java8为什么要引入Lambda表达式?原来如此!
Java8新特性:Lambda表达式基础语法,都在这儿了!!
Java8新特性:Lambda表达式典型案例,你想要的的都在这儿了!!
Java8新特性:还没搞懂函数式接口?赶快过来看看吧!
Java8新特性:知识点总结,你都会了吗?
Java8新特性:浅谈方法引用和构造器引用
Java8新特性:关于Java8的Stream API,看这一篇就够了!!
Java8新特性:面试官问我:Java8中创建Stream流有哪几种方式?
Java8新特性:Stream API有哪些中间操作?看完你也可以吊打面试官!!
Java8新特性:面试官:谈谈Java8中的Stream API有哪些终止操作?
Java8新特性:关于并行流与串行流,你必须掌握这些!!
Java8新特性:不了解Optional类,简历上别说你懂Java8!!
Java8新特性:接口中的默认方法和静态方法,你都掌握了吗?
Java8新特性:关于Java8中的日期时间API,你需要掌握这些!!
Java8新特性:不只是Java8的注解,你想要的都在这儿了!!
专栏地址(持续更新中。。。)
4.Dubbo
业界公认的两大牛逼的服务治理框架,一个是Dubbo,一个是SpringCloud,我们一起来看看阿里开源的Dubbo为何如此牛逼。
Dubbo:改造低版本Dubbo,使其兼容Spring4或Spring5注解配置
Dubbo:低版本Dubbo与高版本Spring集成
Dubbo:你知道如何将Dubbo服务打包成Jar文件吗?这篇文章帮你搞定!!
Dubbo:使用Shell脚本维护Dubbo服务
Dubbo:监控中心的介绍与简易监控中心的安装
Dubbo:Dubbo 管理控制台的安装
Dubbo:如何实现Dubbo服务的集群
Dubbo:分布式服务子系统的划分
Dubbo:服务接口的设计原则
Dubbo:几种负载均衡算法
Dubbo:线程模型(Linux 用户线程数限制导致的 java.lang.OutOfMemoryError)
Dubbo:你知道如何使用Dubbo消费端直连服务提供者进行开发和调试吗??
Dubbo:服务只订阅(开发调试)
Dubbo:Dubbo Filter实战
5.MyBatis源码分析
MyBatis作为一个持久化框架,越来越多的被使用到实际的项目中。近年来,行业对于从业者对MyBatis的要求越来越高。而无论是在面试中,或者想进一步成为高级程序员或者架构师,都需要对MyBatis的源码有一定的了解。
MyBatis源码分析:构建源码分析测试用例
MyBatis源码分析:配置解析创建SqlSessionFactory的过程
MyBatis源码分析:SqlSession会话创建过程
MyBatis源码分析:获得Mapper对象
MyBatis源码分析:执行SQL语句的过程
6.Spring注解驱动开发
从使用到原理,再到底层源码实现,深入分析讲解Spring注解的原理和实现。
Spring:聊聊Spring注解驱动开发那些事儿!
Spring:使用@Configuration和@Bean向容器中注册组件?看这一篇就够了!!
Spring:使用@ComponentScan自动扫描组件并指定扫描规则
Spring:自定义TypeFilter指定@ComponentScan注解的过滤规则
Spring:使用@Scope注解设置组件的作用域
Spring:不知道什么是懒加载?看这一篇就够了!!
Spring:如何按照条件向Spring容器中注册bean?这次我懂了!!
Spring:使用@Import注解给容器中快速导入一个组件
Spring:在@Import注解中使用ImportSelector接口导入bean
Spring:深入理解Spring的ImportSelector接口
专栏地址(持续更新中)