- 博客(10)
- 收藏
- 关注
原创 Monitor 、锁
4.5 Monitor 概念4.5.1 java对象头以 32 位虚拟机为例普通对象|--------------------------------------------------------------| | Object Header (64 bits) | |------------------------------------|-------------------------| |
2022-04-22 09:46:40 562
原创 7.设计模式-阶段总结
设计模式总结回顾软件设计原则设计模式简介设计原则解释开闭原则对扩展开放,对修改关闭。依赖倒置原则通过抽象使各个类或者模块不相互影响,实现松耦合。单一职责原则(6大原则不包括他)一个类、接口、方法只做一件事。接口隔离原则尽量保证接口的纯洁性,客户端不应该依赖不需要的接口。迪米特法则又叫最少知道原则,一个类对其所依赖的类知道得越少越好。里氏替换原则子类可以扩展父类的功能但不能改变父类原有的功能。合成复用原则尽量使用对象组合、聚合,而不使
2021-04-13 14:50:34 158
原创 6.装饰者、观察者模式
装饰者模式介绍:装饰者模式(Decorator Pattern ) 是使用场景用于扩展一个类的功能或给一个类添加附加职责。动态的给一个对象添加功能,这些功能可以再动态的撤销优点:装饰者是继承的有力补充,比继承灵活,不改变原有对象 的情况下动态地给一个对象扩展功能,即插即用。通过使用不同装饰类以及这些装饰类的排列组合,可以实 现不同效果。装饰者完全遵守开闭原则。缺点:会出现更多的代码,更多的类,增加程序复杂性。动态装饰时,多层装饰时会更复杂装饰者模式和适配器模式对
2021-04-13 14:49:49 140
原创 4.设计模式-委派模式以及策略模式
委派模式(Delegate Pattern)介绍:委派模式(Delegate Pattern)的基本作用就是负责任务的调度和分配任何,跟代理模式很像,可以看做是一种情况下的静态代理的的全权代理,但是代理模式注重过程,而委派模式注重结果不属于 23 中涉及模式之一属于行为型模式。java中Delegate 结尾的一般都是委派,包含Dispatcher 也是(spring 中DispatcherServlet就是使用委派模式)使用场景一件事情(或一个请求)对象本身不知道怎样处理,对象把请求交给其
2021-03-30 15:41:07 303
原创 3.设计模式-原型、代理模式
原型模式一、原型模式(Prototype Pattern)介绍:原型模式(Prototype Pattern)是指原型实例指定创建对象的 种类,并且通过拷贝这些原型创建新的对象。调用者不需要知道任何创建细节,不调用构造函数属于创建型模式适用场景类初始化消耗资源较多。new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)构造函数比较复杂。循环体中生产大量对象时,可读性下降。总结 :原型模式就是如果快速构建对象的方法总结, 简单工厂将getter、setter封装到某个方法中
2021-03-24 23:10:56 190
原创 2.设计模式-单例
单例模式一、单例模式(Singleton Pattern)介绍:单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并 提供一个全局访问点。单例模式是创建型模式。单例模式是创建型模式。隐藏其所有的构造方法使用场景确保任何情况下 都只有一个实例,java中涉及如下:ServletContextServletConfigApplicationContextDBPool单例的常见写法饿汉式单例:在单例类首次加载时就创建实例优点
2021-03-24 10:20:24 77
原创 1.总纲、工厂模式
设计模式为什么要使用设计模式写出优雅的代码更好的重构项目经典框架都在用设计模式解决问题spring 中使用到的设计模式工厂模式 BeanFactory装饰者模式 BeanWrapper代理模式 aopProxy单例模式 applicationContext委派模式 DispatcherServlet策略模式 HandlerMapping适配者模式 HandlerApdapter模板方法模式 JdbcTemplate观察者模式 ContextLoadderListener
2021-03-22 22:15:07 89
原创 Executor线程池详解
概念线程线程(thread)是操作系统能够进行运行调度的最小单位 。他被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序 的控制流,一个进程中可以并行多个线程,每条线程并行执行不同任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user...
2019-08-14 18:28:25 187
原创 docker
dockerdocker是什么docker是使用Google公司推出的Go语言进行开发实现,基于linux内核的cgroup,namespace,以及AUFS类的UnionsFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离的进程,一次也称其为容器docker在容器的基础上,进行过进一步的封装,从文件系统,网络互联到进程隔离等等,极大的...
2019-08-12 15:26:40 247
原创 JAVA 性能调优实践-String篇
JAVA 性能调优实践-String篇String 简介1.1 、String 实现jdk1.6: String 对象是对 char 数组进行了封装实现的对象,主要有四个成员变量:char 数组、偏移量 offset、字符数量 count、哈希值 hash; String 对象是通过 offset 和 count 两个属性来定位 char[] 数组,获取字符串。这么做可以高效、快速地共享数...
2019-07-26 12:32:16 338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人