自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 MaxKey 单点登录认证系统——登录验证流程分析

客户端依赖包</</</</

2024-02-04 11:15:57 1488 2

原创 MaxKey 单点登录认证系统——前端后端合并步骤

开发指南 | MaxKey单点登录认证系统该项目前端是Angular项目,后端是springboot项目以maxkey-web-app前后端合并为例构建MaxKey统一认证前端maxkey-web-frontend/maxkey-web-appng build --prod --base-href /sign/static/以上sign由以下得来:根据angular.json生成dist文件复制 dist下所有文件到 springboot目录的 resour

2024-02-04 11:14:19 1183

原创 使用 netty实现一个简单的聊天室

具体原理:登录之后服务端把channel和用户名绑定放到集合中,之后聊天等请求都根据用户名发送到对应的chaael以下仅展示部分源码,详情请下载以上文件。

2024-02-01 22:43:59 372

原创 Java 中常见 IO 模型

典型 Java 服务端处理网络请求的 IO 过程:应用程序再用户态,不能直接访问内核空间,若想进行如文件管理、进程通信、内存管理、外界客户端通信等 IO 操作时,需要发起 I/O 调用,由操作系统的内核代为完成操作系统通过网卡,读取客户端的请求数据到内核缓冲区。内核再将数据从内核缓冲区拷贝到 Java 进程缓冲区。Java 进程处理完请求数据后把构建好的响应从用户缓冲区写入内核缓冲区。内核再通过网络 I/O ,将内核缓冲区中的数据,写入网卡,网卡通过底层的通讯协议,将响应数据发送给目标客户端。

2024-01-27 13:09:27 406

原创 前端input输入框,@input事件输入中文触发两次——解决方案

这样就可以避免在输入中文时input事件被连续触发两次的问题。这个问题可能是因为在使用中文输入法输入时,当你还在输入过程中(还未选择和确定最终的汉字词组)就会触发input事件,也就是说在你输入拼音的过程中就已经触发了input事件,等你选择了正确的汉字之后,又会再次触发input事件。这样就会造成在中文输入过程中,input事件触发两次的现象。这样一来,我们就能确保在拼音输入过程中,input事件只在输入完成后被触发一次。这两个事件来限制input事件的触发。比较有效的解决办法是使用。

2024-01-25 09:47:55 1315

原创 SQL性能分析手段

获取 MySQL 如何执行 SELECT 语句的信息,如:数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、哪些索引实际会命中、每个数据表有多少行记录被查询等信息。支持 SELECT、DELETE、INSERT、REPLACE 以及 UPDATE 语句。命令可以提供整个服务器执行sql的状态信息。通过如下指令,可以查看当前数据库的。MySQL的慢查询日志默认没有开启,我们可以查看一下系统变量。,单位:秒,默认10秒)的所有SQL语句的日志。慢查询日志记录了所有执行时间超过指定参数(

2024-01-17 09:57:43 1766

原创 Jetty 部署项目

文件夹,因为使用的是 c3p0数据库连接池,连接的是 Orcale数据库,故放入以下两个 jar包。里面新增如下配置,此处以 Oracle数据库为例。项目打包后直接放到webapps目录下即可。注意 jeerdp_DS替换为自己项目的。在根目录运行cmd,并输入。

2024-01-17 09:53:55 390

原创 MaxKey 单点登录认证系统——集成CAS应用

记录一次认证系统集成CASSpringboot应用

2024-01-09 15:14:00 1050

原创 MaxKey 单点登录认证系统——开发环境部署

MaxKey 单点登录认证系统的开发环境部署

2024-01-09 15:04:04 1100

原创 Cloud-Platform 学习——Part6 WebClient异步非阻塞请求工具

多年来,框架的 RestTemplate 一直是客户端 HTTP 访问的首选解决方案,它提供同步、阻塞 API 来以简单的方式处理 HTTP 请求。然而,随着对非阻塞、反应式编程以更少的资源处理并发的需求不断增加,特别是在微服务架构中,RestTemplate 已经显示出其局限性。从 Spring Framework 5 开始,RestTemplate 已被标记为已弃用,Spring 团队推荐 WebClient 作为其继任者。

2023-12-29 00:05:28 875

原创 Cloud-Platform 学习——Part5 日志保存系统

启动日志记录线程,项目一启动就开始运行。

2023-12-28 23:36:50 399 1

原创 Cloud-Platform 学习——Part4 查看在线用户、强制退出用户

zset 不允许重复的成员。zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。一种是以key-value字符串形式存入redis,一种是以有序集合zset形式存入redis;校验token,并解析token获取用户信息,并把用户信息存入redis中,分别存入两种形式;前一种便于查看当前用户是否已登录,后一种便于管理人员查看当前在线用户并执行相关操作。

2023-12-28 22:42:35 379 1

原创 总结心得:各设计模式使用场景

访问者模式:一个对象集合有多个元素,需要从多个不同且不相干角度挨个访问这些对象,如:人物对象集合[学生、老师]​​,家长角度访问学生的成绩​​和老师的能力​​,校长角度访问学生人数​​和老师任课科目​​。模板方法模式:多个类的步骤存在相同的一些步骤,把这些步骤提取成抽象类,抽象类再提供抽象方法供子类来具体实现,调用抽象类的方法,实际调用的事子类重写的方法。状态模式:某个对象在不同状态会有不同行为,如电梯的运行状态,ATM机的各种状态、订单状态、角色的不同状态(如跑动,跳跃,攻击等)

2023-12-28 21:59:44 659 1

原创 设计模式——行为型模式

在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。

2023-12-28 21:54:21 1050 2

原创 android studio调试一直卡在启动页转圈加载,进不去首页

在低android版本的手机能正常进入,高android版本的手机就一直卡在启动页转圈,大概率是由于sdk版本问题。可以把上述几个版本换成更高版本试试看。

2023-12-28 14:38:06 1216 1

原创 设计模式——结构型模式

代理模式使用代理对象来代替对真实对象的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度代理模式有静态代理和动态代理指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系:我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。

2023-12-27 00:48:04 814 1

原创 Automa 实现自动新标签页打开所选元素所有网站

获取需要获取的超链接,然后提取出超链接文本列表。以上去除循环数据,并插入loop中。此模块会设置当前页面为活动标签页。中,接着执行下一个模块。

2023-12-26 21:24:09 751 1

原创 设计模式——创建者模式

用一个已经创建的实例作为原型,通过Cloneable接口的clone()方法复制该原型对象来创建一个和原型对象相同的新对象。原型模式的克隆分为浅克隆和深克隆。浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性(引用类型),仍指向原有属性所指向的对象的内存地址。深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。Java中的Object类中提供了clone()方法来实现浅克隆。

2023-12-24 00:12:30 801

原创 软件设计原则

下面以搜狗输入法的皮肤为例介绍开闭原则的应用。

2023-12-24 00:02:01 974

原创 Cloud-Platform 学习——Part3 gateway 网关与 JWT 鉴权

前端发送请求时有一个全局拦截器,拦截所有请求并配置 Authorization 头部信息,配置token,一共给后台鉴权。

2023-12-11 22:57:33 421 1

原创 Cloud-Platform 学习——Part02 登录流程分析

BaseZiz类注入 Mapper对象,并通过 Mapper对象调用方法,进而可以在方法调用前后添加一些额外的操作。

2023-12-07 23:10:47 353 1

原创 Cloud-Platform 学习——Part01 项目介绍与运行

Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。

2023-11-28 22:00:11 1055 1

转载 Spring Cloud Sleuth 整合 Zipkin 进行服务链路追踪

在一个微服务系统架构中,一个完整的请求可能涉及到多个微服务的调用,这个调用形成一个链路。比如,下单的请求,需要经过网关去调用业务服务,业务服务去调用订单服务,而订单服务同步调用商品服务和用户服务,用户服务又去调用积分服务:业务要求整个下单的请求要在 1s 内完成,测试发现请求下单接口耗时超过 2s ,这时我们就需要去定位发现是调用链路上的哪个环节耗时异常,进而去解决问题。就有这样一个组件专门做链路追踪,那就是这里提到的另一个组件 Zipkin 是一个能够收集所有服务监控数据的跟踪系统。

2023-11-25 18:08:03 53

原创 Sentinel 分布式流量防卫兵——简单入门

在冷启动规定的预热时间时间内,此时的触发的阈值只有原来阈值的三分之一,当冷启动的时间过去后,才会恢复原来的阈值,有一个预热过程。当请求响应的时间,超过了设置的RT 平均响应时间 时,就会被认为是慢调用,满足规则时则会熔断降级方法。当前的请求,只有一个线程进行处理所有的请求,如果超出一个线程所执行的工作量,就会抛出限流异常。并且,所有的数据都是基于内存加载的,当服务器重启后,所有的流控规则和熔断规则,需要重新设置。最大的响应时间,超过则为慢调用,只有慢调用比例才会使用该值进行设置。每秒钟的请求响应的数量。

2023-11-24 23:07:29 809 1

原创 Nacos 注册中心&配置中心——简单入门

Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。

2023-11-24 22:44:29 912 1

原创 API 网关 —— Gateway简单认识

Slf4j@Overridelog.info("过滤器执行了...");//最简单的权限拦截操作return errorInfo(exchange,1,"Token校验失败...");//放行操作,访问后续的过滤器或访问请求转发到网关操作/*** 过滤器的优先级* 数字越小,优先级越高* @return*/@Overridereturn 0;//封装返回值结果集try {//结果集转换为字节数组//获取 response 对象});

2023-11-23 23:03:48 478

原创 Feign 声明式服务调用工具

Feign是Netflix公司开发的一个声明式的REST调用客户端;Ribbon负载均衡、Hystrix服务熔断是Spring Cloud中微服务开发非常基础的组件,一般都是同时出的,而且配置也都非常相似,每次开发都有很多相同的代码,因此Spring Cloud基于Netflix Feign整合Ribbon和Hystrix两个组件,对其进行简化,让开发工作变得更加简单。

2023-11-23 22:11:31 725

原创 Hystrix 服务熔断器介绍与简单实用

服务之间相互调用,当某个服务的响应太慢或者故障,会造成调用者延迟,线程被挂起,从而引发调用者也无法响应,调用者也发生故障,当大量请求到达,则会造成请求的堆积,为了解决此问题,微服务架构中引入了一种叫熔断器的服务保护机制微服务架构中的熔断器,就是当被调用方没有响应,调用方直接返回一个错误响应即可,而不是长时间的等待,这样避免调用时因为等待而线程一直得不到释放,避免故障在分布式系统间蔓延**;**Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能**。**启动类加上

2023-11-23 20:55:27 949

原创 Ribbon 工具 —— RestTemplate 负载均衡调用服务

Eureka 用来搭建服务注册中心,主要包括服务注册和服务发现,服务的发现由eureka客户端实现,而服务的消费由Ribbon实现,也就是说服务的调用需要eureka客户端和Ribbon两者配合起来才能实现;

2023-11-23 00:04:13 103

原创 Eureka 注册中心的简单使用

Eureka 使用涉及三个部分,分别是注册中心,服务提供者,服务消费者。

2023-11-22 23:30:17 36

使用 netty实现一个简单的聊天室

使用 netty实现一个简单的聊天室

2024-02-01

Automa 实现自动新标签页打开所选元素所有网站

Automa 实现自动新标签页打开所选元素所有网站

2023-12-26

空空如也

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

TA关注的人

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