自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap put源码分析

HashMap put源码分析HashMap 采用的是 数组 + 链表 + 红黑树的结构 public V put(K key, V value) { // 根据key计算hash值 return putVal(hash(key), key, value, false, true); }final V putVal(int hash, K key, V value, boolean onlyIfAbsent, bo

2022-03-03 14:01:38 118

原创 日历 小Demo (LocalDate的使用)

日历小Demo(LocalDate使用)import java.time.DayOfWeek;import java.time.LocalDate;public class CalendarTest { public static void main(String[] args) { // 年日历 LocalDate date = LocalDate.now(); int dayOfYear = date.getDayOfYear(); // 得到当年开始日期 date = d

2021-12-30 16:05:25 126

原创 Chain of Responsibility Pattern(责任链模式)

Chain of Responsibility Pattern(责任链模式)介绍责任链模式为请求创建了一个接收者对象的链。 让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。相当于有一个请求 分别 沿着 A,B,C传递,直到某一个或者全部处理请求为止。这种类型的设计模式属于行为型模式。优点:将请求的发送者和接收者解耦,降低耦合度简化了对象。对象不需要知道链的结构增强给对象指派职责的灵活性,每一个对象有其对应的责任,可以通

2021-11-24 15:49:05 84

原创 Decorator(装饰者模式)

Decorator(装饰者模式)介绍装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结钩, 动态地给一个对象添加一些额外的职责。就相当于一个 女生 给自己 化妆,戴饰品,并不会改变其本身是一个女性的特点,又修饰了自身这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装优点: 装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。缺点: 多层装饰比较复杂。注意:

2021-11-23 14:53:38 261

原创 Mediator(中介者模式)

Mediator(中介者模式)介绍中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性,用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为型模式。优点:降低了类的复杂度,将一对多转化成了一对一各个类之间的解耦符合迪米特原则缺点: 中介者会庞大,变得复杂难以维护实现1、创建聊天室public class ChatRoom {

2021-11-22 11:13:10 198

原创 Facade(外观模式/门面)

Facade(外观模式/门面)介绍外观模式(Facade Pattern)隐藏系统的复杂性,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 降低访问复杂系统的内部子系统时的复杂度,简化客户端之间的接口。这种类型的设计模式属于结构型模式,涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。优点:解耦, 减少系统相互依赖提高灵活性、安全性缺点:不符合开闭原则,如果要改东西很麻烦,继承

2021-11-22 10:15:15 368

原创 Factory(工厂模式)和 Abstract Factory Pattern (抽象工厂模式)

Factory(工厂模式)介绍工厂模式:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 是 Java 中最常用的设计模式之一,这种类型的设计模式属于创建型模式 。优点:一个调用者想创建一个对象,只要知道其名称就可以了扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。屏蔽产品的具体实现,调用者只关心产品的接口。缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了

2021-11-19 17:26:15 167

原创 Strategy(策略模式)

Strategy(策略模式)介绍策略模式中,一个类的行为或算法可以在运行时更改,互相替换。这种类型的设计模式属于行为型模式。相当于对 if…else 或 switch 进行封装优点:可扩展性良好避免使用多重条件判断算法或类的行为 可以自由切换缺点:策略类会增多所有的策略类都需要对外暴露注意事项:如果一个系统的策略多于四个,就需要考虑使用 混合模式,解决策略类膨胀的问题。实现:1、创建一个接口public interface ShoutS

2021-11-18 16:21:51 199

原创 Git常用命令以及 与Idea集成

Git常用命令以及 与Idea集成git 本地结构本地仓库与远程仓库的交互git常用命令1、本地仓库查看版本git --version设置用户名和邮箱git config --global user.name "用户名"git config --global user.email "邮箱"本地仓库初始化git init将文件提交到暂存区git add [文件名]将暂存区的内容提交到本地仓库git commit -m "提交信息" [提交文件]查看工作区和暂存区

2021-11-17 17:53:31 73

原创 Singleton(单例模式)

Singleton(单例模式)饿汉模式(常用)/** * 饿汉模式 (常用) * 以空间换时间 不管需不需要用到实例都要去创建实例 * 原理:类加载到内存后,就实例化一个单例,JVM保证线程安全 * 缺点:不管有没有用到,加载类的时候都会创建一个实例 */public class Mgr1 { private final static Mgr1 INSTANCE = new Mgr1(); private Mgr1() {} public void metho

2021-11-12 10:09:39 321

原创 Java:程序包xxxx不存在方案总结

Java:程序包xxxx不存在方案总结Idea 开启自动加载Jar包 ,开启了自动引入机制根据路径选择 Maven 设置: File -> Settings -> Build,Execution,Deployment -> Maven -> Importing设置完成后点击【Apply】使之生效。...

2021-07-29 20:02:07 138

原创 JDK1.8的详细安装

JDK安装1、下载http://www.oracle.com/technetwork/java/index.html2、安装傻瓜式安装,下一步测试:打开cmd窗口输入 java -version3、设置环境变量先打开:此电脑→属性→高级系统设置→高级→环境变量3.1、 新建系统变量JAVA_HOME3.2、编辑系统变量Path3.3、新建系统变量CLASSPATH变量4、测试打开cmd窗口输入java,若出现用法则安装成功输入javac,

2020-11-27 22:43:07 79

空空如也

空空如也

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

TA关注的人

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