模式 设计模式singleton java
实验 21:观察者模式
[实验任务一]:股票提醒 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 实验要求: 1. 提交源代码; package test21; // 观察者接口,股民 interface Observer { void update(do ......
实验 25:访问者模式
[实验任务一]:打包员 在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 实验要求: 1. 提交源代码,不要提交类图; package test25; public abstract class AbstractGoods implements Goods{ p ......
实验6:原型模式
[实验任务一]:向量的原型 用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。 实验要求: 1. 画出对应的类图; 2. 提交源代码(用C++完成); #include "stdafx.h" using namespace ......
实验9:桥接模式
[实验任务一]:两个维度的桥接模式 用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 实验要求: 1. 画出对应的类图; 2. 提交源代码; #include <iostream> using namespace std; class Transportati ......
实验10:组合模式
[实验任务一]:组合模式 用透明组合模式实现教材中的“文件夹浏览”这个例子。 实验要求: 1. 文件的执行不需真正实现,只需简单提示即可; 2. 提交源代码; #pragma once #include<iostream> #include<string> #include<vector> usin ......
实验11:装饰模式
[实验任务一]:手机功能的升级 用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。 实验要求: 1. 提交类图; 2. 提交源代码; ......
实验12:外观模式
[实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load ......
实验5:建造者模式
[实验任务一]:计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。 实验要求: 1. 画出对应的类图; 2. 提交源代码; package test5; public class Compu ......
实验7:单例模式
[实验任务一]:学号的单一 仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。 实验要求: 1. 画出对应的类图; 2. 提交源代码; package test7; public class Client { public static void main(String[] args) { ......
实验8:适配器模式
[实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。 实验要求: 1. 画出对应的类图; 2. 提交源代码; public class Adapter implements CatTarget, DogAdaptee { private CatTarget catta ......
实验3:工厂方法模式
[实验任务一]:加密算法 目前常用的加密算法有DES(Data Encryption Standard)和IDEA(International Data Encryption Algorithm)国际数据加密算法等,请用工厂方法实现加密算法系统。 实验要求: 1. 画出对应的类图; 2.提交该系统的 ......
实验4:抽象工厂模式
[实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 实验要求: 1. 画出对应的类图; 2. 提交源代码; AbstractFactory类: package com.shiyan4; public interface AbstractFactory { public Man pro ......
JAVA并发调用接口
package com.cpiaoju.sdk.controller; import com.alibaba.fastjson.JSONObject; import com.cpiaoju.sdk.api.LxskApi; import lombok.extern.slf4j.Slf4j; impo ......
【从零开始重学Java】第5天
前情提示 从零开始重学Java 第0天 从零开始重学Java 第1天 从零开始重学Java 第2天 从零开始重学Java 第3天 从零开始重学Java 第4天 进一步讨论对象和类 抽象数据类型 概述 定义方法 按值传送 有一个非常好的知乎回答Java 到底是值传递还是引用传递? 重载方法名 对象的构 ......
java8日期时间格式化DateTimeFormatter多个格式
原文地址:datetimeformatter.ofpattern multiple formats-掘金 DateTimeFormatter 是一个用于日期时间格式化和解析的类。使用 ofPattern 方法可以创建一个格式化器,该方法接受一个日期时间格式的字符串作为参数。 如果您需要在同一个 Da ......
java,提示语
构造函数 与类名相同 无返回值 初始化 自动使用 时机 创建对象 代码块 一组语句 自动运行 在构造函数前 静态代码块 只执行一次 初始化静态变量 类加载 static 构造函数,创建对象,自动运行,初始化,对象 代码块,创建对象,自动运行,初始化,非静态变量 静态代码块,类,初始化,静态变量,只一 ......
实验2:简单工厂模式
[实验任务一]:女娲造人 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。 实验要求: 1. 画出对应的类图; 2. 提交源代码 TEST.J ......
实验1:UML与面向对象程序设计原则
[实验任务一]:UML复习阅读教材第一章复习UML,回答下述问题:面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。1. 继承关系a) 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力b) 2. 实现关系a) 实现指的是一个c ......
java 树形结构遍历
在Java中遍历树形结构可以使用深度优先算法(DFS)或广度优先算法(BFS)。 深度优先算法(DFS)的示例代码如下所示: class TreeNode { int val; List<TreeNode> children; public TreeNode(int val) { this.val ......
[转]Java8字符串和时间相互转换,使用模式字母的易错点
原文地址:Java 8 字符串和时间相互转换_java8字符串转时间-CSDN博客 1. 常见日期转换符号说明符号 说明 备注y 年 Y 本周所在的年 如果日期所在的周跨年了,年份就会是第二年的,需要注意M 月(month-of-year) d 日(day-of-month) D 年内的第几天(da ......
java常用的几种线程池比较
1. 为什么使用线程池 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达 ......
[转帖]Oracle中unicode的几种不同字符编码模式
https://zhuanlan.zhihu.com/p/668340691# 在Oracle中unicode字符集中,存在以下几种不同unicode字符集的编码模式 AL32UTF8 UTF8 AL16UTF16 UTF-16BE UTF-16LE 下面讲一下它们的在Oracle一般都用在哪里以及 ......
Java泛型
1. 泛型Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。泛型的本质就是参数化类型(类型参数化),也就是所操作的数据类型被指定为一个参数。 private static void m2() { Array ......
Java 新技术:虚拟线程使用指南(二)
虚拟线程是在 Java 21 版本中实现的一种轻量级线程。它由 JVM 进行创建以及管理。虚拟线程和传统线程(我们称之为平台线程)之间的主要区别在于,我们可以轻松地在一个 Java 程序中运行大量、甚至数百万个虚拟线程。 由于虚拟线程的数量众多,也就赋予了 Java 程序强大的力量。虚拟线程适合用来 ......
java项目使用Thumbnails压缩图片导致图片发红的问题
问题 最近有个需求,要导出服务器上的图片到文档里面,而且还要压缩一下 我选择使用Thumbnails进行压缩 URL url =new URL(filePath); // 创建URL URLConnection urlConn = url.openConnection(); // 试图连接并取得返回 ......
java通过AOP修改请求中的参数值
1、背景 项目中存在一个需求,当用户不传项目ID时,将其赋值为默认值,初步分析后,发现接口数量众多,且绝大多数接口都需要传递项目ID。Controller接口的参数形式很多,大多数的Post请求都是以对象的方式接收参数,部分Post的form-data请求和Get请求是以多个基本数据类型的方式接收参 ......
APB Slave设计
APB Slave位置 实现通过CPU对于APB Slave读写模块进行读写操作 规格说明 不支持反压,即它反馈给APB的pready信号始终为1 不支持错误传输,就是说他反馈给APB总线的PSLVERR始终是为0的 支持4个可读写的寄存器 支持12个只读寄存器 支持字节选通信号,根据字节选通信号进 ......
设计模式(二十)状态
一、定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类,状态模式又称为状态对象,它是一种对象行为模式。 二、描述 状态模式是一种较为复杂的设计模式,用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题,包含以下三个角色: 1、Context(环境类):环境类又称为上 ......
【系统设计】笔记3
尽管此刻没有如愿以偿找到合适的ft,但我希望能够充分认识到自己的不足,积蓄力量。相信在不久的将来未来会有爆发的机会。 知识的广度(component, 目的)和深度(sde1: 3年以内,sde2: 4年以上,sde3:team lead,org impact可小可大,深度,3+:org lead, ......