
java
文章平均质量分 93
郭俊JasonGuo
这个作者很懒,什么都没留下…
展开
-
Java设计模式(九) 桥接模式
当一种事物可在多种维度变化(如两个维度,每个维度三种可能)时,如果为每一种可能创建一个子类,则每增加一个维度上的可能需要增加多个类,这会造成类爆炸(3*3=9)。若使用桥接模式,使用类聚合,而非继承,将可缓解类爆炸,并增强可扩展性。原创 2016-05-12 07:29:34 · 1027 阅读 · 0 评论 -
Java进阶(六)从ConcurrentHashMap的演进看Java多线程核心技术
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为。同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1.8中ConcurrentHashMap的实现原理。原创 2017-07-05 09:17:19 · 751 阅读 · 0 评论 -
Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
本文介绍了Java中的四种I/O模型,同步阻塞,同步非阻塞,多路复用,异步阻塞。同时将NIO和BIO进行了对比,并详细分析了基于NIO的Reactor模式,包括经典单线程模型以及多线程模式和多Reactor模式。原创 2016-08-23 07:00:09 · 5393 阅读 · 2 评论 -
Java进阶(三)多线程开发关键技术
本文将介绍Java多线程开发必不可少的锁和同步机制,同时介绍sleep和wait等常用的暂停线程执行的方法,并详述synchronized的几种使用方式,以及Java中的重入锁(ReentrantLock)和读写锁(ReadWriteLock),之后结合实例分析了重入锁条件变量(Condition)的使用技巧,最后介绍了信号量(Semaphore)的适用场景和使用技巧。原创 2016-06-20 07:15:02 · 4234 阅读 · 0 评论 -
当我们说线程安全时,到底在说什么——Java进阶系列(二)
提到线程安全,可能大家的第一反应是要确保接口对共享变量的操作要具体原子性。实际上,在多线程编程中我们需要同时关注可见性、顺序性和原子性问题。本篇文章将从这三个问题出发,结合实例详解volatile如何保证可见性及一定程序上保证顺序性,同时例讲synchronized如何同时保证可见性和原子性,最后对比volatile和synchronized的适用场景。原创 2016-06-13 07:24:13 · 2314 阅读 · 0 评论 -
Java设计模式(十一) 享元模式
本文介绍了享元模式的适用场景,并结合实例详述了享元模式的实现方式。最后分析了享元模式的优缺点及已(未)遵循的OOP原则原创 2016-05-23 08:22:38 · 837 阅读 · 0 评论 -
Java设计模式(五) 多态的极致应用——组合模式
本文介绍了组合模式的概念,UML类图,优缺点,实例讲解以及组合模式(未)遵循的OOP原则。原创 2016-06-08 07:25:09 · 4546 阅读 · 1 评论 -
Java线程间通信方式剖析——Java进阶(四)
本文将介绍常用的线程间通信工具CountDownLatch、CyclicBarrier和Phaser的用法,并结合实例介绍它们各自的适用场景及相同点和不同点。原创 2016-06-24 06:57:45 · 1721 阅读 · 0 评论 -
Java设计模式(四) 观察者模式
本文介绍了观察者模式的概念,UML类图,优缺点,实例分析以及观察者模式(未)遵循的OOP原则。原创 2016-05-20 08:07:30 · 1052 阅读 · 0 评论 -
Java设计模式(十三) 别人再问你设计模式,叫他看这篇文章
本文讲解了设计模式与OOP的三大特性及OOP七项原则间的关系,并讲解了使用设计模式的好处及为何需要使用设计模式。最后通过问答形式讲解了设计模式相关的常见问题原创 2016-06-02 07:35:56 · 892 阅读 · 0 评论 -
Java设计模式(八) 适配器模式
适配器模式可将一个类的接口转换成调用方希望的另一个接口。这种需求往往发生在后期维护阶段,因此有观点认为适配器模式只是前期系统接口设计缺乏的一种弥补。从实际工程来看,并不完全这样,有时不同产商的功能类似但接口很难完全一样,而为了系统使用方式的一致性,也会用到适配器模式。原创 2016-05-09 07:09:35 · 2155 阅读 · 0 评论 -
Java设计模式(十二) 策略模式
本文结合实例详述了策略模式的实现方式,并介绍了如何结合简单工厂模式及Annotation优化策略模式。最后分析了策略模式的优缺点及已(未)遵循的OOP原则原创 2016-05-30 07:28:29 · 798 阅读 · 0 评论 -
Java设计模式(十) 你真的用对单例模式了吗?
本文介绍了为何需要单例模式,单例模式的设计要点,饿汉和懒汉的区别,并通过实例介绍了实现单例模式的九种实现方式及其优缺点。原创 2016-05-16 08:20:40 · 1671 阅读 · 1 评论 -
Java设计模式(六) 代理模式 VS. 装饰模式
代理模式与装饰模式在代码组织结构上非常相近,以至于很多读者很难区分它们。本文将结合实例对比代理模式和装饰模式的适用场景,实现方式。原创 2016-05-03 07:11:47 · 974 阅读 · 0 评论 -
Java系列(一)Annotation(注解)
本文介绍了Java Annotation的概念及Java提供的四种Meta Annotation的功能,并结合实例详解了自定义Annotation的方法和注意事项原创 2016-04-18 20:36:16 · 1337 阅读 · 0 评论 -
Java进阶(七)正确理解Thread Local的原理与适用场景
本文结合实例介绍了 Thread Local 的原理与实现方法,并分析了其适用场景。原创 2017-12-21 12:27:03 · 1623 阅读 · 0 评论