自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张宜强的博客

君子以自强不息

  • 博客(565)
  • 资源 (16)
  • 问答 (2)
  • 收藏
  • 关注

原创 java毕设&课程设计——宿舍管理系统

想要java定制代码的文章最下方+v。

2024-03-07 16:20:31 1095

原创 java毕设&课程设计——宠物领养系统

想要源码+部署的文章最下方+v。

2024-03-06 09:48:24 139

原创 java毕设&课程设计——小型酒店管理系统

简易酒店管理系统

2024-03-05 17:27:39 154

原创 java毕设&课程设计——养老院管理系统

养老院管理系统

2024-02-29 16:22:38 1936

原创 redis学习(三)——java整合redis

我们可以自定义redisTemplate的序列化方式新建一个redisConfig类,key和value都采用String序列化方式@Bean// 创建Template// 设置连接工厂// 设置序列化工具// key和 hashKey采用 string序列化// value和 hashValue采用 JSON序列化这里使用了jackson,需要导入一下依赖。

2023-10-24 19:56:52 406

原创 redis学习(二)——redis常见命令及基础数据类型

Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构。String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时需要将整个字符串替代,很不方便。Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD。如果想存储两个相同的KEY,可以用:隔开多个单词形成层级结构,在图形化的页面上可以看到层级结构。字符串类型,value为字符串,格式有三种,本质上都是字符串。float:浮点类型,可以做自增、自减操作。ZSET常被用来实现排行榜功能。

2023-10-06 19:48:20 428

原创 redis学习(一)——初识redis

在之前的解压目录下有一个redis.conf文件存储redis的配置,输入vim redis.conf命令可以对配置文件进行编辑,输入redis-cli 命令可以用指定配置启动。redis是非关系型数据库,和mysql不同,redis中的所有数据都是以key:value形式存在的。我用的是RESP,使用步骤类似Navicat,输入地址密码测试连接,如果成功就证明连上redis了。-h 跟redis所在的地址,-p跟端口号,-u跟密码。即可启动redis,关闭窗口后redis会停止。结构化 | 非结构化。

2023-09-24 16:12:07 247

原创 设计模式(二十三)——解释器模式(Interpreter )

实现了一个表达式接口,该接口解释一个特定的上下文。编译器,正则表达式,SQL解析。实现一个一位数的加法运算。

2023-06-23 19:19:10 300

原创 设计模式(二十二)——状态模式(State)

可以使用状态模式:把不同状态的动作抽离出来,然后不同的状态去实现这个接口,这样以后如果有新的状态,就不会去修改原来的代码。现在新增一个状态,RUN,如果在以前的代码上进行更改,就不符合开闭原则了。人在不同状态下有不同的心率,当前有SLEEP和STUDY两个状态。当对象有多个状态,而且以后可能会增加状态的时候可以用状态模式。可以使用if else或者switch判断每一个状态。

2023-06-23 19:14:07 382

原创 设计模式(二十一)——模板模式(Template )

模板模式,我的理解是父类中有操作的流程已经确定,但是没有具体的实现,实现可以在子类中实现,但是流程已经确定,只要在父类中实现一次即可。学生吃午饭,排队选择不同的吃的和喝的,先选吃的再选喝的这个流程已经确定,但是选择什么还没有确定。lunch方法已经确定了,但是eat和drink方法还没有确定,这两个方法留到子类来实现。还有一个例子:高一,高二,高三,三个年级,每天要上8节课,但是课可能会不相同。

2023-06-19 21:45:45 138

原创 设计模式(十九)——原型模式(Prototype)

享元模式是共享对象,两个对象指向一个地址,原型模式的两个对象的属性相同,指向的是两个不同的地址。孙悟空可以拔下毫毛变出很多个自己,这些孙悟空的所有东西都相同,但却是不同的个体。每个对象都要重写clone方法,实现Cloneable接口。运行结果:两个对象返回不同的地址。提高性能,可以快速复制对象。

2023-06-14 15:41:36 78

原创 设计模式(二十)——备忘录模式(Memento)

类似游戏进程,保存游戏时将Originator转化成Memento类,不会对Originator进行任何修改。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。实现了信息的封装,使得用户不需要关心状态的保存细节。保存一个对象的某个状态,以便在适当的时候恢复对象。Memento类,存储在列表中的存档。

2023-06-14 15:41:28 50

原创 设计模式(十八)——命令模式(Command )

在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。后面如果想增加关闭电视机的命令,可以实现Order接口,在excute方法里面写相应的操作。人想要打开电视机或者关闭电视机,调用者→命令→接受者,人是调用者,电视机是接收者,1、降低了系统耦合度。2、新的命令可以很容易添加到系统中去。使用命令模式可能会导致某些系统有过多的具体命令类。

2023-06-14 14:54:34 52

原创 设计模式(十七)——桥接模式(Bridge)

把抽象化与实现化解耦,使得二者可以独立变化。

2023-06-14 14:52:50 44

原创 设计模式(十六)——适配器模式(Adapter)

现有美国人和英国人交流,可以使用英语,但是和中国人交流时,语言不通,此时需要一个适配器来翻译双方的语言。当两个不兼容的接口需要一起工作,但是两个接口都无法改动,可以用到适配器模式。但是当美国人说英语和中国人沟通时,由于中国人只说汉语,所以两者之间无法沟通。过多地使用适配器,会让系统非常零乱,不易整体进行把握。将英语转化成汉语,之后中国人就可以进行沟通。可以让任何两个没有关联的类一起运行。英国人和美国人可以正常沟通。

2023-06-13 17:11:12 55

原创 设计模式(十五)——建造者模式(Builder)

PeopleBuilder接口,所有的属性都有一个Builder方法,注意这里的返回类型是PeopleBuilder,方便链式编程。实现一个People类的创建,现在的People类的属性还很少,看不出来建造者模式的优点,当实体类的属性很多,属性的结构和创建复杂时,就可以体会到建造者模式的优点。建造者模式和工厂模式的关注点不同:建造者模式注重零部件的组装过程,而工厂方法模式更注重零部件的创建过程,但两者可以结合使用。将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示,建造者独立,易扩展。

2023-06-13 17:10:56 188

原创 设计模式(十四)——访问者模式(Visitor )

但是需要注意,访问者模式中的被访问者需要是元素固定,不会再改变的对象,否则添加对象时非常麻烦。比如电脑类添加了一个屏幕价格的属性,那么所有的代码都需要更改。有一台电脑,不同的人来买对零件有不同的折扣。学生买CPU打九五折,键盘九折,鼠标八五折,如果是企业大规模购买,CPU八五折,键盘八折,鼠标七五折。当一个对象的元素在不同的场景改变较为频繁时,可以使用访问者模式。例如:公园的风景在不同的人的眼中,有人觉得好看,有人觉得不好看。购买者,每个购买者都需要实现三个方法,对电脑零件有不同的折扣。

2023-06-13 17:08:35 56

原创 设计模式(十三)——迭代器模式(Iterator)

顺序访问集合对象的元素,不需要知道集合内部的实现,Collection集合中的迭代器就是基于迭代器模式实现。

2023-03-28 19:14:27 70 1

原创 设计模式(十二)——代理模式(Proxy)

在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。使用代理模式,把租房这个抽象角色剥离出来,现在顾客租房不去找房东,而是找中介,在这过程中,中介会有附属操作。Customera.java 顾客要租房,那么只需要创建一个房东类,调用房东类的租房方法即可。现在顾客要租房子,直接去找中介,中介会代理房东把房子租出去,同时,中介会有附属操作。

2023-03-28 18:52:20 61

原创 设计模式(十一)——享元模式(Flyweight)

提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。可以看到,虽然在代码中创建了两个对象,但是它们是指向一个地址的,减少了内存的消耗。当创建字符串对象是,看是否已经创建过,如果创建过,让他们指向同一个对象。用于减少创建对象的数量,以减少内存占用和提高性能。大大减少对象的创建,降低系统的内存,使效率提高。java字符串缓存池,数据库的数据池。

2023-03-28 16:41:46 68

原创 设计模式(十)——组合模式(Composite )

设计模式(十)——组合模式(Composite )

2022-10-24 20:23:37 219

原创 设计模式(九)——观察者模式(Observer)

设计模式(九)——观察者模式(Observer)

2022-10-24 20:12:51 191

原创 设计模式(八)——责任链模式(Chain of Responsibility)

设计模式(八)——责任链模式(Chain of Responsibility)

2022-10-23 20:29:00 469 2

原创 设计模式(七)——装饰器模式(Decorator )

设计模式(七)——装饰器模式(Decorator )

2022-10-23 19:10:36 533

原创 设计模式(六)——中介者模式(Mediator )

设计模式(六)——中介者模式(Mediator )

2022-10-22 21:19:35 110

原创 设计模式(五)——门面模式(Facade )

设计模式(五)——门面模式(Facade )

2022-10-22 21:12:29 301

原创 设计模式(四)——抽象工厂模式(Abstract Factory)

设计模式(四)——抽象工厂模式(Abstract Factory)

2022-10-22 21:04:36 582

原创 设计模式(三)——工厂模式(Factory)

设计模式(三)——工厂模式(Factory)

2022-10-22 17:42:49 214

原创 设计模式(二)——策略模式(Strategy)

设计模式(二)——策略模式(Strategy)

2022-10-20 22:34:29 432

原创 设计模式(一)——单例模式(Singleton)

设计模式(一)——单例模式(Singleton)

2022-10-20 22:29:44 309

原创 Bootstrap仿制CSDN用户主页页面

Bootstrap仿制CSDN用户主页页面

2022-10-07 20:15:35 1852 2

原创 Bootstrap学习3——组件

Bootstrap学习3——组件

2022-10-06 18:52:49 118

原创 Bootstrap学习2——全局css样式

Bootstrap学习2——全局css样式

2022-10-05 18:27:13 160

原创 Bootstrap学习1——栅格系统

Bootstrap学习1——栅格系统

2022-08-10 20:21:11 341

原创 JavaScript学习(七)——事件练习

实现全选和全不选的功能步骤给按钮设置点击事件修改所有复选框的选中状态首先是全选按钮,获取到节点之后,添加点击事件根据ClassName忽的checkbox的数组,遍历数组,修改选中状态全不选按钮一样的做法。还可以对所有checkbox添加点击事件,记录选中的条数,当条数改变是,修改最上面的checkbox的状态...

2022-08-04 07:49:17 354

原创 JavaScript学习(六)——表格的动态添加与删除

首先是去创建一个基本页面,上面有一个表格来展示信息动态删除步骤:为a标签设置一个点击事件,a标签的父节点是td,td的父节点是tr,tr的父节点是table,所以函数将a标签传入,通过parentNode可以获取父节点定义删除函数点击删除,可以删除表格的信息接下来实现如何动态添加信息步骤首先给添加按钮增加点击事件,在add方法中添加之后的所有操作从输入框中获取到需要添加的属性将属性转换为节点,这样才能添加到DOM树中,创建td节点,td节点中添加展示的属性,其余两个td节点是一样的操作...

2022-08-03 23:07:53 3004 4

原创 JavaScript学习(五)——首页跳转实现

JavaScript学习(五)——首页跳转实现

2022-08-03 23:01:15 589

原创 JavaScript学习(四)——轮播图的实现

javaScript实现轮播图

2022-08-02 22:38:31 231

原创 JavaScript学习(三)——BOM及DOM对象

BOM和DOM对象

2022-08-02 07:55:14 107

原创 JavaScript学习(二)——基本对象

即使数组的长度已经确定,还是可以访问长度之外的元素,数组会自动扩容。join()将数组按照传入的数据分隔,默认为逗号。push()向数组的末尾添加元素,返回数组的长度。random()返回0到1之间的随机数,左开右闭。单个字符[a][ab][a-zA-Z0-9_]方法定义是,形参的类型不用写,返回值类型也不写。方法是一个对象,如果定义名称相同的方法,会覆盖。数组的类型是可以变化的,元素可以是不同的类型。无需创建,使用Math.方法名()即可使用。全局方法,在任何js文件中都可以使用的方法。...

2022-08-01 23:11:47 199

bootstrap学习代码前端页面

bootstrap学习代码前端页面

2022-11-04

Bootstrap仿制CSDN用户主页页面

Bootstrap仿制CSDN用户主页页面

2022-07-19

设计模式学习样例及代码

二十三种设计模式的学习代码及样例

2022-07-05

SpringBoot学习源码

学习springboot过程中的代码

2021-12-29

SSM实现简单学生信息管理系统

SSM实现简单学生信息管理系统

2021-08-12

flutter2048 app 游戏

使用flutter实现的2048 apk 游戏

2021-08-11

SpringMVC学习源码

SpringMVC学习源码

2021-08-06

Spring 学习笔记代码

学习Spring过程中的笔记

2021-07-28

Mybatis学习源码

Mybatis学习过程中的源码

2021-07-20

Flutter Button.dart

Flutter Button 按钮样式

2021-07-09

Web实现登录注册功能.rar

Web实现登录注册功能,使用Mybatis,servlet实现一个简单的登录注册页面,解压里面的webStudy2.rar,使用IDEA导入即可

2021-01-27

贪吃蛇游戏可直接运行

贪吃蛇游戏的jar包,点击后可以直接运行,运行环境:IDEA,解压之后可以导入IDEA

2020-12-21

C语言魔塔游戏十层.zip

魔塔游戏,在原有的基础上 1.增加了背景音乐 2.运行之后不会直接开始游戏了,而是有一个选择的画面 N 新的游戏 J 继续游戏 C 游戏说明 E 退出游戏 3.增加了保存游戏的功能,可以保存游戏了 4.增加了9层地图,加上第一层一共10层地图 5.玩家可以升级 6.修复bug

2020-03-31

C语言魔塔游戏.zip

包含C语言魔塔游戏所需要的图片及代码,下载你之后解压,点击C语言魔塔游戏.sln文件,进入后点击运行即可看到效果。需安装VS

2020-02-13

RentingSystem.rar

包含了Java课程设计的所有代码和所需要的图片,只需下载导入项目即可运行。使用数据库为MySQL,数据库连接层renting.dal包中的DBConnecter.java,使用时需要改变数据库连接的用户名和密码,运行效果图和总体设计在我的博客中可以找到。

2020-01-10

拼图游戏.rar

包含了C语言小游戏:拼图游戏的所有资源,包括代码和所用到的图片。

2019-07-29

打字母.rar

课程设计打字母游戏的代码,文件,以及应用程序

2019-06-26

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

TA关注的人

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