- 博客(19)
- 收藏
- 关注
原创 手撕设计模式——克隆对象之原型模式
原型模式(Prototype)从一个对象创建一个可定制的对象,而不需要知道任何创建细节。 原型模式包含以下主要角色。抽象原型类(Prototype):规定了具体原型对象必须实现的接口。具体原型类(ConcretePrototype):实现抽象原型类的 clone() 方法,它是可被复制的对象。访问类(Acess):使用具体原型类中的 clone() 方法来复制新的对象。
2024-06-07 11:06:12
931
原创 手撕设计模式——工厂三兄弟之抽象工厂
抽象工厂模式(Abstract Factory Pattern)是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。它是工厂方法模式**的一个升级,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。主要角色和工厂方法模式基本上是一样的,但抽象工厂中方法个数是多个,抽象产品的个数也是多个。抽象工厂。
2024-05-31 14:59:52
1228
2
原创 手撕设计模式——工厂三兄弟之工厂方法
工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。工厂方法使一个类的实例化延迟到其子类。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。工厂方法模式”是对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。抽象工厂(AbstractFactory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 CreateProduct() 来创建产品。
2024-05-29 10:45:10
755
原创 手撕设计模式——工厂三兄弟之简单工厂
工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。按实际业务场景划分,工厂模式有 3 种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。
2024-05-28 11:20:00
1159
原创 设计模式基础——设计原则介绍
对于面向对象软件系统的设计而言,如何同时提高一个软件系统的可维护性、可复用性、可拓展性是面向对象设计需要解决的核心问题之一。面向对象设计原则应运而生,这些原则你会在设计模式中找到它们的影子,也是设计模式的基础。往往判断一个设计模式使用的好与不好,就看它是否遵循或违反了哪些设计原则。
2024-05-27 16:56:12
533
原创 设计模式——概述
无论你使用哪种编程语言,做什么类型的项目,甚至你处于一个国际化的开发团队,当面对同一个设计模式时,你和别人的理解并无二异,因为设计模式是跨语言、跨平台、跨应用、跨国界的。设计模式来源众多专家的经验和智慧,它们是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将可以让我们避免做一些重复性的工作设计模式无疑会为有助于我们提高开发和设计效率。根据它们的用途,设计模式可分为。值得一提的是,有一个设计模式虽然不属于 23种设计模式,但一般在介绍设计模式时都会对它进行说明,它就是。
2024-05-24 15:58:28
651
原创 浅谈一起线上事故
查看xxljob任务调度,发现每个跑批任务的执行时间都很长,并且超过缓存结果数据的失效时间,导致缓存数据失效,所有的请求都走接口调用。因为在测试的时候没考虑到这么大数据量,实时iot接口调用链路长,且一次请求数据量较大,导致服务器资源一直被占满,定时任务抢占不到资源,又不断有新的请求进来,不断恶行循环,服务器最终拉崩,造成生产事故。应用开发以及测试正常进行,上线那天晚上,应用服务一上线,服务器cpu全部拉满,不出一个小时,服务实例节点全都挂掉了,发生了生产事故。,大家如果觉得有所收获,帮忙点个赞~...
2022-07-16 19:03:13
719
原创 Java基础之对象的浅拷贝与深拷贝
是不是做拷贝时候Address拷贝的是对象的引用,而不是拷贝对象?深拷贝后的对象与原来的对象是俩个对象,互不影响,对一个对象的修改并不会影响另一个对象。Person的clone方法,重新拷贝Address对象,结果是改变source对象中的Address属性值,target对象不受影响。是会将对象的每个属性进行依次复制,但是当对象的属性值是引用类型时,实质复制的是其引用,当引用指向的值改变时也会跟着变化。如果业务中有拷贝对象后,修改原对象值,拷贝对象想不受影响,那么你要考虑一下是否需要深拷贝了。......
2022-07-16 18:46:04
450
原创 多图片合成PDF
多图片合成PDF最近博主所在的公司有一个这样的业务,需要前端截多张图片,将多张图片生成pdf文件。废话不多说 放上核心代码,拿走不谢~package com.enn.common.utils;import com.itextpdf.text.Document;import com.itextpdf.text.Image;import com.itextpdf.text.Rectangle;import com.itextpdf.text.pdf.PdfWriter;import lombo
2021-07-21 18:04:57
274
原创 linux搭建代理服务器
最近在做某个项目时,由于机房环境是内网环境,但是有些服务(短信发送、email发送)需要访问外网交互,所以需要搭建代理服务器。该服务器可以访问外网,所有的内网服务通过该代理服务器访问外网。简易示意图如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210223160427601.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmN
2021-02-23 16:11:16
8174
3
原创 Java8新特性代码示例浅聊
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。博主最近才有空研究了一下Java8的一些新特性,简单地写了一些测试用例,感觉开始有那味了,受益颇深,将示例代码贴出,以供大家学习交流。测试用例代码:import java.util.*;import java.util.stream.Coll
2020-06-30 14:06:15
307
原创 java后台生成echarts图表
java后台生成echarts图表最近博主在做一个项目,需要后台出图和前端echarts一样的图,比如折线图和柱状图。经过一番整理,顺利实现了该功能,特此分享,需要白嫖的,拿走不谢。 直接上效果图,柱状图:折线图:下面是java源码:package com.spd.tool;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWri
2020-06-08 11:08:20
10466
21
原创 windows系统下搭建cloudreve网盘系统
最近博主想搭建属于自己的网盘系统,去github上看了一些开源项目,比较对cloudreve感兴趣,但是github的搭建步骤不全以及网上没有完整的搭建博文,于是,博主想自己搭建cloudreve网盘并记录步骤以供大家参考。链接: cloudreve官网(https://cloudreve.org/)...
2019-11-06 14:54:51
16018
9
原创 利用java定时爬取网页数据
最近博主在做一个气象项目,需要实时爬取水文网的水文数据。博主会的是java,可是上网一搜,爬虫的博客基本上都是用的pathon。至此,博主下定决心写一篇用java爬虫的博客,希望能帮到大家,喜欢的朋友可以点个赞哦。首先你需要找到请求的网址路径,以及要分析你所需要的网页数据。请求网址: 需要爬取的数据: 分...
2018-08-24 15:03:40
20606
61
原创 在jsp页面添加富文本编辑器kindeditor
近来,博主有一个个人网站想要更新(网站主要是实时资讯类的)。因为之前网站做的很早,停了一段,而且都没有时间,最近挺闲的,静下心来弄弄这个东西。因为是资讯网站,每次在发资讯的时候,文字的样式以及图片都无法进行固定化,而且都不美观,后来想起富文本编辑器来着,所以接下来为大家带来kindeditor这一款富文本编辑器的使用。简介 点这里:kindeditor的官网地址 按照如下步骤: ...
2018-07-02 11:42:17
6561
5
原创 利用原生js制作简易计算器
最近,博主闲来无聊,就没事用js写了个简易计算器(博主是搞后端的,不是前端>_<)。其实,感觉搞前端的很幸福,自己弄出点东西很有成就感,话不多说,地下附上源码。<!DOCTYPE html><html> <head&
2018-06-27 10:15:44
794
原创 怎样利用Navicat工具备份mysql数据库的每日数据
怎样利用Navicat工具备份mysql数据库的每日数据作为一个开发者而言,有时候不小心删了测试库或者想找回之前的数据,可是却发现,之前的数据已经被无意或者有意地删除了,这个就让人陷入了一个特别尴尬的境地了。所以,今天博主就给大家带来每日定时备份数据库数据到本地,这样就完美解决了数据库数据丢失的问题了,大家看完之后有什么不好的地方可以私下交流。首先,话不多说我们直接上图。...
2018-06-06 17:50:35
3684
2
原创 关于Windows系统下安装Zookeeper以及Zookeeper启动报错问题
如今,Dubbo框架盛行,Zookeeper作为常用的注册中心,怎样用好就很关键了。项目用的zookeeper集群,而本地测试代码时,就必须要安装单机版的zookeeper。下面博主就给大家带来史上最全的zookeeper的安装步骤以及启动出现的问题详解。 安装步骤: 从网上找到zookeeper的压缩包,下载压缩包。下载网址:http://mirror.bit.ed
2017-11-27 16:18:50
12679
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人