- 博客(140)
- 资源 (1)
- 收藏
- 关注
原创 Redis缓存健壮性——穿透、雪崩与击穿防护
缓存穿透:不存在的数据被用于恶意攻击数据库,缓存空对象或布隆过滤器;缓存雪崩:缓存服务器宕机或大量key同时失效,随机TTL、Redis集群、降级策略与多级缓存;缓存击穿:热点key过期并发查询重建,互斥锁或逻辑过期。数据库有这么脆弱吗?需要这么复杂的缓存机制来保护,好像访问请求稍微一多就不行了。缓存有这么健壮?所有热点数据都给缓存,内存开销等压力全部交给缓存,难道就不怕缓存崩了?不是数据库脆弱,而是“不是他的活,他要干”。
2026-01-01 14:55:11
646
原创 MySQL索引原理与性能优化
本文从索引原理B+树开始,介绍了sql执行性能指标的查看方法,包括慢查询日志和执行计划,最后到性能优化的具体方案。索引的本质:索引本质上是根据索引列组织的数据结构,组织形式为B+树,方便后续检索,是空间换时间的方案。索引的使用:由于B+树的结构特性,索引的使用需要遵循一些规则,其中最重要的是最左前缀,查询限制条件的索引列应为包含最左侧索引列的连续列。sql的性能指标:直观上可以通过慢查询日志定位耗时最长的语句,后续使用执行计划查看其索引使用情况进一步优化。sql优化。
2025-12-25 14:55:13
1082
原创 Java本地缓存技术——Guava、Caffeine
Caffeine是本地缓存Guava的继任者,使用更先进的缓存淘汰算法(W-TinyLFU),优化了内部数据结构,在命中率、吞吐量和内存效率都优于Guava,目前是Spring Cache的默认底层实现,新建项目的本地缓存模块可优先选择Caffeine。W-TinyLFU缓存淘汰算法传统算法局限性:LRU(最近最久未使用)可能淘汰高频但短期未访问的条目;LFU(访问频率最低)需要为每个条目维护精确的访问计数器,内存开销大。设计思想。
2025-12-25 14:48:45
1062
原创 消息队列中间件RabbitMQ基础——Spring AMQP、路由模型到可靠性
花了四天时间补了个后端技术栈,用下面一张图就能概括了。相比远程调用,消息队列的意义可以简要概括为解耦与缓存生产者端几乎不会出现问题,重试重连解决不了基本就没办法了,通常不用管;MQ通过持久化来保证数据可用,现有持久化及队列方案都是默认的,也不用配置;消费者端Spring也提供了自动应答机制,唯一要处理的就是指定重试上限消息转发的死信交换机,让人工介入。
2025-12-12 19:25:42
700
原创 Redis基础
两天学了redis,其实没啥东西,不同类型数据直接存到内存里作为缓存,Java只是通过中间件调用操作。现在最需要的是做个实际项目增加场景化处理的经验。
2025-11-24 15:37:27
768
原创 力扣100题(更新中)
int j = 0;// 记录非零元素的放置位置// 第一步:将所有非零元素移到数组前端i++) {= 0) {j++;// 第二步:将剩余位置补零i++) {性能问题可以利用数据结构本身特性解决。完全自己想出来的第一个高效率算法,自顶向下设计,可能的分支和边界都考虑清楚后再上手写代码,事倍功半。展示一个双指针法OnmO(n+m)Onm解相交链表的方案:该问题由于相交后完全一致,核心矛盾的就是链表长度不同带来的差异长度相同的链表c和d一次遍历比较即可找到交点3。
2025-11-12 14:22:21
890
原创 RPFM开发全面战争mod——SFO修正
做mod的想法从萌生,学习工具到具体落地,大概历时一周,本段经历其实和计算机领域的技术无关,核心只是表单数据的修改,用到的辅助代码也十分基础,但作为第一次实际接触并解构大公司的产品,最终的收获远远大于修改数据本身。首先是惊叹于大公司的开发模式,各基础组件拼成个体,个体组成兵牌,再根据不同层面进行设置属性和归属等,解耦做的真的非常好。各组件单独维护,不会干扰上层的调用逻辑,如此多的资源被能几张表组织地井井有条,设计时下的功夫可见一斑。对我个人来说,首先方法论上学到了开发前设计的重要性。
2025-10-15 15:37:46
1297
原创 Java体系总结——从基础语法到微服务
多态与反射二者都是提高可扩展性的设计,多态提高扩展性的方式是继承链(实现链),类之间有的继承(实现)关系时才能使用多态扩展功能;而反射则更灵活,该机制允许我们在程序运行时操作任意类型的类,甚至获取私有成员和方法,但其灵活性也是一把双刃剑,需要酌情使用。JDK代理与CGLIB代理代理是在不修改原方法的基础上实现功能扩展的设计模式,静态代理是基于继承(实现接口)和聚合的方法重写,使用起来很不灵活,后续维护成本高。JDK代理。
2025-10-08 13:41:09
802
原创 Java微服务
本文围绕微服务技术落地展开,从基础支撑到框架选型层层递进:首先以 SpringBoot 为基石,其通过将依赖封装为 “启动器”(Starter),打包生成的可执行 JAR 包内置内嵌服务器,无需额外部署容器,为微服务拆分与独立部署提供关键支撑。随后介绍分布式远程调用框架 Dubbo:它以 RPC 为核心,借助 ZooKeeper 实现服务注册与发现 —— 提供者自动注册服务,消费者动态获取地址,ZooKeeper 还能监控服务健康;但 Dubbo 聚焦服务通信,需额外整合其他组件才能满足完整微服务需求。
2025-10-02 16:34:54
683
原创 SSM框架——Spring、SpingMVC、Mybatis
本文围绕 SSM 全栈框架展开,串联 Spring、Spring MVC 与 MyBatis 的核心逻辑。Spring 以 IOC 解耦对象管理、AOP 实现无侵入扩展,为框架打基础;Spring MVC 封装 Servlet,用注解简化 Web 请求与页面渲染;MyBatis 靠动态代理省 JDBC 冗余操作,让数据库交互更轻盈。MyBatis-Spring 作桥梁,将三者拧成整体。
2025-09-17 19:36:03
1166
原创 Java设计模式
学到这里对设计模式也算有了自己的理解,设计模式的目的可以再度精简为维护扩展性,降低耦合度维护扩展性开闭原则里氏替换,子类要可以替换基类而不出错,要求语义和异常定义一致依赖倒转降低耦合度单一职责接口隔离迪米特法则,对象间少了解,仅和成员、返回值、参数交流聚合复用。
2025-09-04 11:23:11
1047
原创 JavaWeb开发
本文围绕Java Web开发展开,涵盖浏览器工作原理、Tomcat服务器安装配置、Servlet服务端程序、JSP动态页面技术、前后端交互及用户信息管理系统案例等内容。
2025-08-03 11:02:22
1134
原创 前端基础——B/S工作原理、服务器与前端三大件
是简单自测版的服务器,Nginx则是大型生产环境下可用的代理服务器,该系统由俄罗斯站点开发,该系统可完成负载均衡,动静分离,正向代理和反向代理等十四个功能正向代理指给浏览器配置代理服务器,即浏览器请求经过代理服务器转发请求;反向代理指访问节点内部多台物理机仅需一次登陆访问所有,相关基础知识可见Nginx详解。该系统性能优异,占内存少,并发性高,目前国内大厂如BAT等在web端都使用Nginx。由于Linux系统更稳定,web服务器也多部署在Linux上,本文也尝试在Linux上部署Nginx。
2025-07-18 18:25:35
1187
原创 扩散生成基础原理(三)——DDIM、LDM与diffusers代码实践
本文系统讲解了扩散生成模型的三大核心模块:DDIM隐式去噪扩散模型、LDM潜空间扩散模型及diffusers代码实践,通过理论推导与工程实现结合的方式,揭示了高效图像生成的技术原理。
2025-07-18 15:06:20
1137
原创 扩散生成基础原理(二)——DDPM概率去噪扩散模型
DDPM(扩散概率模型)是伯克利团队提出的革命性图像生成模型,通过模拟热力学扩散过程实现高质量图像合成。其核心创新在于将生成任务拆解为「前向加噪」与「反向去噪」两个阶段:前向过程:通过马尔科夫链逐步向图像注入高斯噪声,最终将图像完全破坏为随机噪声,数学上表现为图像分布随噪声强度增加逐渐趋近高斯分布;反向过程:训练神经网络(如UNet)学习噪声预测器,通过逐步去噪从纯噪声中还原图像,其关键突破在于将去噪过程建模为可学习的概率分布。
2025-07-14 14:52:48
497
原创 扩散生成基础原理(一)——发展历程与前置知识
本文系统梳理了扩散模型从理论到应用的发展历程。文章还介绍了AE、VAE等生成模型基础知识,分析了扩散模型的技术演进路径。通过UNet结构解析和公式推导,完整呈现了扩散模型从理论到代码实践的全貌。
2025-07-14 11:05:17
1106
原创 Java反射与注解
注解是Java的基本文件之一,通过创建类给出的文件类型就能看出:自定义注解的方法是使用@interface// 注解内的成员变量需要(),可用default 设置默认值,否则需在添加注解时显式指定// 注解修饰Person类,当注解成员为value时可省// 输出为@Annotation.MyAnnotation(value=person1)
2025-07-12 16:51:12
1101
原创 Java多线程
本文介绍了Java中多线程启动、同步与通信方法,并给出了两个案例,同时对线程的执行状态结合操作系统原理作了简单分析。多线程在利用多核提高执行效率的同时也带来了数据安全上的问题,保证数据安全前提下提高效率是开发者的主要目标。具体方法就是把锁住的块尽可能变小,能锁代码块就别锁方法,能锁对象就别锁类。
2025-07-09 17:02:06
1018
原创 diffuser使用手册
其实用起来并不复杂,就是前置知识太多。本本文介绍了diifusers库生成图像的部分使用方法,包括管道,调度器和模型的使用,如何手动构建图像生成过程,大致流程是:加载模型,创建文本,生成噪声,循环去噪,解码图像。如果仅仅需要生成图像,并对图像质量没有要求的话,使用快速管道传prompt就能实现,要实现部分可控只需调用几个插件,如特定类型的用LoRA,指定骨架或形状的用controlnet。但若要保证图像质量,并且训练专属于自己的模型就复杂了,可能需要在多次调用管道,并且自行编写循环去噪方法。
2025-06-17 15:23:27
1357
原创 LDStega论文阅读笔记
现有的生成图像隐写方法在可控性、可用性和稳健性方面仍面临挑战,因此难以应用真实场景,所以作者设计了一种基于潜在扩散模型的实用且强大的生成图像隐写术,称为 LDStega。LDStega以可控条件文本作为输入,并在潜在扩散模型的相反过程中设计了一种编码策略,将潜在空间生成与数据隐藏耦合。编码策略从由秘密数据引导的截断高斯分布的候选池中选择一个截断区间,以生成 stego 潜在空间。随后,将隐写潜在空间输入解码器以生成隐写图像。相反的过程中,接收器从有损重构潜在空间的全局高斯分布中提取秘密数据。
2025-06-11 15:51:58
1563
1
原创 Fractal Generative Models论文阅读笔记与代码分析
作者首先提出模块化是计算机科学的基石,它将复杂的功能抽象为原子构建块故本文也将生成模型抽象为原子生成模块,引入了一个新的模块化水平。我们的方法通过递归调用原子生成模块来构建一种新型的生成模型,从而产生自相似的分形架构,我们称之为分形生成模型。使用自回归作为原子生成模块,在似然估计和生成质量上都取得了不错的效果,并且认为可能在生成领域打开新范式。
2025-06-08 15:55:33
1136
1
原创 Attention Is All You Need论文阅读笔记
摘要中提到序列传导模型中性能最好的是用注意力机制连接编码器和解码器的框架,但该框架仍基于复杂的递归和卷积神经网络,故文章提出了一种完全基于注意力机制,无需递归和卷积网络的框架。实验结果显示模型的质量上乘,并且训练时间明显减少。由前置知识中的注意力模型我们知道,RNN网络虽然解决了元素相关依赖的问题,但是其输入取决于上一轮状态,训练过程的效率较低。“这种固有的 Sequences 性质排除了训练样本中的并行化,这在较长的序列长度下变得至关重要,因为内存约束限制了样本之间的批处理。
2025-05-29 10:30:02
1908
1
原创 Java处理IO流
本章学习了Java对文件的处理方法,处理任意字节文件的FileStream字节流,用于文本处理的FileReader和FileWriter字符流,给二者提高效率的Buffered缓冲流,应用较少作为了解的Data数据流和标准输出流,将对象转为字节传输序列化和反序列化的对象流方法,以及操作文件和目录的File文件对象。
2025-05-24 10:51:57
1014
原创 Web安全基础
是简单自测版的服务器,Nginx则是大型生产环境下可用的代理服务器,该系统由俄罗斯站点开发,该系统可完成负载均衡,动静分离,正向代理和反向代理等十四个功能正向代理指给浏览器配置代理服务器,即浏览器请求经过代理服务器转发请求;反向代理指访问节点内部多台物理机仅需一次登陆访问所有,相关基础知识可见Nginx详解。该系统性能优异,占内存少,并发性高,目前国内大厂如BAT等在web端都使用Nginx。由于Linux系统更稳定,web服务器也多部署在Linux上,本文也尝试在Linux上部署Nginx。
2025-05-19 18:59:06
1762
原创 内网Windows挂载目录到公网服务器
挂载上以后发现模型能跑,但是速度真的很慢:说是预计六分钟,但是十分钟了还没动,如果在本地跑的话也就一分钟不到,实现以后回过头一想这个方案还是不行。以前受限于网络环境不好上传模型,现在直接调用模型不还是得被网络环境限制吗?现在一加载个模型直接把校园网干满了,而且速度这么慢会不会导致模型加载的其他问题。
2025-04-15 19:55:02
911
原创 复现github开源项目—以CRoSS为例
现在回头看来复现的步骤不难,新建个conda环境,几个库一装,下载个模型就能跑了,但我几乎折腾了四五天。一方面是有的基础环境,比如:1,python版本并没有在README中说明,报了很多不相干的错导致浪费了很多时间;2,另一方面是做事不够仔细,步子还迈的大,想一步到位使用最新的模型,却忽视了调用的方法根本都不一样,又浪费了很多时间;3,最后是模型动辄几十个G,下载上传速度慢,尤其是使用服务器,对网络环境要求高,又耽误了些时间。
2025-03-27 12:39:38
1172
3
原创 diffuser库使用本地模型生成图像
本文记录了diffuser库使用模型生成图像的详细过程:包括库和扩散生成的基本认识;模型下载;diffuser库的使用和生成图像的示例代码。这是手动生成图像的第一步,但也是关键一步,后续可以根据继承该模型的不同模块,调整参数和生成手段,达到自己想要的效果。
2025-03-05 14:38:59
1614
1
原创 pycharm远程连接服务器运行pytorch
这在本科阶段应该是得折腾个把礼拜的事,现在没费多少劲就解决了,一方面是现在AI和网络发展的快,获取信息太容易了;另一方面是个人成长经验也丰富了,遇到事直到怎么解决,方向明确,报错就解决错,一个个解决了自然就得到想要的结果了,所谓事缓从恒,事急从权;事缓则圆,事急则乱。
2025-02-26 16:40:34
1084
2
原创 基础算法总论
算法往往出现搞完一个就忘了前面学过方法的问题,所以在最后再总结一遍,帮助比较理解。递归:解决问题的步骤完全相同,如斐波那契数列等,每次只要更新参数调用自身方法即可。迭代法与递归相比,实现更简单,代码简洁,可读性强,在数学定义和代码间可以很容易转换。以皇后问题作为递归示例,流程图如下:大致过程为:1,检查放置合法性。遍历当前已放置的皇后,分别检查列和对角线冲突。2,设置递归出口。当放置行为最后一行时,说明所有皇后都放置好了,将结果保存。
2025-01-14 18:36:07
1019
原创 密码学精简版
本章学习了密码学的两大分类,对称密码和非对称密码,对称密码现在就用AES,非对称最安全的是椭圆曲线,详细实现过程这换那换的其实很麻烦,非数学专业很难理解也记不住,学习算法特性和应用场景即可。对称密码基本能实现信息的保护,但因为密钥作为信息也要在网络中传递,为了保证密钥的安全,需要使用非对称密码,此外非对称密码还可以实现数字签名鉴权过程。不同于加密过程,散列将不等长消息输出等长摘要,可用于验证完整性。
2025-01-03 18:04:47
1917
2
原创 计算机网络压缩版
本文章大致介绍了计算机网络的整体结构,以及部分实现方法的原理,前期学习作为简单了解暂时够了,以后有需求可以再顺着方向继续研究。
2024-12-23 19:27:21
1215
原创 数值分析—非线性方程的数值解
研究背景形如x−tanx=0x-tanx=0x−tanx=0、xlnx+e−x2+sinx=0xlnx+e^{-x^2}+sinx=0xlnx+e−x2+sinx=0等称为非线性方程,自变量之间并非简单的线性关系,这种问题我们无法通过其结构求解,需要其他的逼近方式,本章将基于该问题介绍两种方法——二分法,迭代法。二分法预备知识零点定理:若f(x)∈[a,b]f(x)\in[a,b]f(x)∈[a,b]且f(a)f(b)<0f(a)f(b)<0f(a)f(b)<0,则f(x)f(x
2024-12-13 13:45:15
1338
原创 数值分析—数值积分
研究背景积分的数学解法为牛顿莱布尼兹公式,数学表示为∫abf(x)dx=F(b)−F(a)\int_{a}^{b} f(x)dx=F(b)-F(a)∫abf(x)dx=F(b)−F(a),但应用该方法有如下困难:1,f(x)f(x)f(x)的原函数有时不能用初等函数表示,如e−x2e^{-x^2}e−x2和sinxx\frac{sinx}{x}xsinx;2,原函数可以用初等函数表示,但很复杂,如x21+2x2x^2\sqrt{1+2x^2}x21+2x2;3,f(x)f(x)f(x)本身无表
2024-12-09 20:48:27
1715
2
原创 数值分析—函数插值
研究意义该研究可以解决连续值的预测问题。给定离散数据,要求预测其中为给定点的函数值,过程有些类似机器学习,都是建立曲线拟合离散点的过程。数学表达为在一个函数类中找到一个简单函数p(x)p(x)p(x)(通常为多项式),使p(xk)=f(xk)=ykp(x_{k})=f(x_{k})=y_{k}p(xk)=f(xk)=yk,其中p(x)p(x)p(x)为插值函数,f(x)f(x)f(x)为被插值函数,xkx_{k}xk为插值节点,[a,b][a,b][a,b]为插值区间。该方法的关键在于,如何求
2024-12-07 11:05:20
1498
原创 数值分析—线性方程组的数值解法
本章学习了线性方程组的近似数值解法,主要用Jacobi和改进GS两种迭代方法,流程是根据已有矩阵构建x1xnx1...xn的相关表达式,带入计算迭代求解,GS法只是将前面已算好的k+1阶带入后续变量求解,加快收敛速度。该方法的收敛性判别主要分三步:特殊情况(对角占优或对称正定)、计算迭代矩阵范数、求谱半径。
2024-12-02 15:17:12
1370
原创 pyspark实现基于协同过滤的电影推荐系统
要说推荐系统也从属于机器学习?我是有点doubt的,它可一点没学全是我教的。不过就到现在的学习经历来说,计算机内的定义和区分并不十分严谨和界限分明,流传的很多说法甚至根本不是它的真正意思,只是因为它看起来是这样而一直被这么叫,所以实现之前不管对方是大佬还是小白,多问一嘴也是给自己省事。
2024-11-28 21:03:29
1928
原创 数值分析—绪论:误差
该方向主要研究计算机求解数学问题的方法,主要使用离散、迭代、近似替代的思想,来将原本不易求解的数学问题求出数值解(包括但不限于,线性方程组、数值微积分、微分方程数值解等),同时要求对结果从误差、稳定性、收敛速度和计算量等方面进行评价。简单来说,就是。
2024-11-15 17:10:37
1453
原创 pytorch实现深度神经网络DNN与卷积神经网络CNN
本次算是初学pytorch的第二次实践,对于一些方法和原理有了更进一步的理解:清空梯度避免干扰,小批量时可不清空;继承方法建立模型和数据集;卷积核用于保存图像空间上的相邻关系,池化层选特征;多通道用滤波器降维,学习后再升维。至此觉得可以算是入门了,但仍然路漫漫,学习网络模型结构的搭建,各种优化算法和损失函数,池化操作,步长卷积核大小的设置,这些的工作才是大头,此外将深度学习与什么相结合,这更是关键。
2024-11-07 17:16:31
1408
原创 深度学习—Pandas标签库基础
本节学习了深度学习pandas库的使用,包括创建标签,访问和增加数据,比较关键的是在excel中的导入和使用,该库基于numpy实现,大部分方法可以直接使用,至此我们完成了深度学习数据操作的内容,下一步需要学习的就是网络的相关知识,包括如何搭建和调整参数。
2024-11-06 16:18:13
890
原创 深度学习—Matplotlib绘图库基础
本篇文章介绍了matplotlib绘图库的基本操作,创建窗口,根据数据绘制图像的过程,常用的就是线型图plot和直方图hist,作为技术人员确实暂时不用花太多心思在图片展示的美观性上,否则多少有点舍本逐末了,不过以后如果搞工程可能确实需要进一步学习。
2024-11-05 10:42:53
849
战锤mod开发工具RPFM表单
2025-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅