![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 61
张宜强
道阻且长,行则将至
展开
-
java毕设&课程设计——宿舍管理系统
想要java定制代码的文章最下方+v。原创 2024-03-07 16:20:31 · 1141 阅读 · 0 评论 -
java毕设&课程设计——宠物领养系统
想要源码+部署的文章最下方+v。原创 2024-03-06 09:48:24 · 172 阅读 · 0 评论 -
java毕设&课程设计——小型酒店管理系统
简易酒店管理系统原创 2024-03-05 17:27:39 · 184 阅读 · 0 评论 -
java毕设&课程设计——养老院管理系统
养老院管理系统原创 2024-02-29 16:22:38 · 1962 阅读 · 0 评论 -
redis学习(三)——java整合redis
我们可以自定义redisTemplate的序列化方式新建一个redisConfig类,key和value都采用String序列化方式@Bean// 创建Template// 设置连接工厂// 设置序列化工具// key和 hashKey采用 string序列化// value和 hashValue采用 JSON序列化这里使用了jackson,需要导入一下依赖。原创 2023-10-24 19:56:52 · 431 阅读 · 0 评论 -
redis学习(二)——redis常见命令及基础数据类型
Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构。String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时需要将整个字符串替代,很不方便。Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD。如果想存储两个相同的KEY,可以用:隔开多个单词形成层级结构,在图形化的页面上可以看到层级结构。字符串类型,value为字符串,格式有三种,本质上都是字符串。float:浮点类型,可以做自增、自减操作。ZSET常被用来实现排行榜功能。原创 2023-10-06 19:48:20 · 441 阅读 · 0 评论 -
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 · 259 阅读 · 0 评论 -
设计模式(二十三)——解释器模式(Interpreter )
实现了一个表达式接口,该接口解释一个特定的上下文。编译器,正则表达式,SQL解析。实现一个一位数的加法运算。原创 2023-06-23 19:19:10 · 312 阅读 · 0 评论 -
设计模式(二十二)——状态模式(State)
可以使用状态模式:把不同状态的动作抽离出来,然后不同的状态去实现这个接口,这样以后如果有新的状态,就不会去修改原来的代码。现在新增一个状态,RUN,如果在以前的代码上进行更改,就不符合开闭原则了。人在不同状态下有不同的心率,当前有SLEEP和STUDY两个状态。当对象有多个状态,而且以后可能会增加状态的时候可以用状态模式。可以使用if else或者switch判断每一个状态。原创 2023-06-23 19:14:07 · 392 阅读 · 0 评论 -
设计模式(二十一)——模板模式(Template )
模板模式,我的理解是父类中有操作的流程已经确定,但是没有具体的实现,实现可以在子类中实现,但是流程已经确定,只要在父类中实现一次即可。学生吃午饭,排队选择不同的吃的和喝的,先选吃的再选喝的这个流程已经确定,但是选择什么还没有确定。lunch方法已经确定了,但是eat和drink方法还没有确定,这两个方法留到子类来实现。还有一个例子:高一,高二,高三,三个年级,每天要上8节课,但是课可能会不相同。原创 2023-06-19 21:45:45 · 153 阅读 · 0 评论 -
设计模式(二十)——备忘录模式(Memento)
类似游戏进程,保存游戏时将Originator转化成Memento类,不会对Originator进行任何修改。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。实现了信息的封装,使得用户不需要关心状态的保存细节。保存一个对象的某个状态,以便在适当的时候恢复对象。Memento类,存储在列表中的存档。原创 2023-06-14 15:41:28 · 67 阅读 · 0 评论 -
设计模式(十九)——原型模式(Prototype)
享元模式是共享对象,两个对象指向一个地址,原型模式的两个对象的属性相同,指向的是两个不同的地址。孙悟空可以拔下毫毛变出很多个自己,这些孙悟空的所有东西都相同,但却是不同的个体。每个对象都要重写clone方法,实现Cloneable接口。运行结果:两个对象返回不同的地址。提高性能,可以快速复制对象。原创 2023-06-14 15:41:36 · 98 阅读 · 0 评论 -
设计模式(十八)——命令模式(Command )
在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。后面如果想增加关闭电视机的命令,可以实现Order接口,在excute方法里面写相应的操作。人想要打开电视机或者关闭电视机,调用者→命令→接受者,人是调用者,电视机是接收者,1、降低了系统耦合度。2、新的命令可以很容易添加到系统中去。使用命令模式可能会导致某些系统有过多的具体命令类。原创 2023-06-14 14:54:34 · 66 阅读 · 0 评论 -
设计模式(十七)——桥接模式(Bridge)
把抽象化与实现化解耦,使得二者可以独立变化。原创 2023-06-14 14:52:50 · 58 阅读 · 0 评论 -
设计模式(十六)——适配器模式(Adapter)
现有美国人和英国人交流,可以使用英语,但是和中国人交流时,语言不通,此时需要一个适配器来翻译双方的语言。当两个不兼容的接口需要一起工作,但是两个接口都无法改动,可以用到适配器模式。但是当美国人说英语和中国人沟通时,由于中国人只说汉语,所以两者之间无法沟通。过多地使用适配器,会让系统非常零乱,不易整体进行把握。将英语转化成汉语,之后中国人就可以进行沟通。可以让任何两个没有关联的类一起运行。英国人和美国人可以正常沟通。原创 2023-06-13 17:11:12 · 66 阅读 · 0 评论 -
设计模式(十五)——建造者模式(Builder)
PeopleBuilder接口,所有的属性都有一个Builder方法,注意这里的返回类型是PeopleBuilder,方便链式编程。实现一个People类的创建,现在的People类的属性还很少,看不出来建造者模式的优点,当实体类的属性很多,属性的结构和创建复杂时,就可以体会到建造者模式的优点。建造者模式和工厂模式的关注点不同:建造者模式注重零部件的组装过程,而工厂方法模式更注重零部件的创建过程,但两者可以结合使用。将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示,建造者独立,易扩展。原创 2023-06-13 17:10:56 · 240 阅读 · 0 评论 -
设计模式(十四)——访问者模式(Visitor )
但是需要注意,访问者模式中的被访问者需要是元素固定,不会再改变的对象,否则添加对象时非常麻烦。比如电脑类添加了一个屏幕价格的属性,那么所有的代码都需要更改。有一台电脑,不同的人来买对零件有不同的折扣。学生买CPU打九五折,键盘九折,鼠标八五折,如果是企业大规模购买,CPU八五折,键盘八折,鼠标七五折。当一个对象的元素在不同的场景改变较为频繁时,可以使用访问者模式。例如:公园的风景在不同的人的眼中,有人觉得好看,有人觉得不好看。购买者,每个购买者都需要实现三个方法,对电脑零件有不同的折扣。原创 2023-06-13 17:08:35 · 74 阅读 · 0 评论 -
设计模式(十三)——迭代器模式(Iterator)
顺序访问集合对象的元素,不需要知道集合内部的实现,Collection集合中的迭代器就是基于迭代器模式实现。原创 2023-03-28 19:14:27 · 102 阅读 · 1 评论 -
设计模式(十二)——代理模式(Proxy)
在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。使用代理模式,把租房这个抽象角色剥离出来,现在顾客租房不去找房东,而是找中介,在这过程中,中介会有附属操作。Customera.java 顾客要租房,那么只需要创建一个房东类,调用房东类的租房方法即可。现在顾客要租房子,直接去找中介,中介会代理房东把房子租出去,同时,中介会有附属操作。原创 2023-03-28 18:52:20 · 77 阅读 · 0 评论 -
设计模式(十一)——享元模式(Flyweight)
提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。可以看到,虽然在代码中创建了两个对象,但是它们是指向一个地址的,减少了内存的消耗。当创建字符串对象是,看是否已经创建过,如果创建过,让他们指向同一个对象。用于减少创建对象的数量,以减少内存占用和提高性能。大大减少对象的创建,降低系统的内存,使效率提高。java字符串缓存池,数据库的数据池。原创 2023-03-28 16:41:46 · 82 阅读 · 0 评论 -
设计模式(十)——组合模式(Composite )
设计模式(十)——组合模式(Composite )原创 2022-10-24 20:23:37 · 235 阅读 · 0 评论 -
设计模式(九)——观察者模式(Observer)
设计模式(九)——观察者模式(Observer)原创 2022-10-24 20:12:51 · 201 阅读 · 0 评论 -
设计模式(八)——责任链模式(Chain of Responsibility)
设计模式(八)——责任链模式(Chain of Responsibility)原创 2022-10-23 20:29:00 · 480 阅读 · 2 评论 -
设计模式(七)——装饰器模式(Decorator )
设计模式(七)——装饰器模式(Decorator )原创 2022-10-23 19:10:36 · 549 阅读 · 0 评论 -
设计模式(六)——中介者模式(Mediator )
设计模式(六)——中介者模式(Mediator )原创 2022-10-22 21:19:35 · 128 阅读 · 0 评论 -
设计模式(五)——门面模式(Facade )
设计模式(五)——门面模式(Facade )原创 2022-10-22 21:12:29 · 356 阅读 · 0 评论 -
设计模式(四)——抽象工厂模式(Abstract Factory)
设计模式(四)——抽象工厂模式(Abstract Factory)原创 2022-10-22 21:04:36 · 618 阅读 · 0 评论 -
设计模式(三)——工厂模式(Factory)
设计模式(三)——工厂模式(Factory)原创 2022-10-22 17:42:49 · 249 阅读 · 0 评论 -
设计模式(二)——策略模式(Strategy)
设计模式(二)——策略模式(Strategy)原创 2022-10-20 22:34:29 · 460 阅读 · 0 评论 -
设计模式(一)——单例模式(Singleton)
设计模式(一)——单例模式(Singleton)原创 2022-10-20 22:29:44 · 339 阅读 · 0 评论 -
Springboot项目打包部署
Springboot项目打包部署原创 2022-07-26 21:54:38 · 438 阅读 · 0 评论 -
SpringBoot学习(八)——Swagger
Swagger原创 2022-07-26 21:43:16 · 204 阅读 · 0 评论 -
SpringBoot学习(七)——Springboot整合SpringSecurity
Springboot整合SpringSecurity原创 2022-07-19 17:09:06 · 1006 阅读 · 0 评论 -
SpringBoot学习(六)——springboot整合后台模板
SpringBoot学习(六)——springboot整合后台模板原创 2022-07-05 16:39:53 · 1132 阅读 · 0 评论 -
SpringBoot学习(五)——Thymeleaf
SpringBoot学习(五)——Thymeleaf原创 2022-07-03 22:23:24 · 146 阅读 · 0 评论 -
SpringBoot学习(四)——整合mybatis
springboot整合mybatis原创 2022-07-02 19:19:58 · 147 阅读 · 0 评论 -
SpringBoot学习(三)——yaml语法
SpringBoot学习(三)——yaml语法原创 2022-07-02 12:28:03 · 366 阅读 · 0 评论 -
SpringBoot学习(二)——属性注入
创建配置类JdbcConfig.java,使用@Value注解将属性注入,并进行Bean配置编写Controller进行测试,使用@Autowired注解注入dataSource。测试结果创建JdbcProperties.java配置类,添加get和set方法。使用set方法注入属性测试删除 JdbcProperties中的@ConfigurationProperties(prefix = “jdbc”)删除@EnableConfigurationPrope原创 2022-06-30 13:52:04 · 300 阅读 · 0 评论 -
SpringBoot学习(一)——第一个SpringBoot程序
Spring的配置繁琐,所以出现了SpringBoot,其目的是简化Spring的配置及开发原创 2022-06-28 10:30:17 · 277 阅读 · 0 评论 -
SpringMVC学习(八)——文件上传和下载
文件上传和下载文件上传web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://x原创 2022-05-01 14:49:51 · 305 阅读 · 0 评论