自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式原来这么简单-迭代器模式

迭代器模式1.什么时迭代器模式在不暴露集合对象内部实现的前提下顺序的对该集合的元素进行访问2.实例存在一个公司,公司里有员工,现在需要对公司内的员工进行遍历3.程序实例public class Company { private Employee[] employeeList; public Company(Employee[] employeeList){ this.employeeList = employeeList; } public

2021-01-04 11:34:43 116

原创 设计模式原来这么简单-观察者模式

观察者模式1.什么是观察者模式WIKI: 一个类(称为主体)持有一组对象的实例(称为观察者),当一些状态变化时主题通常会通过调用观察者的一个方法来通知观察者。2.实例比如说天亮了,大人们出工,小孩去上学3.程序示例观察者的规范public interface IDayObserver { void sunRiseUpdate(); void sunSetUpdate();}public class Kid implements IDayObserver{

2020-12-31 10:00:08 94

原创 设计模式原来这么简单-门面模式(Facade)

### 门面模式(Facade)1.什么是门面模式为一个子系统中的一系列接口提供一个统一的接口。外观定义了一个更高级别的接口以便子系统更容易使用。2.实例例如一个项目需要的人员有产品经理、研发经理、前端、后端、测试等共同协作来完成,而从甲方的角度看来只需要拿钱启动项目最后验收项目即可3.程序示例public interface IProjectWorker { void startDailyWork(); void pauseToRest(); void endD

2020-12-30 17:10:40 247 2

原创 设计模式原来这么简单-状态模式

状态模式(state)1.什么是状态模式WIKI: 状态模式是一种允许对象在内部状态改变时改变它的行为的行为型设计模式。2.示例假如当前有一个任务,任务的状态有待审核、审核通过、审核失败(创建任务默认时待审核状态)3.程序实例public interface IState { /** * 状态的行为 */ void observe(); /** * 切换状态需要做些什么 */ void onEnterState(

2020-12-25 11:01:45 96

原创 设计模式原来这么简单-装饰器模式

装饰器模式1.什么是装饰器模式WIKI: 允许将行为静态或动态地添加到单个对象中,而不会影响同一类中其他对象的行为。2.实例以前用的QQ秀,需要为角色穿不同的衣服(头饰、脸饰、上衣、裤子。。。),不同的衣服展示不同的形象,而且还可以根据形象的炫酷值和好友PK。3.程序示例/** * QQ秀角色 */public interface QQCharacter { /** * 展示 */ void show(); /** * 获取炫

2020-12-21 11:47:42 86

原创 设计模式原来这么简单-命令模式

命令模式1.什么是命令模式WIKI: 它把在稍后执行的一个动作或触发的一个事件所需要的所有信息封装到一个对象中。2.实例例如假如有一个万能遥控可以对任何东西发出任何命令3.程序示例public interface Command { /** * 执行命令 * @param target 电器类目标 | 限制了只能对特定类发出命令 */ void doCommand(Target target); void redoCommand(

2020-12-18 18:12:35 77 2

原创 设计模式原来这么简单-Callback模式(非四人帮模式)

Callback模式1.什么是Callback(回调)模式将特定代码作为参数传递给其他代码(一般为方法),由其他代码决定在特定的时间执行2.例子比如常见的web应用里,你发送一个请求后必须等待响应数据返回后才能对数据进行操作3.程序示例等待作业做完然后检查作业@FunctionalInterfacepublic interface DoThingLater { void doThing();}public interface Task { defaul

2020-12-18 15:06:04 702 1

原创 设计模式原来这么简单-责任链模式

责任链模式1.什么是责任链模式WIKI:在面向对象设计中,责任链模式是一种由源命令对象和一系列处理对象组成的设计模式。每个处理对象包含了其定义的可处理的命令对象类型的逻辑。剩下的会传递给链条中的下一个处理对象。2.案例假如要处理一个请求并且要根据请求的级别来决定如何处理。3.具体实现@Datapublic class RequestEntity { public enum RequestType{ /** * 一级请求 *

2020-12-18 09:05:18 63

原创 设计模式原来这么简单-享元模式

享元模式参考https://github.com/iluwatar/java-design-patterns1.什么是享元模式WIKI:相同的对象之间通过共享尽可能多的数据来减少内存使用,当大量对象使用简单且可重用的对象(simple repeated representation)而使用了大量的内存时,该模式时解决该问题的最佳实践。2.实例在游戏的商店里会出售不同的药水,但是同一种药水药效是一样的,所以没必要为每一瓶药水都创建一个对象public interface Potion {

2020-12-15 09:39:29 98 2

原创 设计模式原来这么简单-备忘录模式(Memento)

备忘录模式(Memento)1.什么是备忘录模式Memento模式是用来提供一种恢复先前状态能力的一种软件设计模式。2.例如恒星会随着时间的流逝而缓慢衰变,从主序星=》红巨星=》白矮星=》超新星=》死亡,当恒星处于某个阶段想退回到前某一个阶段时,我们就可以用到该模式3.具体实现/** * 恒星的演变阶段 */public enum StarStatus { SUN("sun"), RED_GIANT("red giant"), WHITE_DWARF("whi

2020-12-11 16:42:03 92

原创 设计模式原来这么简单-桥接模式

桥接模式该模式是当两种行为需要排列组合使用时的最佳实践,例如游戏里不同的武器可以有不同的附魔效果、不同的男人和不同的女人会产生不同的结果、生活中的不同的茶壶泡不同的茶叶。但要说明的是,两个行为并不会被另一行为所影响,下面的示例有一定的瑕疵,因为不同的茶壶泡一种茶可能会有不同的味道(但是我喝不出来有什么不同)。下面简单将泡茶分为三个阶段:阶段茶壶茶叶1温壶准备茶叶2倒入水投入茶叶3茶成飘出茶香1.使用桥接/** * 茶壶 */public

2020-12-11 09:47:03 84

原创 设计模式原来这么简单-适配器模式

适配器模式1.不适用适配器/** * 航行 */public class HangXing { public void sail(){ System.out.println("扬帆起航!"); }}/** * 划桨 */public class HuaJiang { public void row(){ System.out.println("用力划桨,驱动船只!"); }}/** * 只会说启航并不划桨的老

2020-12-10 10:47:52 105

原创 设计模式原来这么简单-软件设计七大原则

软件设计七大原则1.单一职责要划分清楚每个类的职责,让每个类各尽其责2.接口隔离实现接口时要实现最小的接口,如下public interface BaseList<T>{ void add(T t);}public interface MoreMethodList<T> extends BaseList<T>{ void remove(T t); void get(int index);}假如有一个类

2020-12-10 09:59:25 84

原创 设计模式原来这么简单-策略模式

策略模式假如有一个商场经常搞些商品的促销活动,而且每次促销的方式都有所不同,或七折、八折、买一送一等等/** * 商品类 */@Datapublic class Goods { private String name; private String clazz; private Double price; // ...}1.不使用策略模式/** * 第一种 采用简单工厂实现打折类 * 初步优化了代码的可读性和一定的扩展性,但增加打折类型

2020-12-10 09:51:40 76

原创 用IDEA将项目打成jar包(Java FX项目)

1.用IDEA将项目打成jar包1.选择project structure2.选择artifacts3.配置启动类类和Manifest文件到resource目录下保存即可4.生成jar包Build -> build Artifacts -> build

2020-09-07 09:19:28 372

原创 使用Java调用native方法

使用Java调用native方法1.编写普通Java类/** * @author zyy * @title: HelloNative * @description: HelloNative * @date 2020/9/3 9:21 */public class HelloNative { //本地方法 public native void hello(); static { //加载实现hello方法的dll库文件 Syst

2020-09-04 10:54:18 689

原创 初学eureka:微服务组件无法注册到eureka

eureka客户端少敲了个starter(????) <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dep...

2020-03-23 00:45:15 851 3

原创 Linux中自动备份mysql数据库

自动备份数据库文件参考自:https://www.cnblogs.com/kesimin/p/11138230.html1.创建备份目录我是以root身份登陆的mkdir -p /bak/mysql.bak2.编写运行脚本注意:mysql5.x不允许现式的输入数据库密码,所以这里需要额外的配置vim /etc/my.conf,添加[mysqldump]user=你的mysq...

2020-02-27 22:17:11 211

原创 使用Spring实现Redis的发布/订阅功能

3.7 Redis的Sub/Pub3.7.1 Receiver类public class Receiver { private static final Logger logger = LogManager.getLogger(Receiver.class); /* 用处:假如有10个订阅者,就设置为10,这样每当一个订阅者接收之后调用latch.cutDo...

2020-02-06 00:12:46 176

原创 SpringMVC使用RestFull风格请求URL并转发到JSP视图出现JSPs only permit GET POST or HEAD

JSPs only permit GET POST or HEAD,Tomcat只允许GET,POST,HEAD请求,要想让Tomcat放行需要设置isErrorPage=“true”

2020-01-27 16:32:50 183

原创 <Mybatis>SQL语句正确但却查不到结果(因为懒而造成花30分钟找Bug)

> 一定要在连接数据库配置文件的连接URI加上?characterEncoding=utf8,否则在查询时如果参数包含中文字符,传到数据库查询的时候就可能变为乱码而导致查询到错误的结果或者查询不到结果。...

2020-01-17 14:59:52 1480

转载 IDEA将web项目打成WAR包

IDEA将web项目达成WAR包转载自:http://www.cnblogs.com/morewindows0/p/8280865.html

2020-01-02 17:08:34 112

转载 常用算法总结

常用算法总结1.分而治之:有点类似“大事化小、小事化了”的思想,经典的归并排序和快速排序都用到这种思想,可以看看 Search a 2D Matrix II 来理解这种思想。2.动态规划:有点类似数学中的归纳总结法,找出状态转移方程,然后逐步求解。 309. Best Time to Buy and Sell Stock with Cooldown 是理解动态规划的一个不错的例子。3.贪心算...

2019-12-15 14:36:51 78

原创 使用IntelliJ IDEA开发SSM项目图片无法加载(404 NOT FOUND)

SSM项目之图片无法加载在你的Spring MVC配置文件添加如果以上步骤做完还不能加载,下一步需要将存放你资源的文件文件右键标记为资源文件即可。...

2019-12-03 20:21:01 1871 1

原创 为什么el表达式能取出bean里private的属性值

为什么el表达式能取出bean里private的属性值${user.address}调用的是user里address的get方法

2019-11-22 22:17:05 221

原创 Eclipse使用Maven管理的SSM项目的jsp页面pageContext无提示

Eclipse使用Maven管理的SSM项目的jsp页面pageContext无提示原因:缺少依赖包pom.xml添加依赖<groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope...

2019-11-22 10:59:16 315

原创 Eclipse的Maven项目错误:Java compiler level does not match the version of the installed Java project facet

Maven项目Makers里提示错误Description Resource Path Location Type Java compiler level does notmatch the version of the installed Java project facet. ssm-curdUnknown Faceted Project Problem (Java Version M...

2019-11-22 09:59:12 152

原创 解决Eclipse里SpringMVC项目的Controller类注解@Controller后无法代码提示的问题

解决Eclipse里SpringMVC项目的Controller类注解@Controller后无法代码提示的问题将spring Annotation Proposal上下两部分里全部取消勾选应用即可

2019-11-22 09:16:59 1893

原创 使用MySQL-Front如何创建外键依赖

使用MySQL-Front如何创建外键依赖假如现在存在两张表如果想让employee表中的dept_id成为外键,就需要如下操作:将父类设置成所依赖表的键值在web应用开发中,不设置外键约束也可以,但是设置之后会减少很多不必要的麻烦,例如如果在上述dept表中不存在dept_id为4,dept_name为开发部门的记录,当要在employee表中添加dept_id为4的记录就会出...

2019-11-21 20:07:18 2073

空空如也

空空如也

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

TA关注的人

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