自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王树钰的博客

不积跬步,无以至千里!

  • 博客(21)
  • 资源 (86)
  • 问答 (8)
  • 收藏
  • 关注

原创 命令模式

命令模式:是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。何时使用:在某些场合,比如要对行为进...

2018-11-30 23:07:24 168

原创 桥接模式

桥接模式:是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。应用实例: 1、猪八戒从天蓬元帅转世投胎到猪,转世投胎的机制将尘世划分为两个等级,即:灵魂和肉体,前者相当于抽象化,后者相当于实现化...

2018-11-29 23:59:27 270

原创 组合模式

组合模式:将对象组合成树形结构以表示‘部分-整体’的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。透明方式:就是在component中声明所有用来管理子对象的方法,其中包括add,remove等,这样实现的Component接口的所有子类都具有add和remove,这样的好处是叶子节点和枝节点对于外界没有区别,他们具有完全一致的接口行为。但是问题也很突出,叶子节点不具有add...

2018-11-28 22:28:33 1113

原创 备忘录模式

备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原来保存的状态。应用实例: 1、后悔药。 2、打游戏时的存档。 3、Windows 里的 ctri + z。 4、IE 中的后退。 4、数据库的事务管理。实例UML图:代码实现:/** * @author Shuyu.Wang * @package:com....

2018-11-28 13:18:14 159

原创 适配器模式

 适配器模式:将一个类的接口转换成客户希望的另外一个接口,适配器模式让原来由于接口不兼容而不能一起工作的那些类可以一起工作。  使用场景,系统的数据和行为都正确,但接口不符合,我们应该考虑用适配器类,目的是使控制范围之外的一个原有对象与某个接口匹配,适配器模式主要应用于希望复用一些现存的类,但是接口与复用 环境要求不一致的情况。主要解决:主要解决在软件系统中,常常要将一些"现存的对象"...

2018-11-25 23:38:23 135

原创 状态模式

状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是的当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。好处:消除庞大的条件分支语句,将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。通常命令模式的接口中只有一个方法。而状态模式的接口中有一个或者多个...

2018-11-25 22:27:20 132

原创 迭代器模式

迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部元素;为遍历的对象提供一个如开始、下一个、是否结束、当前哪一项等统一的接口。优点: 1、它支持以不同的方式遍历一个聚合对象。 2、迭代器简化了聚合类。 3、在同一个聚合上可以有多个遍历。 4、在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。缺点:由于迭代器模式将存储数据和遍历数据的职责分离...

2018-11-22 23:19:04 150

原创 单例模式

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问改实例的方法;实现:代码实现:懒汉试,线程不安全/** * @author Shuyu.Wang * @package:...

2018-11-22 22:20:48 117

原创 观察者模式

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)...

2018-11-20 23:43:06 128

原创 建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。建造者模式是在当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时适用的模式。Builder:是为创建一个product对象...

2018-11-19 23:48:35 94

原创 外观模式

外观模式:为子系统中的一组接口提供一个一直的界面,此模式定义一个高层接口,这个接口使得这个子系统更加容易使用。什么时候使用:首先,在设计初期阶段,应该有意识的将不同的两个层分离,降低耦合性;其次,子系统往往会变得越来越复杂,增加外观Facede可以提供一个简单的接口,减少他们之间的依赖。第三,维护一个遗留的大型系统是,可能这个系统已经难以维护和扩展了,但是新的开发需求还要依赖于它,此时使用外观...

2018-11-18 23:13:07 116

原创 模板模式

模板模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板模式可以使得子类可以不改变一个算法的结构就可以重新定义改算法的某些特定的步骤。当我们要完成在某一细节层次一致的一个过程或一系列步骤,单其个别步骤在更详细的层次上的实现可能不同时,我们通过开率用模板方法模式来处理。 模板模式是通过把不变行为搬到父类,去除子类中的重复代码来提现他的优势。模板模式提供了一个很好的代码复用平台...

2018-11-17 23:24:29 135

原创 原型模式

原型模式:用原型实例指定创建指定对象的种类,并且通过复制这些原型创建新的对象,同时又能保证性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。注意:如果字段是值类型的,则对该字段执行逐位复制,如果字段是引用类型,则复制引用但是不复制引用的对象,因此,原始对象及其复本引用同一对象。潜复制:被复制对象的所有变量都含有原来的对象相同的值...

2018-11-17 00:01:38 114

原创 工厂模式

简单工厂模式最大的有点在于工厂类里包含了必要的逻辑判断条件,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但是这违背了开放-封闭原则。工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。...

2018-11-14 00:23:26 820

原创 代理模式

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。  代理分类:    1:远程代理,就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。    2:虚拟代理,根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象。这样可以达到性能优化的目的,比如你打开一个很大的HTML网页,里面有很多文字和图片,但是你可以很快的...

2018-11-12 22:42:59 843

原创 装饰器模式

装饰器模式是为已有的功能动态添加更多功能的一种方式。他把每个要装饰的功能放在单独的类中,并让这个类包装他要装饰的对象。因此,当需要执行特殊行为时,客户代码就可以根据需要有选择的、按顺序的使用装饰功能包装对象了。意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着...

2018-11-09 23:40:39 2264

原创 策略模式

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if......

2018-11-08 17:51:56 2007

原创 java设计模式教程

使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定,这些在自己编写小程序的时候是体现不出来的。现在大多数框架都使用了很多设计模式,正是因为有了这些设计模式,才能让程序更好的工作,例如烟水晶框架的单例模式,struts的mvc模式,java类库中iterator的迭代器模式等等,都是设计模式良好的应用。自己在写代码...

2018-11-07 21:26:54 2481

原创 简单工厂模式

从今天开始,我们来学习java的设计模式;简单工厂模式又称静态工厂模式,她不属于23种模式之一,我们从它开始一步一步开始我们的设计模式之路。它属于类创建模式,根据需求,我们可以根据传入的参数来返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式包含如下角色: 工厂角色(Creator) 是简单工厂...

2018-11-07 14:44:56 3621

原创 Spring Boot教程十六:SpringBoot注入类实现多线程

在使用springboot框架开发的过程中,难免也会用到多线程业务处理的需求,如果是普通的类实现多线程,那使用我们上一篇文章中的方法就足够了。但是大部分的使用环境是是我们需要将一个注入容器的实例类实现多线程,比如业务中要操作数据库调用其他方法等都难免要引用其他的实例。但是spring中的实例默认是单例的,针对这种情况我们应该怎么实现多线程呢,下面给大家用demo详细解释一下:    在spri...

2018-11-02 16:34:39 13341 2

原创 Mysql查询当前数据库有哪些事务、都锁定哪些资源

SELECT trx_id AS `事务ID`, trx_state AS `事务状态`, trx_requested_lock_id AS `事务需要等待的资源`, trx_wait_started AS `事务开始等待时间`, trx_tables_in_use AS `事务使用表`, trx_tables_locked AS `...

2018-11-01 14:14:47 11772

hibernate(多对多关系映射)

hibernate(多对多关系映射)实现存储,内附sql脚本和详细的注释,适合初学者

2017-07-19

hibernate(一对多,多对一映射)操作

hibernate基于 一对多、多对一映射写的一个增加,查询,删除,修改的demo,内附数据库脚本

2017-07-18

SSM进阶3(Spring+SpringMVC+Mybatis)

使用maven工具构建SSM框架,实现分页功能,使用拦截器打印完整sql功能,方便调试,多表联合查询方法实现,新增批量插入和批量更新操作,加入缓存机制

2017-06-28

SSM进阶2(Spring+SpringMVC+Mybatis)

使用maven工具构建SSM框架,实现分页功能,使用拦截器打印完整sql功能,方便调试,新增多表联合查询方法实现

2017-06-27

SSM进阶(Spring+SpringMVC+Mybatis)

使用maven工具构建SSM框架,在查询,修改的基础上新增分页功能,新增使用拦截器打印完整sql功能,方便调试

2017-06-27

SSM(Spring+SpringMVC+Mybatis)

使用maven构建的SSM框架,框架层次进行了隔离,使用lo4j2输出日志,可以根据自己需要进一步扩展程序功能

2017-06-27

SpringMVC事务管理

基于maven创建的SpringMVC项目,使用三种方式实现了Spring对业务层的管理,包括编码方式,xml传统配置方式和基于aop的xml配置方式

2017-06-25

Maven SpringMVC进阶

基于maven仓库创建的SpringMVC框架,丰富了资源配置,包括js.css等静态资源,controller层丰富了多种请求方式,还有文件上传功能。

2017-06-12

Maven SpringMVC

基于maven管理搭建的一个SpringMVC框架,可以自行扩展进行更深入的开发

2017-06-12

java redis demo

使用jedis连接池建立redis连接,封装了使用序列化方法存储,获取,删除string,Bean,List,Map的方法,还有非序列化的Hash存储方法,另有单独的测试类

2017-06-02

java 反编译工具(jar)

2017-05-08

Java+MySQL+redis缓存

案例中数据来自MySQL数据库,对查询出来的数据缓存到redis,redis缓存工具可以将缓存string,bean,list,map等类型,代码中有详细的注释,而且还将要缓存的数据进行了序列化,大家可以借鉴,进而更改成自己想要的格式。数据库配置使用了xml和propertis两种配置方式,redis缓存采用非切片和切片两种配置,大家可以自选择

2016-12-18

Hibernate二级缓存+分页功能

Hibernate二级缓存+分页功能

2016-12-15

Hibernate二级缓存(Ehcache)

使用Java工程实现了Hibernate二级缓存(Ehcache),其中还有自己封装的一个jar包实现了简单的分页功能

2016-12-15

spring+redis

代码实现了springMVC和redis的整合,利用序列化工具实现了对象,list,map等的缓存和查询,希望能帮到初学者

2016-12-15

springMvc(注解)

工程使用springMvc框架的注解模式,使用jdbcTemplate操作数据库,实现了网页端上传文档和数据,分页产看已上传的数据,更新数据。同时有手机端部分,使用json通信

2016-11-08

SpringMvc+jdbcTemplate+mysql(注解)

案例采用了注解方式,实现了用户添加,分页显示,简单易懂,适合是初学者,数据库附加在工程中了

2016-10-26

SSH2+mysql

SSH2入门框架,demo使用mysql数据库,含有文件上传,已上传文件分页显示的web端,同时还有使用json通信的手机端。

2016-10-25

Spring+SpringMvc+Mybatis

Spring+SpringMvc+Mybatis+mysql数据库,实现增删该查,采用注解方式,简单易懂,适合初学者,另有翻页功能,采用mybatis自带的翻页工具实现

2016-10-25

SpringMVC+mysql(web+手机)

基于SpringMVC框架,手机端采用json通信,web端有文件上传,分页查看等功能

2016-10-24

MyBatisCodeHelper插件破解版

MyBatisCodeHelper破解版,直接安装到idea,提高编程效率,直接生成,mapper层,xml文件,service层,生成增删改查等单表语句

2018-12-12

springboot多数据源配置

代码使用springboot框架,实现对mysql多数据源的配置,开发工具使用的是idea.

2018-02-15

springboot数据库读写分离

springboot数据库读写分离,代码实现一主两从的读写分离,业务代码不影响,正常写就可以。可以根据自己需要修改

2018-02-10

Zookeeper入门到精通视频教程

text文件中是书籍百度网盘的下载地址和对应的提取码,谢谢!

2017-11-03

阿里开源dubbo视频教程

text文件中是书籍百度网盘的下载地址和对应的提取码,谢谢!

2017-11-03

Hadoop视频教程

text文件中是书籍百度网盘的下载地址和对应的提取码,谢谢!

2017-11-03

大型分布式网站架构设计与实践

text文件中是书籍百度网盘的下载地址和对应的提取码,谢谢!

2017-10-31

大型网站系统与JAVA中间件实践

text文件中是书籍百度网盘的下载地址和对应的提取码,谢谢!

2017-10-31

java核心技术 第八版

text文件中是书籍百度网盘的下载地址和对应的提取码,谢谢!

2017-10-31

java编程思想 第四版(高清)

文件中有百度网盘的下载地址已经对应的提取密码,谢谢

2017-10-31

windows下搭建redis集群工具

windows下搭建redis集群工具,具体的步骤可以看博客http://blog.csdn.net/wang_shuyu/article/details/78356843

2017-10-26

RedisClusterDemo

RedisCluster写的redis集群demo,刚入门的同学可以参考

2017-10-26

SSM框架模板

使用maven工具搭建的ssm框架模板,整合swagger,实现api可视化管理,在模板的基础上,开发者可以自由扩展相应功能

2017-10-17

Nexus 私服

Nexus私服,一鍵啟動,方便團隊和自己開發,只需要解壓,然後啟動即可

2017-10-13

面向切面(AOP)

AOP相关原理整理总结

2017-08-24

Java常见原理解析

Java常见原理解析

2017-08-23

Java解析excel导入MySQL数据库

实现了Excel文件数据的解析,并且导入到对应的数据库,可根据自身需要进行更改和丰富

2017-08-09

web文件上传下载

使用servlet实现的文件服务器,可以上传下载文件,并且使用hash方法设置上传文件路径,下载文件可以手动复制进对应的文件

2017-08-09

文件上传下载服务

实现了文件上传和下载的功能,利用tomcat部署,搭建一个自己的文件管理服务

2017-08-08

SpringBoot 进阶

在入门demo的基础上,集成了Swagger,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,使用Shiro实现了权限管理。

2017-07-25

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

TA关注的人

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