java
Ethan.Zhao
随性而发,凭心而动
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习笔记:Java设计模式之装饰者模式
例如:卖煎饼,加一个鸡蛋,加一根火腿,加一根大葱,都需要在煎饼的基础上进行扩展和组合,计算计算不同组合的价格。定义:在不改变原有对象的基础上,将功能附加到对象上。提供了比继承更有弹性的替代方案(扩展原有对象功能)原创 2022-12-12 13:50:18 · 286 阅读 · 1 评论 -
学习笔记:Java设计模式之外观模式
例如积分兑换礼物, 需要校验是否有资格兑换礼物,积分支付是否成功,物流发货;定义:又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。原创 2022-12-03 01:16:03 · 129 阅读 · 0 评论 -
学习笔记:Java设计模式之原型模式
定义:指原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。特点:不需要知道任何创建的细节,不用调用构造函数。原创 2022-12-01 21:01:55 · 186 阅读 · 0 评论 -
学习笔记:Java设计模式之建造者模式
Java设计模式之建造者模式原创 2022-11-29 23:13:15 · 203 阅读 · 0 评论 -
学习笔记:Java设计模式之抽象工厂模式
抽象工厂模式定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口无需指定他们具体的类类型:创建型适用场景:1.客户端(应用层)不依赖于产品类实例如何被创建、实现等细节2.强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码3.提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体的实现优点具体产品在应用层代码隔离,无需关心创建细节 将一个系列的产品族统一到一起创建缺点规定了所有可能被创建的产品集合..原创 2022-01-08 21:21:58 · 466 阅读 · 0 评论 -
Java异常-面试题
异常处理机制主要回答了三个问题What:异常类型回答了什么被跑出Where:异常堆栈跟踪回答了在哪抛出Why:异常信息回答了为什么被抛出Error和Exception的区别Error:程序无法处理的系统错误,编译器不做检查Exception:程序可以处理的异常,捕获后可能恢复总结:前者是程序无法处理的错误,后者是可以处理的异常Java的异常体系RuntimeException:不可预知的,程序应该自行避免非RuntimeException:可预知的,原创 2021-12-22 23:00:36 · 396 阅读 · 0 评论 -
学习笔记:Java设计模式之单例模式
单例模式定义:保证一个类仅有一个实例,并提供一个全局访问点类型:创建型使用场景:想确保任何情况下都绝对只有一个实例优点:在内存里只有一个实例,减少了内存开销可以避免对资源的多重占用设置全局访问点,严格控制访问缺点:没有接口,扩展困难重点:私有构造器线程安全延迟加载序列化和反序列化安全防止反射懒汉式:public class LazySingleton {private static LazySingle...原创 2021-12-15 00:46:03 · 307 阅读 · 0 评论 -
学习笔记:Java设计模式之工厂方法模式
简单工厂定义:由一个工厂对象决定创建出哪一种产品类的实例类型:创建型,但不属于GOF23种设计模式使用场景:1.工厂类负责创建的对象比较少2.客户端(应用层)只知道传入工厂类的参数,对如何创建对象(逻辑)并不关心优点:只需要传入一个正确的参数,就可以获取你所需要的对象,而无需知道其创建细节缺点:工厂类的职责相对过重,增加新的产品,需要修改工厂类的判断逻辑,违背开闭原则声明一个抽象类Video和生产视频的方法public abstract ...原创 2021-12-09 00:29:22 · 341 阅读 · 0 评论 -
学习笔记:保证接口幂等性
接口幂等性在系统中,一个接口运行多次,与运行一次的效果是一致的。什么情况下需要幂等性重复提交、接口重试、前段操作抖动等业务场景:用户多次点击提交订单,后台应只生成一个订单业务场景:支付,由于网络问题重发,应只扣一次钱并不是所有接口都要求幂等性,要根据业务而定保证幂等性的策略有哪些?幂等性的核心思想:通过唯一的业务单号保证幂等非并发情况下,查询业务单号有没有操作过,没有则执行操作并发的情况下,整个操作过程枷锁select操作:不会对业务数据有影响,天然幂原创 2021-12-01 10:59:17 · 361 阅读 · 0 评论 -
log4j-在RollingFileAppender基础上为日志文件添加时间戳
log4j-在RollingFileAppender基础上为日志文件添加时间戳修改后的代码package com.xxx.adapter.util.logUtil;import java.io.File;import java.io.IOException;import java.io.InterruptedIOException;import java.text.SimpleD...原创 2019-01-16 14:21:59 · 2338 阅读 · 0 评论
分享