摘要: 23种设计模式——原型模式 1.浅克隆 package com.mjh.prototype; import java.util.Date; /** * 实现一个接口 Cloneable * 重写一个方法 clone() */ public class Video implements Cloneab 阅读全文
posted @ 2020-07-13 21:47 林森001 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 23种设计模式——建造者模式 定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 主要作用 在用户不知道对象的建造过程和细节的情况下就就可以直接创建复杂的对象 package com.mjh.builder; //抽象的建造者 方法 public abstract cla 阅读全文
posted @ 2020-07-13 21:45 林森001 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 23种设计模式——工厂模式 作用 实现了创建者和调用者分离 详细分类 简单工厂模式 工厂方法模式 抽象工厂模式 核心本质 实例化对象不使用new,用工厂方法代替 将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦 1)简单工厂(静态工厂模式) 虽然某种程度上不符合设计原则,但实际用 阅读全文
posted @ 2020-07-13 21:42 林森001 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 23种设计模式——单例模式 饿汉式 先创建对象,要使用的使用直接拿 package com.mjh.single; public class Hungry { //可能会浪费 private byte[] da=new byte[1024*1024]; private byte[] da1=new 阅读全文
posted @ 2020-07-13 21:40 林森001 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 23种设计模式——抽象工厂模式 定义:抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定他们具体的类 适用场景 客户端(应用层)不依赖与产品类实例如何创建、实现细节 强调一系列相关的产品对象(属于同一产品簇)一起使用创建对象需要大量的重复代码 提供一个产品类的库,所有的产品一同样的 阅读全文
posted @ 2020-07-13 21:39 林森001 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 23种设计模式概述 学习设计模式的意义 设计模式的本质是面向对象设计原则的时间运用,是对类的封装性、继承性、和多态性以及类的关联关系和组合关系的充分理解。 优点 提高程序员的思维能力、编程能力和设计能力 是程序设计更加标准化、代码更加工程化、使软件开发效率大大提高,从而缩短软件的开发周期。 使设计的 阅读全文
posted @ 2020-07-13 21:34 林森001 阅读(123) 评论(0) 推荐(0) 编辑
摘要: SpringBoot 整合Redis 在springboot2.x之后,原来的jedis被替换为了lettuce jedis:采用的是直连,多个线程操作的话,是不安全的,如果想要避免不安全,使用jedis pool连接池,更像BIO模式 lettuce:采用netty,实现可以在多个线程中进行共享, 阅读全文
posted @ 2020-07-13 21:20 林森001 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 定时任务 cron 表达式 on the second, minute, hour, day of month(日), month, and day of week.(周几) 【0 0/5 14,18 * * ?】每天14点整,和18点整,每隔5分钟执行一次 【0 15 10 ? * 1-6】每个月 阅读全文
posted @ 2020-07-13 21:17 林森001 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 分布式系统理念 RPC RPC(Remote Procedure Call)远程过程调用;是一种进程间通信方式,也是一种思想,而不是规范。允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数。 推荐阅读文章:https://www.jianshu.com/p/2accc2840a1 阅读全文
posted @ 2020-07-13 21:16 林森001 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 邮件发送 1.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 2.配置pom.xml文件 spr 阅读全文
posted @ 2020-07-13 21:13 林森001 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 异常机制 异常体系结构 Java把异常当作对象来处理,并定义一个基类java.lang.throwable作为异常的超类。 把Java Api中已经定义了许多异常,这些异常分为两大类,错误Error和Exception Error Error类对由Java虚拟机生成并抛出,大多数错误与代码编写者所执 阅读全文
posted @ 2020-07-13 21:10 林森001 阅读(118) 评论(0) 推荐(0) 编辑
摘要: io流 它们都在java.io包里 File类 File(FileInputStream , , ,) IO流的分类与原理 字符流 Reader Writer 在这里的throws IOException:假设第一次没有抛出异常,等到read()的时候才抛出异常,抛出异常之后就会直接跳出程序,导致流 阅读全文
posted @ 2020-07-13 21:03 林森001 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 集合类 他们都在 java.util包里 Iterator(迭代器) 主要用于遍历Collection集合中的元素 GOF给迭代器模式的定义为:提供一种方法访问一个容器对象的各个元素,而又不需暴露该对象的内部细节。迭代器模式,就是为容器而生。 Collection 单列集合,用来存储一个一个的对象 阅读全文
posted @ 2020-07-13 21:00 林森001 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 抽象类 abstract修饰可以用来修饰方法也可以修饰类,如果修饰方法,该方法就是抽象方法;如果修饰类,该类就是抽象类。 抽象类中可以没有抽象方法,但是抽象方法的类一定要声明为抽象类。 抽象类,不能用new关键字来创建对象,它是用来让子类继承的。 抽象方法,只有方法的声明,没有方法的实现,它是来让子 阅读全文
posted @ 2020-07-13 20:59 林森001 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 常用类 他们都在java.lang包中 Object类 Object类是类层次结构的根。每个类都有 Object作为超类。所有对象,包括数组,实现这个类的方法。 hashCode() toString() clone() getClass() notify() wait() equals() ... 阅读全文
posted @ 2020-07-13 20:58 林森001 阅读(118) 评论(0) 推荐(0) 编辑