个人博客
08
22
中介者模式 中介者模式
中介者模式1、智能家庭管理问题智能家庭项目: 1)智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘等 2)主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为: 闹铃响起 => 咖啡机开始做咖啡 =>
2022-08-22
10
观察者模式 观察者模式
观察者模式1、天气预报需求具体要求如下: 1)气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方) 2)需要设计开放型 API,便于其他第三方也能接入气象站获取数据 3)提供温度、气压和湿度
2022-08-10
09
迭代器模式 迭代器模式
迭代器模式1、学校院系结构展示需求编写程序展示一个学校院系结构,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。如图: 传统方案分析 1)将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分
2022-08-09
07
MySQL索引的数据结构 MySQL索引的数据结构
索引的数据结构1.为什么要使用索引索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教课书的目录部分,通过目录找到对应文件章的页码,便可以快速定位到需要的文章。MySQL也是一样的道理,进行数据查找时,首先查找查询条件是否命中某条
2022-08-07
07
JVM概述 JVM概述
JVM概述JVM vs JDK vs JREJava 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同
2022-08-07
07
用户线程和守护线程 用户线程和守护线程
用户线程和守护线程用户线程(User Thread)一般情况下不做特别说明配置,默认都是用户线程,是系统的工作线程,它会完成这个程序需要完成的业务员操作 isDaemon测试此线程是否为守护线程 通过Thread.setDaemon(fal
2022-08-07
05
访问者模式 访问者模式
访问者模式1、测评系统完成测评系统需求 1)将人、观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价(评价有不同的种类,比如成功、失败等) 2)传统方案 传统方式的问题分析 1)如果系统比较小,
2022-08-05
03
线程通信、sleep和wait方法 线程通信、sleep和wait方法
线程通信例子使用两个线程打印1-100。线程1,2交替打印。 要让线程1、2交替打印,就需要使用 wait() 阻塞方法,并且wait方法会释放锁,当另一个线程执行完后调用 notify()或 notifyAll()`唤醒线程 packag
2022-08-03
03
命令模式 命令模式
命令模式1、智能生活项目需求 1)我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,只要在手机上安装 APP 就可以控制这些家电的工作 2)这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个 APP 分别控制,我们希望只要一
2022-08-03
02
模板模式 模板模式
模板模式1、豆浆制作问题编写制作豆浆的程序,说明如下: 1)制作豆浆的流程选材 —-> 添加配料 —-> 浸泡 —-> 放到豆浆机打碎 2)通过添加不同的配料,可以制作出不同口味的豆浆 3)选材、浸泡和放到豆浆机打碎
2022-08-02
9 / 15