- 博客(837)
- 资源 (73)
- 收藏
- 关注
原创 硬着头皮学数据结构和算法之Myers算法
要想定义文本差分算法,首先要介绍下编辑脚本的概念,我们知道,一串字符A变为一串字符B是经过不断的删除字符和插入字符的操作来完成的,例如AB->ACD就要经过如下的插入和删除操作(不唯一,仅示例)1:删除B2:插入C3:插入D文本差分算法就可以定义为用来计算出标记脚本的算法。人有好有坏,算法也是如此,评价文本差分算法好坏的指标主要有两个,第一个就是编辑脚本的长度,自然越短越好。
2026-10-09 10:09:27
567
原创 硬着头皮学数据结构和算法之回溯算法
回溯算法是一种通过枚举找到问题解的一种算法。实现过程:具体过程中,将整个过程分成n个阶段,每个阶段面对岔路口选择一个走,不通的话再选择其他的岔路口。经典解法:递归。剪枝操作可以提高程序效率。本质上是一种暴力枚举算法,但是具体实现时通过剪枝操作(跳过已经走不通的路径),可以有效增加程序的执行效率。
2026-09-16 18:01:08
232
原创 自己动手写一个tomcat之6log以及pipeline和valve
本文看下log日志如何设计,并开发valve和pipeline内容,最终将log应用到valve和pipeline中。
2026-08-24 18:48:54
290
原创 自己动手写一个tomcat之5wrapper和container
本文引入负责维护servlet信息的container组件,以及负责管理servlet生命周期的wrapper组件。
2026-08-19 15:44:27
301
原创 自己动手写一个tomcat之3池化processor
本文来池化processor,以提高服务处理性能。同时也会将processor改造为线程,异步执行,这样可以不用阻塞连接器connector的执行过程,进一步提高程序性能。
2026-08-12 16:42:01
259
原创 自己动手写一个spring之aop_4
本文来看下如何动态的为spring bean生成代理类,当前的实现方式是定义proxyfacotrybean,如下:</如果需要代理的类只有这么一个,那没什么问题。在大型项目中成百上千的这样的类,因为每增加一个需要的代理的类就要重复写一次这样的配置,只写配置文件就够喝一壶的了。所以,本文就来看下如何解决这个问题。
2026-08-04 15:43:53
227
原创 自己动手写一个spring之aop_2
在当然这样做呢不能算错,但是扩展性就要弱很多了,在不同的业务场景中要做的内容不同,该怎么办呢?本文就一起来把这个问题解决了。
2026-07-30 11:55:47
230
原创 自己动手写一个spring之MVC_4
本文看下如何返回对象,以及页面到前端。当前生成页面的方式有两种,一种是前后端分离的方式,也就是后端返回对象到前端,第二种方式是后端将生成好的html页面直接返回到浏览器,本文就看下这两种情况。
2026-07-14 16:50:48
345
原创 自己动手写一个spring之MVC_2
在前面的文章中,controller层的bean我们并没有使用IOC容器管理起来,并且DispatcherServlet的职责过去繁重了,完全不符合单一职责的原则,所以,本文也会对DispatcherServlet进行拆解。
2026-07-06 18:43:50
312
原创 自己动手写一个spring之IOC_4
本文继续完善IOC部分内容,主要是增加beanfactory相关内容,使其变得更加丰满,以及增加事件通知相关内容,从而能够更好的感知程序执行的进程,以及时做出需要执行的动作。
2026-06-18 14:55:15
334
原创 Linux性能优化之文件系统基础介绍
索引节点存储文件的元信息,如文件的修改时间,大小,访问权限,数据的位置(可理解为指向磁盘某位置的指针),如下红框中的信息就是文件的元信息:这里需要注意的是索引节点也是在磁盘中存储的,负责存储索引节点的磁盘区域还有一个专门的名称,叫索引节点区。为什么没有文件名称呢?这是因为这里的元信息是文件唯一存在的信息,在Linux中文件名称是可以有多个的,比如软连接的存在,这里可以这样来理解,在Java中指向某个对象的变量是可以有多个的,这里的变量就可以理解为文件名称。目录项。
2026-04-28 17:32:43
519
原创 Linux性能优化之内存管理基础知识
当通过页表访问内存时,不存在对应的物理内存信息时,抛出的异常就是缺页异常,发生该异常后会申请物理内存,并更新页表信息。伙伴系统是用来管理内存分配工作的一个系统。当执行malloc时就需要依赖于伙伴系统来完整真正的内存分配。
2026-04-17 18:03:01
529
原创 Linux性能优化之中断
中断是一种异步的事件通知机制,用来接收来自外部的数据输入,如键盘,网卡等。收到中断后,首先执行硬中断,主要是读取数据到内存中,这个过程很快,并且会关闭中断,即此期间不会响应新的中断信号。接着是发送软件中断信号,执行软中断过程,这个过程由专门的内核线程来执行,一般名称是ksoftirqd/[CPU编号]。在实际的生产环境中,一般我们遇到的就是网卡的中断,所以本文来看个网卡中断的例子来加深理解。
2026-04-10 18:56:08
717
原创 Linux性能优化之上下文切换
CPU在执行的时候需要两部分的内容,寄存器中要执行的程序信息,以及程序计数器中执行的位置信息。这两部分内容也就是所谓的上下文。在执行的过程中比如从一个线程切换到另外一个线程执行,那么寄存器,和程序计数器中的信息就需要替换为要执行的线程的。这个过程我们就叫做上下文切换。其中,老线程的上下文下信息会被暂存到内核中,以待下次运行使用。注意这个切换的过程是要消耗CPU资源的,并且此期间CPU是干不了活的。
2026-03-30 18:11:32
602
2025-03-18-204030-121388-3sec.wav 2025-03-18-204030-121388-3sec.wav2025-03-18-204030-121388-3sec.wav
2025-03-19
winlibs-x86-64-posix-seh-gcc-14.2.0-llvm-19.1.1-mingw-w64ucrt-12.0.0-r2
2025-02-07
ttsmaker-file-2024-9-29-11-28-50.wavttsmaker-file-2024-9-29-11-2
2024-09-29
protoc-3.5.0-win32.zip
2024-08-28
protoc-3.0.0-win32.zip
2024-08-27
netassist.zip
2024-08-15
the-probe-plugin-1.0.zip
2024-06-21
map2obj-idea-plugin-1.0.zip
2024-06-18
javaio-appendfile1709014272558.json
2024-02-27
elasticsearch-analysis-ik-7.1.0.zip
2024-02-05
docker-compose (3).zip
2024-01-31
sentinel-降级熔断测试.jmx
2024-01-10
sentinel-链路流控测试.jmx
2024-01-09
sentinel-直接流控测试.jmx
2024-01-08
sentinel-182.zip
2024-01-08
JSONVue-master.zip JSONVue-master.zipJSONVue-master.zipJSONVue-m
2023-12-08
sftp.zipsftp.zipsftp.zip
2023-12-07
MicroSIP-3.19.22.exe
2023-11-07
nacos-server-2.0.0.zip
2023-10-11
Snipaste1.rar
2023-04-06
ingress.raringress.raringress.rar
2023-01-14
kube-scheduler.rar
2023-01-09
kube-controller-manager.rar
2023-01-09
kube-apiserver.rar
2023-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1