- 博客(78)
- 资源 (3)
- 收藏
- 关注
原创 Confluence 文档协作平台安装部署笔记
文章目录一、下载并安装1、下载地址2、赋予运行权限3、执行安装二、初始化配置Confluence1、访问 Confluence 页面2、使用注册机激活 Confluence3、配置数据库(使用MySQL)4、创建站点5、配置用户管理Confluence 是一个专业的企业知识管理与协同软件,也可以用于构建企业 wiki 。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。一、下载并安装1、下载地址https://www.atlassian.com/sof
2022-05-17 10:46:09
1730
原创 SpringBoot自定义Starter并使用配置参数
Spring Boot 在配置上相比 Spring 要简单许多,其核心就在于 Spring Boot Starter。Spring Boot Starter 可以将模块所需的依赖根据环境自动配置。使用者只需要依赖相应功能的 Starter ,无需过多的配置和依赖,Spring Boot 就能自动扫描并加载相应的模块。
2022-04-26 15:35:42
3030
原创 JAVA常见面试题总结(九)Spring 和 SpringMVC
文章目录1、Spring 是什么?为什么使用 Spring ?2、Spring bean 的生命周期。3、什么是 AOP ?4、什么是 IoC ?5、什么是循环依赖?6、怎么解决循环依赖?7、Spring 种为什么要使用三级缓存来解决循环依赖问题?二级缓存能解决循环依赖的问题吗?8、BeanFactory 和 FactoryBean 有什么区别?1、Spring 是什么?为什么使用 Spring ?Spring 是什么?Spring 是一个轻量级的简化企业应用开发的控制反转(IoC)和面向切面(AOP
2021-07-29 09:25:57
367
原创 SpringBoot使用WebSocket实现简单的网页一对一聊天功能
温故而知新,可以为师矣。 ——孔子SpringBoot使用WebSocket实现简单的网页一对一聊天功能。WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
2021-07-12 16:11:51
3180
2
原创 Java使用Freemarker模板实现PDF导出下载
文章目录一、引入依赖二、新建模板三、PDF生成的工具类四、编写测试接口,下载PDF五、最终效果为之则易,不为则难。一、引入依赖<!-- 读取HTML模板文件 --><dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30</version>&l
2020-11-14 15:17:40
1349
2
原创 设计模式学习笔记:中介者模式(Mediator)
文章目录一、中介者模式介绍二、实现1、需求场景2、设计3、代码实现4、测试结果保持乐观的心态很重要。一、中介者模式介绍中介者模式是设计模式中行为型模式的一种。这种模式提供了一个中介类,该类处理不同类之间的通信,降低类与类之间的耦合度,使代码易于维护。二、实现1、需求场景设计一个聊天系统,用户之间可以相互聊天。2、设计3、代码实现User(用户类):/** * 用户类 * * @author ZhengNC * @date 2020/10/14 17:39 */publi
2020-11-10 11:25:35
340
1
原创 设计模式学习笔记:适配器模式(Adapter)
文章目录一、适配器模式介绍二、适配器模式示例场景代码示例测试适配器模式不要事事都等着被动接受,主动出击才能更快的成长。一、适配器模式介绍适配器模式是设计模式中结构型模式的一种。它将一个类的接口转换为期望的另外一个接口,适配器模式可以将原本由于接口不匹配而不能一起工作的那些类可以一起工作。适配器模式有很多优点,例如:可以使两个没有的关联的类一起运行、提高类的复用型、增加类的透明度、灵活性好等。但是要注意的是适配器模式只是一个解决现有系统问题的设计模式,不应该用于早期的系统设计之中。在系统中过多的使
2020-10-13 18:44:29
400
原创 设计模式学习笔记:访问者模式(Visitor)
文章目录一、访问者模式介绍二、实现1、需求2、设计3、代码实现4、测试访问者模式积极面对生活,善意的对待人和事物,回报将超乎你的想象。一、访问者模式介绍访问者模式是设计模式中行为型模式的一种。在访问者模式中,我们使用访问者类来改变元素类的执行算法。通过这种方式我们可以通过使用不同的访问者在不改变元素类的情况下改变其执行的算法。其主要使用场景如下:对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作。需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让
2020-10-13 15:46:09
294
原创 Linux下MongoDB安装笔记(下载安装包方式)
文章目录一、安装依赖二、下载安装包三、解压到合适的目录四、创建目录和文件五、编辑配置文件六、创建执行文件的链接七、运行MongoDB八、验证MongoDB已成功启动九、使用MongoDB一、安装依赖注:笔记记录为 CentOS 7 环境下的安装方式。yum install libcurl openssl xz-libs二、下载安装包官网下载地址:https://www.mongodb.com/try/download/community?tck=docs_server选择合适的版本下载:wg
2020-10-10 15:07:48
797
6
原创 使用RabbitMQ的延时消息插件实现消息的延时消费功能
在日常的开发中我们常常会遇到需要在一个事情完成之后的一段时间后做另一件事情(例如:下单成功后半小时未付款取消订单、用户注册成功五分钟后提醒用户绑定邮箱等),这种业务场景的特点是开始时间不确定,因此传统的定时任务不适合处理此类业务。
2020-09-30 10:47:07
473
原创 设计模式学习笔记:状态模式(State)
文章目录一、状态模式简介二、举例说明三、代码实现1、不使用状态模式的实现方法2、使用状态模式的实现方法3、测试状态模式四、与策略模式的区别学而不思则罔,思而不学则殆。 ——孔子一、状态模式简介状态模式是设计模式中行为型模式的一种。一个对象在它的状态改变时,它的行为也随之改变,看起来好像改变了其类。二、举例说明假如电话有三种状态:通话中、待机中、已关机。四种行为:打电话、挂电话、开机、关机。那么在不同的状态下这四种行为的表现方式肯定不同。例如关机状态下不能打电话,而待机状态下就可以打电话。
2020-09-22 17:48:01
525
原创 设计模式学习笔记:备忘录模式(Memento)
文章目录一、备忘录模式简介二、适应场景三、示例演示四、测试示例拥有乐观的心态很重要,它能让工作和生活更加美好。一、备忘录模式简介备忘录模式是设计模式中行为型模式的一种。备忘录模式用于保存对象的状态,以便于在合适的时候恢复对象。备忘录模式使用三个角色:Memento(备忘)、Originator(发起者)、Caretaker(备忘管理者)。二、适应场景需要保存/恢复数据的相关场景。提供一个可回滚的操作。例如:游戏存档、windows 系统的 ctrl + z 、数据库的事务等。三、示
2020-09-22 14:43:19
228
原创 JAVA常见面试题总结(十一)RabbitMQ
文章目录1、RabbitMQ 的使用场景2、RabbitMQ 有哪些重要的角色?3、 RabbitMQ 有哪些重要的组件?4、RabbitMQ 中的 vhost 的作用是什么?5、怎么保证消息消费的幂等性?6、RabbitMQ 怎样避免消息丢失?7、怎么才能保证消息成功持久化(持久化成功的条件)?8、说一说消息持久化的缺点。9、怎么处理消息积压问题?10、RabbitMQ 有几种广播类型?11、RabbitMQ 怎么实现延迟消息队列?12、RabbitMQ 集群有什么用?13、RabbitMQ 节点类型有哪
2020-09-22 09:19:32
301
原创 RabbitMQ的死信队列实现消息的延时消费
在日常的开发中我们常常会遇到需要在一个事情完成之后的一段时间后做另一件事情(例如:下单成功后半小时未付款取消订单、用户注册成功五分钟后提醒用户绑定邮箱等),这种业务场景的特点是开始时间不确定,因此传统的定时任务不适合处理此类业务。
2020-09-21 15:46:37
1003
1
原创 docker 安装 RabbitMQ 详细笔记
文章目录一、拉取 RabbitMQ 镜像二、准备映射的数据卷三、创建 RabbitMQ 容器四、配置防火墙五、访问 RabbitMQ 的 web 管理页面一、拉取 RabbitMQ 镜像# 拉取 management 版本的镜像,带 web 管理界面[root@localhost ~]# docker pull rabbitmq:management二、准备映射的数据卷首先列出 RabbitMQ 需要映射的目录:配置文件目录:/etc/rabbitmq数据存储目录:/var/lib/rab
2020-09-13 15:40:18
365
1
原创 设计模式学习笔记:迭代器模式(Iterator)
文章目录一、迭代器模式介绍二、迭代器模式的优点三、示例四、代码实现五、代码执行结果虚心使人进步,骄傲使人落后。一、迭代器模式介绍迭代器模式属于设计模式中行为型模式的一种。迭代器模式提供了一种方法用于访问聚合对象中的各个元素,而又不暴露该对象的内部表示。二、迭代器模式的优点使用迭代器模式可以使得聚合对象中元素的聚合方式改变时,访问者不用修改访问的方式。例如:聚合对象中元素的聚合方式由数组改为链表,如果不使用迭代器模式,那么访问者遍历聚合对象中元素的代码就要修改,如果使用迭代器模式,只需要修改对
2020-09-10 22:30:56
852
原创 设计模式学习笔记:享元模式(Flyweight)
文章目录一、享元模式介绍二、使用场景三、实例讲解四、代码示例五、输出结果一直以为人是慢慢长大的,其实不是,人是在一瞬间长大的。一、享元模式介绍享元模式是设计模式中结构型模式的一种。主要用于减少创建对象的数量,以减少内存占用和提高性能。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。二、使用场景系统中有大量相似对象日志对象工厂,获取日志对象时并不会每次创建日志对象,而是通过日志工厂获取,日志工程获取日志对象时会先从缓冲池里取日志对象,取不到才会新建日志对象返回。
2020-09-08 18:35:38
221
原创 CentOS 7 安装 gitlab 笔记(在线安装方式)
文章目录一、安装和配置必要的依赖项1、安装必要服务,打开防护墙的 ssh、http、https 的端口2、安装邮件服务,如果使用其它邮件服务器可跳过此步骤二、添加 gitlab 存储库并安装1、添加 gitlab 存储库2、安装 gitlab三、访问 gitlab 并重置密码一、安装和配置必要的依赖项1、安装必要服务,打开防护墙的 ssh、http、https 的端口[root@localhost ~]# yum install -y curl policycoreutils-python opens
2020-09-04 18:04:30
317
原创 设计模式学习笔记:组合模式(Composite)
文章目录一、组合模式简介二、组合模式的作用三、组合模式的应用四、示例演示组合模式结构图代码示例测试代码努力才会收获成功,不努力只能永远羡慕别人。一、组合模式简介组合模式是设计模式中结构型模式的一种。它表示了一种将相似对象组合成树状结构的“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。二、组合模式的作用组合模式的目的是:让客户端不再区分操作的是组合对象还是叶子对象,而是以一个统一的方式来操作。实现这个目标的关键之处,是设计一个抽象的组件类,让它可以代表组合对象和叶
2020-09-02 22:11:17
489
原创 设计模式学习笔记:桥接模式(Bridge)
文章目录一、桥接模式简介二、适用场景举例三、桥接模式的解决方案四、代码演示桥接模式五、测试桥接模式代码少壮不努力,老大徒伤悲。一、桥接模式简介桥接模式是设计模式中结构型模式的一种。桥接的作用是把抽象化和实例化解耦,使二者可以独立变化。桥接模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。使得实体类和实现类可以被结构化的改变而不互相影响。桥接模式最适合用来解决由多种变化维度导致的继承类爆炸式增长的问题。二、适用场景举例场景如下:家具有很多种,例如桌子、椅子等,每种家具根据不同的
2020-09-01 10:41:58
347
原创 面试时问到年代久远的项目忘了咋办?给自己的项目来一次复盘,记起那些遗忘的宝藏。笔记:安全网关项目复盘
项目复盘应该是一个人应该具备的基本能力,它可以提升我们的个人能力,明确自己的价值和工作的成果,可以强化我们的优点,弥补我们的缺点。所以定期对自己做过的项目进行复盘是很有必要的。
2020-08-21 18:07:03
1709
原创 ELK日志系统搭建完整详细步骤
文章目录一、ELK 是什么?二、安装部署 Elasticsearch1、下载2、解压到指定目录3、修改配置文件4、新建用户并赋权5、切换至新建的用户并启动 Elasticsearch错误处理6、验证三、安装部署 Kibana1、下载2、解压并移动到指定目录3、修改配置文件4、授权并切换用户5、启动 Kibana6、在浏览器中访问 Kibana四、安装部署 Logstash1、下载安装包2、解压并移动到指定目录3、新建配置文件4、安装插件5、启动 Logstash五、配置项目查看结果1、引入依赖2、在reso
2020-08-20 15:00:09
20072
7
原创 Kibana安装笔记
文章目录前言一、下载二、解压并移动到指定目录三、修改配置文件四、授权并切换用户五、启动 Kibana六、在浏览器中访问 Kibana前言本文介绍的是 Kibana 的下载安装,推荐阅读本文前阅读以下文章:Elasticsearch 单机部署笔记Kibana 是一个针对 Elasticsearch 的开源分析及可视化平台,用来搜索、查看交互存储在 Elasticsearch 索引中的数据。使用 Kibana,可以通过各种图表进行高级数据分析及展示。Kibana 让海量数据更容易理解。它操作简单,基于浏
2020-08-20 14:21:11
254
原创 设计模式学习笔记:模板方法模式(Template Method)
为之则易,不为则难。一、模板方法模式简介模板方法模式是设计模式中行为模式的一种。它提供了一种调用类中的方法的方式/模板。定义一个抽象类,类中定义一个模板方法,此方法以一定的方式调用类中的其它方法(一般为抽象方法,由子类实现)。子类按需提供方法的实现方式,而调用方式由模板方法决定。
2020-08-18 22:08:44
395
原创 设计模式学习笔记:策略模式(Strategy)
文章目录一、策略模式介绍二、代码示例1、需求场景2、实现2.1 不使用策略模式的实现方式2.2 使用策略模式的实现方式2.3 测试总之岁月漫长,然而值得等待。 ——春上春树一、策略模式介绍策略模式是设计模式中行为模式的一种。它提供了在运行中改变一个类的行为的方法。如下图,用户选择合适的策略去创建策略的使用者:二、代码示例1、需求场景现在有一个需求:用户在支付的时候可以选择不同的支付方式,要求后续可以方便的增加新的支付方式。2、实现2.1 不使用策略模式
2020-08-14 11:35:49
395
原创 生产调试工具:Arthas 使用笔记
Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,提供 Tab 自动补全,可以方便的定位和诊断线上程序运行问题。
2020-08-13 11:02:41
1128
原创 Java 位运算笔记
文章目录前言一、Java 位运算:与(&)二、Java 位运算:或(|)三、Java 位运算:非(~)四、Java 位运算:异或(^)前言位运算符主要针对二进制位进行运算,由于计算机的数据都是以二进制存储的,所以位运算的效率极高。位运算主要包括了:“与”,“或”,“非”,“异或”。一、Java 位运算:与(&)在 Java 中与运算用符号“&”表示,其运算规则描述如下:两个操作数对应位置的位都为1,结果才为1,否者结果为0代码演示如下:public class Bit
2020-08-13 10:51:02
146
原创 JAVA常见面试题总结(十)MyBatis
文章目录1、MyBatis 中 #{} 和 ${} 的区别是什么?2、MyBatis 有几种分页方式?3、MyBatis 逻辑分页和物理分页的区别是什么?4、MyBatis 是否支持延迟加载?延迟加载的原理是什么?5、说一下 MyBaits 的一级缓存和二级缓存。6、MyBatis 和 Hibernate 的区别有哪些?7、MyBatis 有哪些执行器(Executor)?8、MyBatis 分页插件的原理是什么?9、MyBatis 如何编写一个自定义插件?1、MyBatis 中 #{} 和 ${} 的区
2020-08-12 19:01:11
381
原创 Linux 安装 MySQL (下载安装包离线安装方式)
文章目录一、下载安装包二、解压并重命名文件夹三、创建 mysql 用户和组并分配权限四、创建data目录并初始化数据库五、创建软链接并启动 MySQL六、连接 MySQL 并重置密码一、下载安装包下载地址:https://downloads.mysql.com/archives/community/选择合适的版本下载。(本文使用:mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz)[root@localhost ~]# lltotal 644556-rw----
2020-08-04 18:44:49
827
原创 面试必问的设计模式该如何回答 - 面试总结之设计模式专篇
你是否在面试中被问过设计模式?而回答的时候只能回答单例模式、工厂模代理模式等少数几个,而且还不清楚实现的原理和应用场景,本篇文章就将为你带来常见的设计模式面试题及其答案。
2020-07-30 14:26:19
3798
原创 设计模式学习笔记:外观模式(Facade)
外观模式是设计模式中结构型模式的一种。它隐藏了系统内部复杂的实现,向客户端提供一个可以访问系统的接口。这种设计模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
2020-07-30 11:37:49
343
FastDFS安装包.zip
2020-07-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人