- 博客(85)
- 收藏
- 关注
原创 分布式认证中心实现方案:OAuth2.0 + Redis,refresh_token无感知刷新
分布式认证中心实现方案:OAuth2.0 + Redis,refresh_token无感知刷新
2024-03-05 23:48:18
1526
9
转载 分布式调度xxl-job
某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券某银行系统需要在信用卡到期还款日的前三天进行短信提醒某财务系统需要在每天凌晨0:10分结算前一天的财务数据,统计汇总以上场景就是任务调度所需要解决的问题任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程XXL-Job:是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展大众点评目前已接入XXL-JOB,该系统在内部已调度约100万次,表现优异。
2024-02-22 12:15:30
162
原创 Docker安装jenkins并实现自动化部署
这一步的目的是为了实现Jenkins容器和github实现SSH免密连接,为后续的。这一步的目的是为了连接github,并配置webhook-token。插件的作用是将Jenkins打包好的文件发送大宿主机的指定目录下。选择Github的hook(就是刚刚配置的webhook)在github中点击setting,添加SSH Key。私钥的作用是作为jenkins拉取远程仓库的凭证。创建jenkins挂载目录。将Jenkins容器中。
2024-01-26 13:56:21
1445
4
原创 Jenkins源码管理Git无法连接的问题排查
使用docker安装Jenkins,在源码管理中填写完。id_rsa(私钥)id_rsa(私钥)
2024-01-26 13:51:08
2387
2
原创 23种设计模式
"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)
2023-07-15 17:42:53
299
原创 JUC详解
在 Java 中,线程部分是一个重点,本篇文章说的 JUC 也是关于线程的。JUC 就是 工具包的简称。这是一个处理的工具包,JDK 1.5 开始出现的。进程(Process) 是指系统中运行的程序的实例。每个进程都是独立运行的,它们之间相互隔离,互不干扰。线程(Thread)是进程中的一个执行单元。一个进程可以包含多个线程,这些线程共享进程的资源。线程是CPU调度和执行的基本单位。 Java提供了类和接口来创建和管理线程,线程的状态可以通过Thread类的方法获取。在Java中,线程的状态包括以下几种
2023-07-15 17:27:48
245
原创 ThreadLocal详解
叫做线程局部变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。ThreadLoal变量,线程局部变量,同一个所包含的对象,在不同的 Thread 中有不同的副本。因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 ThreadLocal 命名的由来。
2023-07-06 23:57:32
210
原创 JVM内存模型概述
类加载器子系统负责从文件系统或者网络中加载Class文件,并将其转换为 Java 虚拟机可以处理的二进制字节流。类加载过程一共分为3个步骤,分别为加载链接初始化。**PC寄存器用来存储当前线程的字节码指令地址。由执行引擎读取下一条指令。**在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。Java虚拟机栈(Java Virtual Machine Stack)。**
2023-07-01 10:26:57
411
原创 Dubbo简介和配置
Dubbo一个高性能rpc框架,用于构建分布式微服务架构Dubbo具有高性能和低延迟的特点,适合于大规模的分布式系统。OpenFeign一个基于Java的声明式HTTP客户端框架可以与Spring Cloud等微服务框架无缝集成。
2023-06-15 11:22:50
4575
原创 基于确定有穷自动机(DFA算法)实现敏感词过滤
DFA(Deterministic Finite Automaton) 是一种非递归自动机,也称为确定有穷自动机。它是通过event和当前的state得到nextstate,即event+state=nextstate。确定:状态以及引起状态转换的事件都是可确定的。有穷:状态以及引起状态转换的事件的数量都是可穷举的。我们可以将每个文本片段作为状态,例如“匹配关键词”可拆分为“匹”、“匹配”、“匹配关”、“匹配关键”和“匹配关键词”五个文本片段。
2023-06-02 19:34:37
1467
原创 分布式ELK日志监控系统环境搭建
ELK是一个流行的日志管理和监控解决方案,它由三个主要组件组成:Elasticsearch、Logstash和Kibana。这三款组件都是elastic旗下的产品。欢迎来到 Elastic — Elasticsearch 和 Kibana 的开发者 | Elastic是一个分布式搜索和分析引擎,将日志数据存储在分布式索引中,支持快速搜索、聚合和分析。Elasticsearch还提供了高可用性和可扩展性,支持水平扩展和负载平衡。Logstash。
2023-03-23 14:33:55
2617
5
原创 MongoDB基础操作
MongoDB是一个开源, 高性能, 无模式的文档型数据库, 当初的设计就是用于简化开发和方便扩展, 是NoSQL数据库产品中的一种.是最像关系型数据库(MySQL)的非关系型数据库.它支持的数据结构非常松散, 是一种类似于 JSON 的 格式叫BSON, 所以它既可以存储比较复杂的数据类型, 又相当的灵活.
2023-02-27 15:37:01
1762
原创 搜索引擎——Elasticsearch
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,**它可以快速地储存、搜索和分析海量数据。**作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。Elasticsearch:官方分布式搜索和分析引擎 | Elastic**Mapping 是用来定义一个文档(document),以及它所包含的属性(field)是如何存储和索引的。**当添加数据时,他会自动处理属性类型。
2023-01-20 18:09:59
3907
原创 java8新特性——函数式编程
Lambda表达式是JDK8中一个语法糖,它可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现,让我们不用关注是什么对象,而是关注我们对数据进行了什么操作。Java8的Stream使用的是函数式编程模式,它可以被用来对集合或数组进行链状流式的操作,可以更方便的让我们对集合或数组操作。我们在编写代码的时候出现最多的就是空指针异常,所以在很多情况下我们需要做各种非空的判断。尤其是对象中的属性还是一个对象的情况下,这种判断会更多。= null) {}
2023-01-02 15:28:02
1305
原创 SpringCloud+SpringCloud Alibaba详解
单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个web容器就可以跑起来项目架构简单,前期开发成本低,周期短,小型项目的首选。每一个应用功能区都使用微服务完成,是相互独立的,之间通过轻量级的通信协议(Http)进行服务通信,这样的话,各个应用可以按实际业务需求,选择自己的技术栈和开发语言。Spring Cloud官网SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务注册发现、配置中心、消息总线、负载均衡,熔断器、数据监控等。微服务是可以独立
2022-12-26 17:34:51
2268
1
原创 超详细Docker部署SpringBoot+Vue项目(三更博客项目部署)
超详细Docker部署SpringBoot+Vue项目(三更博客项目部署)
2022-11-22 14:36:59
29103
72
原创 Jenkins持续集成、持续部署(CICD)-尚硅谷(含自己整理的前端、后端项目部署详细步骤)
Jenkins持续集成、持续部署(CICD)-尚硅谷(含自己整理的前端、后端项目部署详细步骤)
2022-10-31 19:24:28
12355
8
原创 Git详解
Git是一个免费的、开源的**分布式版本控制系统**,它可以在任何时间点, 将文档的状态作为更新记录保存起来,也可以在任何时间点, 将更新记录恢复回来。知识点: 版本控制:版本控制是一种记录文件内容变化,以便来查阅特定版本修订情况的系统。 版本控制其实最重要的是可以记录文件修改历史记录,从而能够让用户查看历史版本,方便版本切换。 为什么要使用版本控制:个人开发过渡到团队协作在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。
2022-10-31 19:15:23
388
原创 Python之身份证号码的校验
中华人民共和国居民身份证号码由17 位数字和1位校验码组成。其中,前6位为所在地编号,第7~14 位为出生年月日,第15~17位为登记流水号,其中第17位偶数为女性,奇数为男性。校验码的生成规则如下: 将前面的身份证号码17位数分别乘以不同的系数。第1~17位的系数分别为: 7,9,10,5,8 4,2,1,6,3,7,9,10,5,8,4,2,将这17 位数字和系数相乘的结果相加,用相加的结果与11求模,余数结果只可能是0,1,2,3,4,5,6,7,8,9,10这11个数字,它们分别对应的最后一位
2022-09-09 15:54:16
7140
原创 解决Module not found: Error: Can‘t resolve ‘sass-loader‘ in ‘******‘和node-sass和sass-loader版本不兼容问题
解决Module not found: Error: Can't resolve 'sass-loader' in '******'和node-sass和sass-loader版本不兼容问题
2022-07-22 16:35:05
7462
9
原创 Idea中Servlet、Filter的模板设置 Idea2021.1.3
Idea中Servlet、Filter的模板设置 Idea2021.1.3
2022-01-21 15:28:56
1512
2
原创 解决在iead中创建Web项目时New没有Servlet,Filter选项 IDEA 2021.1.3
解决在iead中创建Web项目时New没有Servlet,Filter选项 IDEA 2021.1.3
2022-01-21 15:12:24
1402
原创 高校学籍管理系统(SQL Server数据库课程设计)
摘要:高校的管理工作是一项复杂且系统化的工作。而随着当代社会积极响应国家“科教兴国”的战略。高校建设规模和招生人数每年均高不下,庞大的学生群体对高校的管理工作带来了巨大的挑战。而对学生的学籍管理工作更是高校管理工作的一个重要环节。面对高校学生学籍信息如此庞大的数据群,如采用传统的管理模式,管理工作的效率不仅低下,而且数据错误的发生率相对较高,还会产生人力和物力上的巨大开支。面对这样的情况,开发一个高校学籍管理系统就显得尤为重要。运用高校学籍管理系统可以大大提高高校管理工作效率、方便系统维护、减小开支、
2021-12-22 21:46:29
74230
88
原创 Java:判断一个集合中是否含有重复元素,并将无重复元素添加到一个新的集合中。
分析:将一个集合中无重复的元素添加到另一个新集合中,在添加之前,应该使用ArrayList的boolean contains(Object obj)方法判断新集合中是否含有与当前存入元素的相同元素,如果不含有则存入。public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("Tom"); list.add("Jake"); list.
2021-05-05 20:59:00
2309
原创 java的逻辑运算符 |、||、&、&&、!、^
java的逻辑运算符 ( |、||、&、&&、!、^)运算符 & (逻辑与)和 && (短路与):共同点:运算符的两边都是true(false)时,结果为true(false);若一个为true,另一个为false,结果为true。不同点:& 表示在运算时两边同时计算,然后再判断;&&表示先运算符号左边的东西,然后判断是否为true,是true就继续运算右边的然后判断并输出,是false就停下来直接输出不会再运行后面的东西。
2021-01-05 17:52:43
988
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人