自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(329)
  • 资源 (22)
  • 收藏
  • 关注

原创 LeetCode-25. 合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。(0 <= 链表长度 <= 1000)l1l2。

2024-09-28 15:47:39 294

原创 SQL高可用优化-优化SQL中distinct和Where条件对索引字段进行非空检查语句

最近做一个需求,关于SQL高可用优化,需要优化项目中的SQL,提升查询效率。

2024-09-28 00:52:22 479

原创 union和union all的区别,别再傻傻分不清楚了!

union会按照字段的顺序进行排序;union all 只是将两个结果集合并后就返回。从效率上讲,union all要比 union快的多,所以如果确定合并的两个结果集中没有重复且不需要排序就用Union all。union all是直接连接,取到的是所有值,记录可能有的重复;union是取唯一值,记录没有重复。union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果集全部显示出来。所以union在进行表链接后会筛选掉重复的记录,union all不会去除重复记录。

2024-09-14 23:01:44 950

原创 分页查询结果并将结果分批保存,防止内存溢出

通过分页查询数据,然后再将分页查询的结果批量进行保存,防止一次性查询数据过大,导致内存溢出。

2024-09-09 23:57:22 239

原创 SaToken认证授权快速上手

SaToken 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。Sa-Token 旨在以简单、优雅的方式完成系统的权限认证部分。SaToken官网,原理如下自定义接口实现SaToken框架的StpInterface接口,自动帮我们进行执行业务逻辑(获取权限集合,获取角色集合)/*** 自定义权限认证接口扩展,Sa-Token 将从此实现类获取每个账号拥有的权限码。

2024-09-08 17:00:48 897

原创 用空间换时间思路解决生产环境慢SQL性能问题总结

有个报表业务,需要查询当天之前的数据,涉及到6张表的关联查询,有些关联字段并没有索引而且有张表数据量达到了千万级,这个接口查询响应时间平均6~7分钟,别说用户忍不了,我们开发自己也真的忍不了!由于是小众业务场景,其它开发任务比较紧急,所以一直做为遗留技术债进行排期修复,这次终于把修复此慢SQL接口纳入开发管道中了!

2024-09-07 00:00:14 278

原创 【利用模板模式和责任链模式实现数据校验】

*** 网元调整数据校验抽象类**/@Component/*** 基础校验参数是否为空*//*** 网元校验信息初始化处理器**/@Component@OverrideSystem.out.println("执行校验node是否在数据库中业务逻辑......");// 初始化校验结束,进入下一个节点next(node);/*** 网元字段权限校验处理器**/@Component@Override。

2024-08-10 13:52:46 277

原创 【高可用】利用AOP实现数据库读写分离

*** 动态数据源*//*** ThreadLocal 用于提供线程局部变量,在多线程环境可以保证各个线程里的变量独立于其它线程里的变量。* 也就是说 ThreadLocal 可以为每个线程创建一个【单独的变量副本】,相当于线程的 private static 类型变量。*//*** 决定使用哪个数据源之前需要把多个数据源的信息以及默认数据源信息配置好* @param targetDataSources 目标数据源。

2024-07-23 22:49:58 365

原创 系统设计题-路由表最长匹配

路由表最长匹配:将目标IP地址dstIP与路由为entryIP/掩码长度m(比如10.166.50.0/23)进行匹配,找出匹配掩码m最长值。如果dstIP和entryIP的二进制表示的前m个位相同,则说明是匹配的。0.0.0.0是默认路由,与任何dstIP均匹配,m值为0。所有匹配的路由中,。

2024-07-10 23:19:10 256

原创 系统设计题-日活月活统计

根据访问日志统计接口的日活和月活。日志格式为其中yyyy-mm-dd代表年月日,一个日志文件中时间跨度保证都在同一个月内,但不保证每行是按照日期顺序。clientIP为合法的点分十进制ipv4地址(1.1.1.1和1.01.001.1视作同一IP地址)url访问的地址,格式为/login.do,/query.html,,仅包含字母、英文句号.、斜杠/、和下划线_result接口的访问结果,只有2种:success和fail。

2024-07-07 17:02:17 210

原创 系统设计题-简易数据库系统

create(int tableId,int colNum,String key):创建表,其id为tableId,如果该表已存在,则不做任何处理。colNum为表中列的数量,列名由a-z字母组成,并按a-z顺序编号。比如colNum=3,则代表列分别为a,b,c。key为主键(指1列或多列组合),key中每个字符代表一列,如key=bc,表示主键由列b和列c组合。insert(int tableId,int[] values):添加一条记录。values每个元素按照顺序一一对应每列的值。

2024-07-07 16:20:39 311

原创 利用队列Queue或栈Stack解决字符数组转换运算题

相同的特殊运算符,从左到右顺序计算。用例保证@,$,左右一定存在数字,且数字不存在前导为0。给定包含特殊运算符号@,$ ,转换规则如下。其中x,y都是非负整数且@优先级高于 $。

2024-06-30 18:55:56 166

原创 利用OPT算法解决最短访问次数问题

数据库缓存,模拟访问规则如下:当查询值在缓存中,直接访问缓存,不访问数据库。否则,访问数据库,并将值放入缓存。若缓存已满,则必须删除一个缓存。给定缓存大小和训练数据,依次模拟访问这组数据,请分析在此访问规则下最少的数据库访问次数输入2输出4。

2024-06-30 18:24:33 243

原创 利用BFS或动态规划解决路径算法问题

令 f[i][j]表示从左上角到坐标(i,j)的路径数字和最小值,原问题即可被划分为多个求最优值的子问题,且由于每次只能向下或向右移动一步,因此。此题需要求出从左上角出发,到达坐标(m,n)的路径数字和最小值。因此不难想到,子问题就是从左上角出发,到达坐标(i,j)的路径数字和最小值。给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。输入:grid = [[1,3,1],[1,5,1],[4,2,1]]解释:因为路径 1→3→1→1→1 的总和最小。

2024-06-30 09:19:14 421

原创 利用BFS解决每个零售店到仓库最短距离之和问题

矩阵中有3种类型:0仓库,-1障碍,1零售店。现在每个零售店要去距离它最近的仓库取货物,请计算出所有零售店到最近仓库距离之和,假设矩阵中每个单元格之间距离为1。如果遇到障碍物,则表示无法通过。可以在单元格上下左右移动。注意无法到达仓库的零售店不参与计算没有零售店或者没有仓库,则返回0。

2024-06-25 23:38:35 310

原创 【课程表算法题--拓扑排序】

你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]。给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,1]]输出: false。

2024-06-22 07:48:17 256

原创 【轮询负载均衡规则算法设计题】

给定n台主机(编号1~n)和某批数据包,数据包格式为(抵达主机时刻,负载量)。这里数据每个时刻最多只有1条数据到达。负载量表示该主机处理此数据包总耗时。请计算轮询负载均衡规则下,哪些主机负载最高(即处理数据的负载量总和),升序输出主机编号。

2024-06-13 18:45:00 340

原创 记录下“where条件中select子查询“的优化

由于项目中流水线门禁规则的升级,导致新提交的sql代码where条件含有select子查询,导致codecheck扫描校验不通过,特此需要整改,简单记录下。

2024-06-12 07:28:20 237

原创 利用单调栈思路解决递增关系数据问题

在对数据进行排序的过程中,通常采用取1个数作为主元,通过比较交换,把比主元小的数挪到它左边;把比主元大的元素挪到右边。现给定一个划分后的正整数序列,请问有多少个元素可能是排序过程中选中的主元?并按顺序输出这些值。通过暴力解法,分别比较每个数的左边和右边值,如果当前值大于左边值且当前值小于右边值,则保存此值到列表中,最后对列表排序输出。由于满足主元的条件:其右边值一定大于它,其左边值一定小于它,相当于有一个隐藏的递增关系,可以考虑单调栈,此解法更加高效。

2024-06-08 16:47:51 242

原创 校验参数个数工具类

项目中有个需求:前后端参数一致性校验,在某业务场景下后端代码需要校验参数个数,因此设计了1个工具类方便大伙使用,特此简单记录下。

2024-06-07 23:47:44 563

原创 自定义对象池BasePooledObjectFactory的使用

System.out.println("ThreadName:" + Thread.currentThread().getName() + " 对象:" + name + "正在被创建。。。。。。");System.out.println("ThreadName:" + Thread.currentThread().getName() + " 对象:" + name + "正在被销毁。。。。。。");

2024-06-01 00:21:51 593 1

原创 关于模糊查询业务的一点思考

注意点:在业务数据量少的场景下,这样写没问题。但是如果数据量非常多,这样首先查询性能非常耗时,而且查询出来太多数据也不太符合公司内人员敏感信息安全规范和期望结果。所以要对查询结果处理,我这里的处理方式就是利用limit限制查询条数,这样既符合敏感信息安全规范,也一定量提升了查询效率,避免对服务器内存造成过大压力。最近项目上线了一个小的功能,业务逻辑非常简单,就是人员联想功能:2张表的关联模糊查询。实现方案:就是无脑在sql中利用like模糊查询。

2024-05-20 20:27:44 139

原创 通过AOP实现项目中业务服务降级功能

最近项目中需要增强系统的可靠性,比如某远程服务宕机或者网络抖动引起服务不可用,需要从本地或者其它地方获取业务数据,保证业务的连续稳定性等等。这里简单记录下业务实现,主要我们项目中调用远程接口失败时,需要从本地数据库中某表获取数据(本地数据库某表每天定时同步远程接口数据)。调用大致逻辑:前端–>服务A–>服务B(这里时公服,用于维护权限、人员等信息)其中服务B调用远程服务故障,进行服务降级,从服务B的本地数据库查询数据。项目中实际是通过故障注入方式,模拟远程接口宕机。这里简单通过除法异常模拟故障。二、测

2024-05-08 22:11:05 382

原创 利用策略模式+模板方法实现项目中运维功能

/ 这里只实现了查询方法,其他增加、删除、修改可以依次实现List<?IDataOperationService定义增删改查模板方法List<?

2024-05-05 05:48:01 719 1

原创 【计算数组连续值的移动距离】及【计算遥控器按键总次数】

【代码】【计算数组连续值的移动距离】及【计算遥控器按键总次数】

2024-01-28 18:57:29 482

原创 【字符串增加偏移量转换】及【贴瓷砖问题】

【代码】【字符串增加偏移量转换】及【贴瓷砖问题】

2024-01-23 23:38:48 595

原创 【连续数之间的数字和最大值】及【字符串进制转换】

【代码】【连续数之间的数字和最大值】及【字符串进制转换】

2024-01-23 23:07:06 480

原创 一道使用LinkedList和Stack解决的算法题

学校的自助午餐提供圆形和方形的三明治,分别用数字 0 和 1 表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个 栈 里,每一轮:如果队列最前面的学生 喜欢 栈顶的三明治,那么会 拿走它 并离开队列。否则,这名学生会 放弃这个三明治 并回到队列的尾部。这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止。给你两个整数数组 students 和 sandwiches ,其中 sandwiches[i] 是栈里面第 i

2024-01-16 07:04:23 776

原创 不同整数的最少数目和单词直接最短距离

今天分享两个关于“最小、最短”的算法题,废话少说,show me your code!

2024-01-16 05:51:25 490

原创 处理含退格的字符串

字符串如果包含$,则将 $ 前的字符剔除,最后保留剔除后的字符串,输出其长度。利用String Builder对字符串处理。输出3,因为剔除后的字符串为abd。或者利用Stack对字符串处理。

2024-01-15 09:15:00 397

原创 数组中根据刷新时间间隔计算对应值

特斯拉发射火箭,从start时刻开始(包括start),由于发射台需要准备时间才能发射,因此需要period个单位时间就会有发射机会(不限制发射数量,只要若干火箭就绪则可以发射)。比如[[1,2],[4,6]],第一个订单在1时刻收到,需要2个单位时间准备就绪,在时刻3才能发射;现在有n个订单需要发射,用二维数组表示,即int[][] launches,第一个数字代表接收到该订单时刻,第二个数字代表准备就绪需要花费的时间。分享个关于数组中根据刷新时间间隔计算对应值的问题。未完待续-----------

2024-01-14 09:10:18 410

原创 数组中差值的最大值(寻找一个数组中左侧最大值与右侧最小值的差值)

今天跟大伙分享下关于数组中差值的最大值(寻找一个数组中左侧最大值与右侧最小值的差值)的计算思路的算法题,解决方案有许多,这里简单进行抛砖引玉。

2024-01-14 08:39:03 976

原创 【Sharding-Sphere 整合SpringBoot】

Sharding-Sphere 整合SpringBoot

2024-01-07 23:42:37 1482

原创 【奇偶数合并】及【奇数偶数排序】

由于要对偶数合并且将合并值增加到相邻且相等2个偶数之间,然后相邻且相等奇数合并,原始数组长度可能会发生改变,因此需要用额外的数据结构进行存储临时计算结果数据。将所有相邻且相同的偶数相加放入相邻偶数中间 将所有相邻且相同奇数相加,替换掉这两个相邻且相同的奇数 最后输出合并后的数组结果。第一轮计算之后,需要判断是否还需要递归进行计算,如果需要,则递归奇偶数合并即可,最后输出计算结果。数组奇偶数合并之后[1,2,4,2,7,8,6,12,6]数组[1,2,2,7,8,3,3,6]今天分享一道很有意思的算法题目,

2024-01-06 07:24:20 451

原创 力扣:单调栈算法思路题

🍒 通常是在数组中需要通过比较前后元素的大小关系来找最近的比它大(小)的元素问题时,可以使用单调栈进行求解。单调栈分为单调递增栈和单调递减栈,通过使用单调栈我们可以访问到最近一个比它大(小)的元素。🍋什么情况适合用单调栈来解决实际问题呢?3:LeetCode 42. 接雨水。2:寻找左边第一个小于它的数的下标。1:寻找左边第一个小于它的数。

2023-11-26 06:41:04 660

原创 力扣:盛最多水的容器

双指针代表的是 可以作为容器边界的所有位置的范围。在一开始,双指针指向数组的左右边界,表示 数组中所有的位置都可以作为容器的边界,因为我们还没有进行过任何尝试。在这之后,我们每次将 对应的数字较小的那个指针 往 另一个指针 的方向移动一个位置,就表示我们认为 这个指针不可能再作为容器的边界了。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。输入:[1,8,6,2,5,4,8,3,7]

2023-10-21 20:54:28 261

原创 SpringBoot 中使用JPA

最近忙里偷闲,想写一点关于JPA的东西,另外也加深下对JPA的理解,才有了此篇博文。

2023-09-30 16:42:52 406

原创 巧用@Conditional注解根据配置文件注入不同的bean对象

项目中使用了mq,kafka两种消息队列进行发送数据,为了避免硬编码,在项目中通过不同的配置文件自动识别具体消息队列策略。这里整理两种实施方案,仅供参考!

2023-09-28 09:23:53 996

原创 【@PostConstruct、 @Autowired与构造函数的执行顺序】

Java提供的注解,被用来修饰方法,被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。调用的顺序为: 构造函数 > @Autowired > @PostConstruct(2)作用:@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如读取数据字典之类、目录树缓存。

2023-09-23 19:47:03 2606

原创 利用hutool工具类实现验证码功能

利用hutool工具类,可以很方便生成不同类型的验证码。

2023-09-16 16:00:29 3906 2

dubbo-admin-2.5.7.war.7z

dubbo-admin监控工程

2021-07-29

dubbotest1-master.7z

springboot整合dubbo+zookeeper https://blog.csdn.net/wangzibai/article/details/100106261

2021-07-29

dubbo-admin-2.5.4.war.7z

web页面服务查看,下载dubbo-admin监控工程,将war包解压后放入tomcat的webapps目录下,将\webapps\dubbo-admin-2.5.4\WEB-INF\dubbo.properties修改成自己的zookeeper地址即可

2021-07-29

springboot.7z

SpringBoot整合Mybatis完整详细版,通过连接MySQL,实现增删改查功能。例子比较简单是非常适合入门练手。项目启动之后,直接在浏览器输入访问地址即可。

2020-07-18

springboottest1.7z

SpringBoot整合Mybatis完整详细版,通过连接MySQL,实现增删改查功能。例子比较简单是非常适合入门练手。项目启动之后,直接在浏览器http://localhost:8086/testBoot/getUser/2即可

2020-07-17

SpringShiroDemo.7z

SpringMVC与Shiro整合,实现登录授权功能。通过使用账号admin和密码admin登录进入,否则需要登录才能访问。登录链接地址:http://localhost:8080/ShiroDemo/login.jsp

2020-06-04

基于MapReduce的Apriori算法并行化改进

基于MapReduce的Apriori算法并行化改进,包含改进思路与代码实现。该文档提供了详细的设计思路和方法,具有一定的借鉴意义,互相学习,互相进步!

2017-11-08

基于MapReduce的Apriori算法

基于MapReduce的Apriori算法,关联规则并行化思路与解决方案。该方法具有一定的借鉴意义,可以用来进行学术研究。

2017-11-08

zookeeper安装配置

zookeeper安装配置,步骤明确而详细。此文档为培训班内部培训资料!

2017-11-08

WebService配置

WebService配置详细配置步骤。按照操作文档提示步骤,配置webservice接口,欢迎指正,亲测可行!

2017-11-08

基于MapReduce的Apriori算法代码及其使用

基于MapReduce的Apriori算法代码及其使用,内含源代码及其实现。数据集为http://fimi.ua.ac.be/data/

2017-11-08

基于MapReduce的Apriori算法代码

mapreduce实现apriori算法,亲测可行!需要自行下载数据集。数据集链接如下http://fimi.ua.ac.be/data/

2017-11-08

《机器学习实战》源代码

《机器学习实战》源代码

2017-06-29

前端打印插件

前端打印插件,简单易用

2017-06-29

Myeclipse-2014-破解文件

Myeclipse-2014-破解文件

2017-06-29

echarts.min.js

优秀的报表制作插件,美观而简洁

2017-06-29

bootstrap-3.3.7

一款非常优秀的前端插件

2017-06-29

python-2.7.10.amd64

python2.7

2016-07-10

cmiadapter

1111

2016-07-10

空空如也

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

TA关注的人

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