自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (29)
  • 收藏
  • 关注

原创 集成分布式锁架包(MySQL、Redis、Zookeeper)

疫情当下,大环境不好,自己又去了一家令人非常失望的单位,一直在996加班忙于业务代码,技术方面几乎等于零成长。但是,作为一个Coder,必须要挤出时间去学习与总结,不然就会被无情的淘汰。Coder加油吧!

2023-01-02 10:23:33 643

原创 基于Netty实现SpringMVC

前言:Netty是一个非常优秀的异步事件驱动的网络通信框架,它本身就支持HTTP协议栈的开发。由于Netty是对Java NIO的封装,因此基于Netty开发的HTTP协议栈也是异步非阻塞的。并且Netty相对传统的Web容器(例如Tomcat、Jetty)会更加轻量、小巧、定制化开发也很灵活。SpringMVC是一个轻量级的Web框架,它可以把用户使用浏览器产生的HTTP请求解析成视图,再响应给浏览器。实现该过程的最重要的一个组件是DispatcherServle...

2022-05-03 11:00:30 1204

原创 hanxiaozhang 后台管理系统

从开始参加工作到开始准备的系统之前,我一直想自己独立完成一个系统的开发,检验一下自己的工作学习成果。2020年工作中全面的使用到SpringCloud全套相关技术,萌生了使用SpringCloud技术栈作为这个系统后端的实现。2021年工作中又学习了React相关的前端框架,我就放弃打算前端使用Vue技术栈的想法。这个系统从2020年9月份开始到2021年4月份封板(中间也停过小4个月),花费了不少的私下时间,算是对自己工作学习的一个总结吧。

2021-04-22 08:41:29 4797

原创 hanxiaozhang带你学SpringCloud

目录:0. SpringCloud练习项目git地址:https://gitee.com/hanxinghua2017/srpingcloud_demo.git;1.Zuul网关的请求与响应日志打印、服务回退和异常处理;2.SpringCloud的异常处理体系(一);3.SpringCloud的异常处理体系(二);4.SpringCloud的异常处理体系(三);5.SpringCloud Greenwich版本集成Springboot Admin监控和管理平台;6....

2020-11-26 08:25:12 237

原创 LinkedList源码,你想了解一下不?

前言:上回咱们介绍了ArrayList源码,详情见《ArrayList源码,你想了解一下不?》文章,今天来介绍一下LinkedList源码,LinkedList源码也不是很难理解,它的底层用的双链表,如果你对常用的数据结构有所了解,你在学习理解LinkedList源码中关于链表的相关方法就很容易。LinkedList与ArrayList都实现了List接口,如果你原来看过ArrayList源码,你在学习理解LinkedList源码中关于List接口相关方法就很容易。听我这么半天忽悠,你是不是也想学...

2020-06-03 21:22:08 844 2

原创 业务上第一次使用多个设计模式的组合(策略模式+缺省适配器模式+模板方法模式+简单工厂模式)

前言:从第一次系统地阅读《Java与模式》这本书已经过去一年多了,我一直没有有意的去使用设计模式,原因有两点:一是,对设计模式理解有些点不深入,使用起来比较吃力;二是,没有一个合适场景去使用设计模式。最近,我在负责一个新系统的对接钉钉流程中心,调用相关流程的开发工作,我在之前已经钉钉流程对接2次了,都这块业务理解比较准确和成熟。如果要是搬用原来的代码没有问题,但是原来的写法复用很差,每次新增一个流程,都有把原来的接口复制一遍,然后再对每一个方法中部分代码进行修改。基于以上背景,我觉得应该使用设计模式,对

2020-05-16 13:11:07 1439 1

原创 Spring事务的传播规则以及各种场景下事务的生效情况

前言:从大学学完《Web程序设计》这门课之后,我一直在使用Spring这个框架,它的优点和好处不言而喻。随着时间的推移,我对这个框架的理解也不断加深,自己也有了一些使用的技巧与经验,下面我将分享关于Spring事务中的一些知识,希望对大家的工作、学习、面试有一些帮助。分享的内容主要包括事务何时生效、事务的传播规则和嵌套事务的使用等。如有偏差,请君不吝赐教!一、相关知识点(这里只写文中用到的知识点):1.物理事务与逻辑事务:物理事务:事务性资源实际打开的事务,如数据库的Connection打开

2020-05-10 11:37:41 1768 1

原创 基于Springboot+Bootstrap的文件管理全套解决方案(文件列表、上传、预览、下载、删除、打包下载等)

前言:最近,不知道是不是最后一搏,事业群上层领导要求7天内完成ABS项目中保理系统的一期开发。需求评审会后,我发现各个功能模块都有大量的文件材料展示与上传,为了提高开发效率,我与组长商量,我先开发文件模块,为其他同事提供公共方法,减少重复工作。使用的前端技术栈:Bootstrap、Bootstrap-table、layer.js、layui.js、jquery.media.js设计思路...

2020-05-01 20:53:28 7259 6

原创 业务上第一次遇到MySQL更新锁表超时(Lock wait timeout exceeded try restarting transaction)

前言:最近,我在公司开发某个业务功能,需要使用钉钉审批流,在最后一个结点审批通过后,使用MQ监听回调信息,根据回调信息,更新订单状态、触发系统还款、保存相关审批记录。如果在完美情况下,这一套流程没有任何问题,但是因为历史数据等原因,触发系统还款可能会失败。此时,审批流程已经正常结束了,不可能再走一遍流程。为了解决这样的问题,我们订单状态的“已还款”拆成“审批通过”和“已还款”,这两个结点在完美...

2020-04-18 21:32:19 1581

原创 一篇文章了解MySQL联合索引

一、什么叫联合索引?由两列或以上列组成的索引成为联合索引,联合索引又叫复合索引。相关概念:索引覆盖:联合索引中包含了需要查询的所有数据,不需要进行二次查询,直接返回数据。最左索引匹配原则:使用联合索引时,遵循从左边开始匹配联合索引中列,MySQL的SQL的执行过程:MySQL的优化器:...

2020-03-15 10:05:29 929 1

原创 一套超好用的“Excel导入导出+多线程处理导入数据+多线程事务回滚”的模板方法

Excel导入导出+多线程处理导入数据+多线程事务回滚的模板方法二、功能演示:1.Excel数据:数据说明:第一条数据完整,可以成功导入;第二条数据无姓名,业务逻辑姓名不允许为空,会导出到错误Excel中;第三条数据无姓名无类型,业务逻辑姓名类型不能为空,会导出错误Excel中。2.导入页面:选择相关Excel,点击导出测试按钮:3.正确数据入库:4.错误数据导出成Excel并有提示:...

2020-03-08 21:14:44 12783 12

原创 springboot聚合项目(自己平时的一些总结)

内容(持续更新):0. springboot-utils 常用工具类汇总(bean拷贝,空值不用复制、Excel导入导出工具等)1. springboot-dynamic-datasource AOP多态数据源切换+atomikos分布式事务 201912282. springboot-httpclient httpclient各种使用方法举例3. springboot-red...

2020-01-30 15:07:23 1555

原创 使用SpringBoot Starter完成发送异常邮件SDK

前言: 前一阵学了SpringBoot发送邮件、SpringBoot制作Starter和自定义业务异常等知识,我突发奇想,我可以制作一个能捕获项目所有异常,通过邮件形式把异常信息发送给开发者的Starter,开发者实现只需要配置相关信息,就可以使用。实现无侵入性编程,支持热拔插使用。正文:具体相关知识点:SpringBoot中Starter知识、SpringBoot驱动配置文件...

2019-09-22 10:11:31 890 1

原创 hanxiaozhang带你学Docker

目录 安装docker Docker创建镜像之docker commit命令与docker build命令 Docker之开启远程访问 Docker 镜像与容器存储目录结构精讲 Docker工具之IDEA中Docker插件的使用 Docker工具之Daocloud的使用 Docker之部署Nginx容器及Nginx配置文件讲解 ...

2019-08-04 19:56:51 343

原创 软件设计师-基础知识科目-计算题汇总1

∆t:流水线执行周期。

2024-04-25 19:00:00 1172

原创 软件设计师-基础知识科目-计算题汇总2

现有资源个数 >= 进程个数 * (每个进程需要资源个数 - 1)+ 1。head(head(tail(LS1)))第一空:-> 物理块从0开始编号。

2024-04-25 19:00:00 652

原创 软件设计师-基础知识科目-网络与信息安全基础知识10

单向散列函数 (单向Hash函数)、固定长度的散列值。作用:让大容量信息,在用数字签名软件签署私人密钥前,被 "压缩" 成一种保密的格式。主要算法有:MD5、SHA等。

2024-04-13 08:15:00 871

原创 软件设计师-基础知识科目-标准化与软件知识产权基本知识11

十一、标准化与软件知识产权基本知识:知识产权:主要包括:著作权及邻接权、专利权、工业品外观设计权、商标权、地理标志权、继承电路布图设计权。 邻接权是指与著作权相邻近的权利,是指作品传播者,对其传播作品过程中,所作出的创造性的劳动和投资所享有的权利。著作权:著作权包括著作人身权和著作财产权,人身权包括:发表权、署名权、修改权、保护作品完整权,除了这四个以外都是财产权。著作权中的保护期限:发表权的保护期限为作者的终生及死后的50年。 著作权权利中:署名权、修改权、保护作品完整权不受时

2024-04-13 08:00:00 382

原创 软件设计师-基础知识科目-算法设计与分析8

八、算法设计与分析:常见算法:回溯方法:用深度优先的探索问题的解空间。 应用场景:N皇后问题。(背)分支界限法:用广度优先的探索问题的解空间,采用的是分支界限法算法设计策略。分治法:原问题分解若干子问题、把子问题求解、然后子问题解合并。 使用场景:归并排序法、快速排序法、最大子段和问题。 使用递归方法。 Tips:会有重复的子问题。贪心算法:总是做出当前来说最好的选择,局部最优解。 最适合解决(应用场景):部分背包问题、邻分(分数)背包、Dijkstra算法。动

2024-04-12 19:00:00 318

原创 软件设计师-基础知识科目-数据库技术基础识9

例1:例2 例3:判断非主属性对码的部分函数依赖技巧:判断非主属性对码的传递函数依赖技巧:

2024-04-12 19:00:00 596

原创 软件设计师-基础知识科目-结构化开发方法6

见应用技术知识。

2024-04-11 19:45:00 207

原创 软件设计师-基础知识科目-面向对象技术知识7

静态建模:类图、对象图、用例图。动态建模:序列图(顺序图,时序图)、通信图(协作图)、状态图、活动图。物理建模:构件图(组件图)、部署图。

2024-04-11 19:45:00 427

原创 软件设计师-基础知识科目-软件工程基础知识5

等价类划分、边界值分析、错误推测、因果图。基本路径测试、循环覆盖测试、逻辑覆盖测试。对于有大量判断的加工能很清楚地进行分解。PERT图( 网络分析法):背。

2024-04-10 11:24:05 539

原创 软件设计师-基础知识科目-操作系统基本原理4

四、操作系统基本原理:进程管理:计算不会发生死锁公式,分配资源。存储管理:内存淘汰:2015年上半年26题:-> 未被访问先淘汰;最近都被访问过时,未修改先淘汰。 根据程序的局部性原理,最近未被访问的页面,下次被访问的概率更小。 如果页面最近都被访问过,应该先淘汰未修改过的页面。因为未修改过的页面内存与辅存一致,故淘汰时无须写回辅存,使系统页面置换代价小。 段页式存储:计算存储容量题。指令访问内存次数,发生中断次数题:没有使用快表,每读一次内存,都需要先在内存

2024-04-10 11:23:33 275

原创 软件设计师-基础知识科目-数据结构3

三对角矩阵按按存储并且下标从1(A_1,1)开始的公式:背。

2024-04-08 19:47:47 681

原创 软件设计师-基础知识科目-程序语言基础知识2

二、程序语言基础知识:编译程序:死循环错误属于动态语义错误。 编译程序分析源程序的阶段依次包括:词法分析、语法分析、语义分析。 解释方式包括:词法分析、语法分析、语义分析。编译过程:编译过程6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。其中,词法分析、语法分析、语义分析、目标代码成是必须的编译过程阶段。词法分析:输入:源程序;输出:记号流。(总是忘记) 主要作用:分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。 -

2024-04-08 19:47:07 1357

原创 软件设计师-基础知识科目-计算机基础知识1

我去年11月份参加了软件设计师的考试,一次性顺利通过了该考试。去年11月份的考试首次改革成机考。考试时间上从一整天压缩成一个下午。考试难度无法评价,因为是第一次参加该考试。我考前利用4个月时间准备,准备时间看似很长,其实真正学习总结时间不多,准备期间总是再加班。学习资料上,我主要是在B站上看zst_2001博主的视频 + 刷历年真题。下面,我将分章节分析一下,我知识笔记。

2024-04-07 19:39:16 628 1

原创 从Socket中解析Http协议实现通信

另一个线程会调用http(),http()会解析Http请求的数据,对数据进行一些操作后,再封装一个响应体返回给客户端。ResponseEntity类主要是存储Http需要响应的数据,并且包含了一个将ResponseEntity类数据转换成Http响应的方法。RequestEntity类主要是存储Http请求解析后的数据,并且包含了一个将请求数据转换为RequestEntity类数据的方法。首先,我们先回顾一下Http协议的规范。主要复习一下,请求与响应报文格式,方便我们解析Socket中数据。

2024-02-10 08:59:51 446

原创 基于Mybatis+Druid实现执行SQL功能

Mybatis是Java持久层的框架,支持 SQL查询,存储过程和高级映射等功能。使用Mybatis+Druid就可以轻松实现任意SQL语句的执行功能。Mybatis在实现执行SQL功能中的作用是:执行SQL,封装返回结果。Druid在实现执行SQL功能中的作用是:校验SQL语法和查询类SQL添加limit限制。2. 执行更新 update sys_dict SET name ='你不好' WHERE id =1;3. 再次执行查询 SELECT * FROM sys_dict WHERE id =1;

2024-01-09 20:55:35 469

原创 Spring Redis Client使用Hessian序列化HINCRBY命令的Bug

公司自己封装Redis Client架包,使用Hessian协议对Redis中Value值进行序列化。在使用Hash结构的HINCRBY命令,处理序列化异常的问题。下面,我将详细说明一下。

2024-01-09 20:55:03 670

原创 使用Socket演示三次握手

非常重要的知识点:三次握手发生在内核态,操作系统内核去,执行握手操作。Socket连接成功后,已经完成了三次握手。以下演示的程序,只是模拟演示一下。TcpUtil工具类。

2024-01-08 19:57:10 434

原创 JVM的FastThrow优化机制

前一阵子,在公司排查线上问题发现:出问题的方法报空指针异常,但是没有异常堆栈信息和Message。我一开始以为是代码中做了处理,但是经过翻阅代码发现不是。最后一番查找资料,这种现象是JVM的一种优化机制,叫做FastThrow机制。

2024-01-08 19:53:00 757

原创 算法:进制之前的转换

【代码】算法:进制之前的转换。

2023-12-09 11:08:30 563

原创 Lambda简化代码书写的流程

从JDK8开始,Java引入了Lambda表达式,简化了代码书写,但是,有些语法有些不好理解,下面我将介绍一种:方法入参是接口代码从最原始方法到Lambda表达式优化的流程。但是, Lambda也有弊端。一个方法有多个参数支持Lambda写法,但是一个类中有多个方法不支持Lambda写法。

2023-10-04 10:12:09 149

原创 SpringBoot中CommandLineRunner的使用

开发中,你有没有遇到这样的场景,项目启动后,立即需要进行一些操作。比如:加载一些初始化数据、执行一段逻辑代码。你可以使用SpringBoot中CommandLineRunner。它可以在项目启动后,执行CommandLineRunner接口实现类的相关逻辑。特别要注意:多个CommandLineRunner的实现类是串行方式执行。如何在其中某一个实现类中使用死循环逻辑,将导致后续的实现类不能执行。解决该问题的方式为开启一个线程,异步去执行。

2023-09-09 21:38:51 430

原创 正则获取Json字符串和数组

【代码】正则获取Json字符串和数组。

2023-09-02 08:11:21 743

原创 正则基础知识

正则基础知识

2023-08-19 22:22:05 132

原创 两个集合取交集、并集、差集

【代码】两个集合取交集、并集、差集。

2023-08-06 14:03:22 720

原创 Springboot项目排除Bean的方法

在最近工作中,相关业务代码需要引用一个工具包。原来的同事在工具包中,封装了Spring AOP切面的Bean,但是这样的工具包非常不友好,工具包不应该有这些特殊的处理。有了这些特殊的处理,引用方也要特殊处理。

2023-07-24 05:59:13 2572

原创 JVM GC相关参数总结

【代码】JVM GC相关参数总结。

2023-07-16 08:59:12 442

spring-framework-4.3.12.RELEASE--编译好的源码.rar

spring4.3.12编译完成的源码,解压后,找到spring.ipr文件,使用IDEA打卡,就可以开始阅读源码之旅。

2020-03-30

spring-framework-5.0.7.RELEASE-编译好的.rar

spring5.0.7编译完成的源码,解压后,找到spring.ipr文件,使用IDEA打卡,就可以开始阅读源码之旅。

2020-03-30

springBootStarterExceptionMail.rar

SpringBoot之自定开发发送异常邮件Starter源码,详细代码解析参考《SpringBoot之自定开发发送异常邮件Starter》文章

2019-09-22

select2.js插件支持拼音搜索(最新版-4.0.6)Demo

select2.js插件支持拼音搜索(最新版-4.0.6)Demo,具体使用方法见《 select2.js插件支持拼音搜索(最新版-4.0.6)》文章

2018-10-03

拼音js(优化版)

拼音js(优化版),对返回结果出现undefined结果进行了优化

2018-10-03

Java面向对象程序设计教程(第二版)

Java面向对象程序设计教程(第二版)

2018-09-05

Java编程思想第四版完整中文高清版

Java编程思想第四版完整中文高清版,学习java比较推荐的一本书

2018-06-30

JAVA核心技术 第9版【中文版】

JAVA核心技术 第9版【中文版】pdf版,非常清晰,便于阅读

2018-06-29

exe4j打包工具

exe4j,把jar包打成exe文件的工具,有注册码,非常好用

2018-06-22

黑色大气后台管理系统bootstrap商业模板

黑色大气后台管理系统bootstrap商业模板,模板质量还可以

2018-06-18

Axure8.0软件+注册秘钥

Axure8.0软件,产品经理画原型图比较好的软件,有秘钥可以激活。

2018-06-08

Axure官方核心培训

Axure官方核心的培训课程,通过此视频可以初步了解Axure的使用方法

2018-06-08

securecrt安装版

securecrt安装版,安装后就可以用。不需要注册机。。。

2018-06-07

Modern_admin前端模板

Modern_admin前端模板,包括登录,表单,表,日期,日历等页面

2018-06-05

booststrapmoban模板

非常不错的bootstrap模板,非常全面,包括表单,表,图标,时间,日历,统计图等等

2018-06-05

证件换底色软件

证件换底色软件,解压直接使用,可以换成任意颜色的底色

2018-06-04

视频加密工具

视频加密工具,通过这个工具可以对视频进行加密,很难破解。

2018-05-14

前端取色器

取色器,前端工具,通过软件选择颜色,告诉你颜色代码

2018-05-12

commons-pool架包

commons-pool架包,里边包括两commons-pool版本的架包

2018-05-12

jedis不同版本的架包

jedis不同版本的架包,包括2.1.0,2.6.1,2.7.2着三个版本的架包

2018-05-12

反编译软件

反编译软件,通过这个软件可以反编译.class文件。。。

2018-05-12

文件和u盘加密工具

文件和u盘加密工具,通过这个软件可以轻松为文件和u盘加密

2018-05-12

excel工具箱

excel工具箱,通过这个软件,可以安装各个版本的Excel

2018-05-12

pdf转换成word转换器

pdf转换成word转换器,非常好用,测试过,格式不变,与原来一样

2018-05-12

视频去水印工具

视频去水印工具,可以去除视频中的水印,是一个软件。

2018-05-12

redis64-3.0.501

redis缓存,在window下使用的客户端软件,64位的。解压就可用

2018-05-12

tomcat-8.0.46

tomcat-8.0.46免安装版,下载就能用。定义的端口号为80,使用其他端口请自行修改

2018-05-12

Mysql相关使用总结

Mysql相关使用总结,把一些mysql的相关语法进行总结,包括建表语句,修改表名和列名属性,添加字段,删除表,字段等

2018-05-12

tomcat6.0.20免安装版

tomcat6.0.20免安装版,解压直接用,64位版本,安全稳定

2017-12-08

空空如也

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

TA关注的人

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