自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之适配器模式

适配器模式适配器模式就是将一个接口或者一个类转成另一个接口另一个类,让两个不兼容的类可以一起工作适配器模式1、 // 等待被转换的类 public class Adaptee{ public void specificRequest(){ System.out.println("我等待被是配成目标接口"); } } public interface Target(){ void request(); // 目标类 } public class ClassAdapter ex

2021-08-01 14:41:43 65

原创 设计模式之状态模式

状态模式public class Context{ // 环境类 private State state; // 当前环境的状态 public void serState(State state){ this.state = state; // 设置环境的当前状态 } public void getState(){ return this.state; // 获取环境的当前状态 } public handler(){ state.handler(this); // 状态自动变化,

2021-07-31 15:28:07 73

原创 设计模式之观察者模式

观察者模式public interface Observer { <T>void response(T t); // 观察Subject,Subject属性发生变化,观察者做出响应}public class abstract Subject { private List<Observer> observers = new ArrayList<>(); // 观察者集合 public void registerObserver(Observer observer

2021-07-29 21:43:28 66

原创 设计模式之建造者模式

建造者模式public class Product{ private String productA; // 模拟产品对象中的复杂组件 private String productB; private String productC; public void setProductA(String productA){ this.productA = productA; } public String getProductA(){ return this.productA } pub

2021-07-28 21:09:28 41

原创 设计模式之外观模式

外观模式public class SubSystem1{ public void method1(){ System.out.println("我是系统1"); }}public class SubSystem2{ public void method2(){ System.out.println("我是系统2"); }}public class SubSystem3{ public void method3(){ System.out.println("我是系统3");

2021-07-27 21:11:09 40

原创 设计模式之模板方法模式

模板方法模式模板方法模式可以封装一个算法骨架,由其子类实现算法具体内容。public class Template{ public void timer(){ long start = start(); algorithm(); long end = end(); System.out.println("算法用时:" + (end - start) + "ms"); } public long start(){ long start = System.currentTimeMi

2021-07-25 19:29:40 47

原创 设计模式之原型模式

=,浅克隆,深克隆区别1、=public class Student{ int studentNo;}public class Client{ public static void main(String[] args){ Student stu1 = new Student(); stu1.studentNo = 12345; Student stu2 = stu1; // 引用赋值 System.out.println(stu2 == stu1); // 输出true。stu

2021-07-25 10:53:46 72

原创 设计模式之代理模式

1、静态代理班长代理老师收班费。// 代理类与目标类的公共接口public interface Person{ void collectMoney();} // 目标类public class Teacher implements Person{ @Override public void collectMoney(){ System.out.println("老师收取班费"); }}public class Monitor implements Person{ Person

2021-07-12 21:55:19 131

原创 设计模式之装饰器模式

装饰器模式一、// 抽象组件。public interface Component{ // 装饰方法 public void display();}// 具体组件1public class ConcreteComponent1 implements Component{ @Override public void display(){ System.out.printlin("我是组件1") }}// 装饰者1public class Decorator1 implements

2021-07-03 22:48:55 52

原创 设计模式之策略模式

使用场景,实现一个需求,要在多种不同的解决方案中选中一个。如商场打折等促销活动,最终需求只有一个,就是能够知道优惠后,顾客需要付多少钱。// 环境类与抽象策略类写在一起public abstract class CommodityCash{ private double money; setter; getter; public abstract double getRealMoney();}// 正常,无优惠public class CashNormal extends Commodit

2021-06-06 18:00:42 32

原创 设计模式之工厂模式----抽象工厂实例:解决系统依赖于单一数据库的问题

@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME) // 默认是RetentionPolicy.CLASS。注解保留到class文件,jvm加载class后,遗弃注解。RetentionPolicy.RUNTIME直到jvm加载class,注解一致保留。public @interface FieldName{ String name();}public class Student{ @FeldName(name = "STU

2021-06-06 11:57:43 175

原创 #{}、${}、PreparedStatement 、Statement 详解

#{}和${}的区别 类似于 PreparedStatement和Statement的区别。#{}和PreparedStatement,会预编译sql语句,然后通过展符的方式进行赋值,并能够把java的数据类型转为jdbc类型,如java字符串“1”,会转为‘1’,java int类型1,会转为jdbc的int类型1,并且能够对特殊字符进行转义${}和Statement会直接拼接sql,不会进行处理,如sql语句String sql = "select * from table where column

2021-06-06 11:00:04 317

原创 bean对象与Map互转

Public Class MapUtil{ // bean转Map public static Map beanToMap(Object obj){ Map<String,Object> map = new HashMap<>(); Field[] declaredFields = obj.getClass().getDeclaredFields(); for(Field field: declareFileds){ String key = field.get

2021-06-05 21:47:54 146

原创 MyBatis连接MySQL数据库

第一次连接遇到3大问题:1、字符编码问题https://blog.csdn.net/weixin_43601094/article/details/1056780342、时区问题:使用MySQL默认时区会出错,需要对MySQL时区进行修改。使用SET TIME_ZONR = '+8:00'命令只是修改了变量,重启MySQL后变量会恢复。只能通过修改my.ini文件来修改默认时区,在...

2020-04-24 18:31:04 165

原创 MySQL字符编码问题

MySQL字符编码更改为UTF-8通过控制台修改CHARACTER_SET_DATABASE等变量的值,只是临时修改,重启之后变量失效。只能通过my.ini配置文件永久修改。针对MySQL5.7,my.ini在c://ProgramData/MySQL/MySQL Sever 5.7目录下,ProgramData是C盘下的隐藏目录。修改:【Client】default-cahracter-...

2020-04-22 11:47:01 106

空空如也

空空如也

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

TA关注的人

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