自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式008-适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使用。其中,音频播放器设备只能播放 mp3 文件,通过使用一个更高级的音频播放器来播放 vlc 和 mp4 文件。

2020-12-27 17:12:29 122

原创 设计模式007-外观模式(门面模式)

外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。package com.facadepattern;public class FacadeTest { public static void main(String[] args) {

2020-12-27 15:31:45 85

原创 设计模式006-享元模式

享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color 属性被用来检查现有的Circle对象。应用:String,Integer,Longcom.sun.or..

2020-12-27 14:42:03 95

原创 设计模式005-原型模式

手动设置对象属性深度拷贝 序列化机制深度拷贝 package com.prototypepattern;import java.io.*;public class PrototypeTest implements Cloneable{ public static void main(String[] args) throws CloneNotSupportedException { Product productA = new Product("1","..

2020-12-27 13:59:44 145 1

原创 设计模式004-建造者模式

建造者模式package com.build;public class BuildTest { public static void main(String[] args) { DefualtConcreteProductBuild defualtConcreteProductBuild = new DefualtConcreteProductBuild(); Director director = new Director(defualtConcrete

2020-12-20 16:47:39 97

原创 设计模式003-抽象工厂模式

抽象工厂模式:提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类。package com.abstractfactory;public class AbstractFactoryTest { public static void main(String[] args) { IDatabaseUtils databaseUtils = new OracleDatabaseUtils(); IConnection connection =

2020-12-20 14:47:12 51

原创 设计模式002-工厂方法模式

1)简单工厂模式(静态工厂方法):根据参数类型type创建不同类型的实例。package com.factorymethod;public class FactoryMethod { public static void main(String[] args) { Application application = new Application(); Product product = application.getObject("A1"); ...

2020-12-20 14:01:45 113

原创 设计模式001-单例模式

1.模式定义2.字节码知识/字节码指令重排序3.类加载机制4.jvm序列化机制5.单例模式的应用1.懒汉模式:延迟加载,只有在真正使用的时候,才开始实例化1)线程安全问题2)double check 加锁优化3)编译器(JIT),CPU有可能对指令进行重排序,导致使用尚未初始化的实例,可以通过添加volatile关键字进行修饰,对于volatile修饰的字段,可以防止指令重排。package src.main.lazysingleton;public class LazySing

2020-12-13 10:04:59 100

原创 IDEA 前台静态文件发布不即时生效问题解决

1.Settings->Deployment->Options->修改如下图配置(On explicit save action(ctrl+S) 或者 Aways)2.修改前台文件后Ctrl+S保存3.shitf+F9,选择Update resources后,生效。

2019-08-30 21:49:10 796

转载 Hibernate缓存机制

一级缓存Hibernate创建每个Session对象时,都会给该Session分配一块独立的缓存区,用于存放该Sesion查询出来的对象数据,这个分配给Session的缓存区称之为一级缓存,也叫Session级缓存。如何使用一级缓存一级缓存是默认开启的,在使用Hibernate的API进行查询时会自动使用。案例:(通过是否打印SQL判断缓存是否生效)1.验证存在一级缓存。2.验证一级缓存是Sess...

2018-03-12 23:45:55 211

转载 Hibernate4 二级缓存配置

1、Hibernate配置文件开启二级缓存[html] view plain copy<!--开启二级缓存-->  <property name="hibernate.cache.use_second_level_cache">true</property>  <!--指定二级缓存的提供类-->  <property name="hiberna...

2018-03-12 23:29:45 243

转载 Hibernate体系结构及常用API

一、主配置文件:hibernate.cfg.xml该配置文件中可以配置数据库连接参数,Hibernate框架参数,以及项目中所包含的映射关系文件。二、实体类实体类是与数据库表对应的java类型,它是用于封装数据库记录的对象类型。三、映射关系文件1.映射关系文件指定了实体类和数据表的对应关系,以及类中属性和表中字段的对应关系。2.Hibernate使用XML文件来描述映射关系,文件通常命名为“实体类...

2018-03-12 22:41:22 157

空空如也

空空如也

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

TA关注的人

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