自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 JVM内存模型详解 - JDK1.8

JVM内存模型详解 - JDK1.8 JVM内存模型主要如上图所示 线程 线程私有 程序计数器 虚拟机栈 本地方法栈 线程共享 堆 元数据区 直接内存 程序计数器 线程私有,指向当前线程正在执行的字节码的行号。 虚拟机栈 ...

2020-09-04 09:45:29 345

原创 SingletonPattern 单例模式

使用单例的场景: 一个全局使用的类频繁地创建与销毁。 使用单例的原因: 想控制实例数目,节省系统资源 原理: 判断是否已经有这个单例,如果有则返回,如果没有则创建。 构造函数是私有的。 /** *双检查锁,这样即提高了执行效率,同时也保证了线程安全; *但是有一个严重的reorder(指令重排)问题 *在下面的代码中,看似很美好,先判断是不是存在这个实例,如果不存在,则加锁。 *但是,在Java编译器中,实例化过程中,我们认为顺序是这样的:1.先分配内存。2.调用构造器。3.把内..

2020-07-27 17:37:49 102

原创 设计模式--Strategy(策略模式)

上一篇:设计模式–TemplateMethod(模板方法) 类别:组件协作 作用:在运行时根据需要透明地更改对象的算法。将对象与算法解耦。 模式定义:定义一系列算法,把他们封装起来,并且使他们可以互相替换。该模式使得算法可以独立于客户程序而变化(扩展,子类化 )。 策略模式的优点:  算法可以自由切换;  避免使用多重条件判断;  扩展性良好。 策略模式的缺点:  策略类会增多  所有策略类都需要对外暴露。 使用场景: 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使

2020-07-07 11:07:48 80

原创 设计模式--TemplateMethod(模板方法)

类别:组件协作(晚绑定) 场景:整体结构稳定,但是子步骤有很多改变 模式定义: * 定义一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(override重写)该算法的某些特定步骤。 public abstract class AbsClass{ //基本方法 protected abstract void doSomething(); protected abstract.

2020-07-03 16:43:36 83

原创 设计模式--设计原则及模式分类

对系统,对模块有一个新的认知。“寻找变化点(需求频繁变化),然后在变化点用什么设计模式”“什么时候,什么地点应用设计模式”书籍推荐:重构与模式 重构-改善现有的代码结构>面向对象设计原则(DIP) 高层模块(稳定)不应该依赖于低层(变化),二者都应该依赖于抽象(稳定)。 抽象(稳定)不应该啊依赖于实现细节(变化),实现细节应该依赖于抽象。 开放封闭原则(OCP) 对扩展开放,对更改封闭。 类模块应该是可扩展的,但是不可修改。 单一职责原则(SRP).

2020-07-02 17:10:17 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除