
设计模式
god_love_hlq_xff
这个作者很懒,什么都没留下…
展开
-
高并发下最全线程安全的单例模式几种实现
为了节约系统资源,有时需要确保系统中某个类只有唯一一个实例,当这个唯一实例创建成功之后,我们无法再创建一个同类型的其他对象,所有的操作都只能基于这个唯一实例。 但是饿汉式单例类不能实现延迟加载,不管将来用不用始终占据内存;懒汉式单例类线程安全控制烦琐,而且性能受影响。可见,无论是饿汉式单例还是懒汉式单例都存在这样那样的问题,相比较内部静态(static)内部类实现可以兼并以上问题。单例模式优缺点如转载 2017-11-11 21:16:38 · 708 阅读 · 0 评论 -
spring AOP 领悟
一、Aop原理(一)动态代理1、详见:java进阶(七):详解JAVA代理2、主要是Proxy 与 InvocationHandle r接口3、代理出来的对象可以起到即插即用的目的(二)Cglib 实现1、主要是 Enhancer 和 MethodInterceptor 接口二、概念通常aspect+pointcut用于日志记录和一些通用方法操作,adv转载 2017-11-27 09:51:55 · 233 阅读 · 0 评论 -
常访问的源码链接收藏
bosshttp://www.iocoder.cn/#mybatishttp://www.iocoder.cn/MyBatis/good-collection/RabbitMQ 实现原理与源码解析系统http://www.iocoder.cn/RabbitMQ/good-collection/springhttp://www.iocoder.cn/Spring/good...原创 2018-09-13 00:08:22 · 248 阅读 · 0 评论 -
Netty 源码分析之服务端
服务器端在分析客户端的代码时, 我们已经对 Bootstrap 启动 Netty 有了一个大致的认识, 那么接下来分析服务器端时, 就会相对简单一些了.首先还是来看一下服务器端的启动代码:public final class EchoServer { static final boolean SSL = System.getProperty("ssl") != null; ...转载 2018-09-18 23:49:01 · 169 阅读 · 0 评论 -
Netty 源码分析之 ChannelPipeline (二)
我们注意到, pipeline.addXXX 都有一个重载的方法, 例如 addLast, 它有一个重载的版本是:ChannelPipeline addLast(String name, ChannelHandler handler);第一个参数指定了所添加的 handler 的名字(更准确地说是 ChannelHandlerContext 的名字, 不过我们通常是以 handler 作...转载 2018-09-20 22:13:30 · 236 阅读 · 0 评论