- 博客(21)
- 问答 (1)
- 收藏
- 关注
原创 数据库和数据仓库的本质区别
数据库与数据仓库的核心区别在于应用场景和设计理念。数据库采用规范化设计支持实时事务处理(如订单查询),强调数据即时一致性;数据仓库采用星型模型等反规范化结构,通过事实表与维度表的冗余设计优化分析查询(如销售分析)。数据库面向高频业务操作,数据仓库侧重历史数据分析,前者实时更新,后者定期批量加载。这种架构差异使数据库适合日常业务处理,数据仓库则专为战略决策服务。
2025-12-17 10:23:20
406
原创 有状态和无状态的深入对比(自用,已归纳)
有状态与无状态架构的核心区别在于是否保存客户端状态信息。有状态服务会记录会话数据,导致线程安全问题且扩展性差;无状态服务每个请求独立处理,易于扩展但需客户端传递完整信息。在Spring MVC中,Controller默认单例,应避免可变实例变量,通过参数传递或ThreadLocal实现线程安全。有状态架构需处理状态同步问题,而无状态架构更适合分布式系统扩展。设计时应根据业务需求权衡状态管理方式。
2025-12-09 18:13:50
746
1
原创 spring处理请求全流程(自用,已归纳)
Spring MVC请求处理与线程模型解析 本文深入分析了Servlet容器(如Tomcat)的线程处理机制及Spring MVC的并发请求处理流程。Servlet容器采用多线程架构处理并发请求,每个请求由线程池中的Worker线程处理。Spring MVC组件设计为无状态单例模式,确保线程安全。文章详细阐述了从请求接收到响应返回的全流程,包括同步和异步两种处理模式:同步模式下同一线程完成全部处理;异步模式则释放容器线程,由其他线程完成后续任务。特别强调了Tomcat线程池的优化机制(线程重用而非频繁创建销
2025-12-09 17:27:56
1002
1
原创 多实例下分布式锁的实现(待完善)
摘要:本文展示了两种使用Redis实现分布式锁的方法。第一种使用Redisson的RLock实现定时任务锁,通过tryLock方法获取锁并设置自动释放时间;第二种使用Redis的setIfAbsent实现幂等锁,确保每月账单只生成一次,并设置与当月天数相同的过期时间。两种方法都解决了分布式环境下的任务重复执行问题,分别适用于不同的定时任务场景。
2025-12-05 10:16:31
199
原创 JSONObject转型失败原因分析以及JSONObject与Map的关系
摘要:本文分析了Java中JSONObject类型转换的常见问题,重点解析了向下转型失败的原因以及与Map接口的关系。通过对比向上转型和向下转型的特性差异,指出强制转换只是改变引用视角而非创建新对象。文章提供了多种安全转换方案,包括类型检查、工具方法封装和JSON库使用建议,并强调遵循类型安全原则和最佳实践,如优先使用向上转型、进行类型验证等。最后总结了强制转换的本质与toString()重建的区别,阐明Java类型系统的安全性设计。
2025-11-03 15:55:36
388
原创 为什么向上转型可以,向下转型不可以,向上转型不会丢失数据吗?
摘要: 文章分析了Java中向上转型安全而向下转型危险的原因。向上转型(Dog→Animal)只是缩小访问范围,完整子类对象仍保留在内存中,符合"is-a"关系。而向下转型(Animal→Dog)可能指向实际错误的子类对象,导致ClassCastException,因为编译期无法确定运行时类型。通过内存结构分析可见,向下转型会试图访问不存在的方法/字段。正确做法应使用instanceof检查或通过多态避免转型。这种设计确保了Java的类型安全,避免了C++式的危险类型转换。(149字)
2025-11-03 15:41:50
305
原创 HttpServletRequest和HttpServletResponse
HttpServletRequest封装了HTTP请求信息,提供获取请求方法、路径、参数等常用方法。HttpServletResponse封装HTTP响应,需先设置响应头再写入内容,注意使用flush()而非close()来确保数据发送。这两个接口屏蔽了底层HTTP协议细节,开发者只需关注接口方法,无需关心具体实现类。Servlet设计初衷支持多种协议,但实际上仅用于HTTP处理,存在一定过度设计。
2025-10-30 15:10:18
914
原创 Jenkins容器安装
怀疑镜像源有问题的话,参考这一篇https://blog.csdn.net/qq_61370853/article/details/151226967?将下载好的default.json替换掉目录内的同名文件(我是用finalshell直接传文件的,你也可以使用文件替换命令,或者wget [镜像文件链接] 将镜像配置下载到此路径)。创建Jenkins工作目录,将容器内目录挂载到此目录上,即不需要进入docker更改文件,直接在本主机上更改。输入密码后,出现如下界面,推荐选择第一种,选择后等待插件安装。
2025-09-16 17:58:55
834
原创 解决:安装Jenkins时出现“该Jenkins似乎已离线
找了各种解决方法,怎么改都不可用,一直没怀疑他们的解决方法里的镜像源还能不能用。如果返回结果是404,说明该镜像源不可用。这个时候就要找其他镜像源!把镜像源换成你的,version版本换成你的jenkins版本。第一个想到镜像源的问题,三个小时才发现网上给的清华源不可用。
2025-09-05 17:01:36
327
原创 建造器模式和构造器模式的选取场景
条件1说明了这个类对象参数有二十几个,你想象一下你的new 对象是什么样,它会是这个样子new Config('1','auth','Body','name',1,'4',1,null,100,true,null,false,null,'2',null,1,0,'params','1'....),这种情况大大增加开发人员的错误率,并且可读性极差。总结:如果这个对象不是复杂对象(我举得那种例子),使用建造者模式是没什么必要的反而显得臃肿,而如果是复杂对象推荐使用建造者模式。如果通过建造者模式生成对象呢。
2025-09-03 11:09:07
217
原创 git 提交规范
本文介绍了Git提交信息的标准格式,即"subject: message"结构,并列举了12种常见的subject类型及其适用场景。包括新增功能(feat)、bug修复(fix)、文档变更(docs)、代码风格调整(style)、代码重构(refactor)、性能优化(perf)、测试相关(test)、构建工具变更(build)、CI配置(ci)、辅助工具(chore)和回滚(revert)。每种类型都配有简明定义和示例,帮助开发者规范提交信息,提高版本管理效率。
2025-09-01 16:30:19
295
原创 小白U盘制作导致蓝屏解决方法
摘要:使用小白装机工具制作U盘时电脑蓝屏报错(代码inaccessable_boot_device),解决方案为进入BIOS将硬盘启动模式改为AHCI后正常启动Win11系统。该问题可能与启动设备访问模式有关,具体原理尚待进一步研究。(98字)
2025-09-01 15:33:20
125
原创 使用阿里云服务器Ubuntu搭建wordpress以及使用phpMyAdmin的过程
从大量复制粘贴垃圾文档筛选出大佬们搭建workpress的流程
2023-11-23 21:29:40
221
转载 关于yarn install找不到yarn解决方法
添加环境变量:系统变量path添加 C:\WINDOWS\system32\node_modules\yarn\bin。安装 npm install yarn (最好不要用别的安装命令 不要加 -g,会没效果)卸载 npm uninstall yarn -g。重新打开cmd执行:yarn -v 查看版本号。执行yarn -install。
2023-10-31 12:49:17
1953
5
原创 Vue动态图片传输
img :src= "require(`../assets/${item.icon}`)" alt="失败">使用字符串拼接解决not found 404问题。icon: '荔枝.png',
2023-09-16 11:27:14
121
1
转载 博客摘录「 SpringBoot项目目录POJO包」2023年7月22日
JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean。但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat) 的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。Java Bean 是不能被跨进程访问的。JavaBean是一种组件技术。
2023-07-22 21:58:00
154
原创 BeanHandler<Student>(Student.class)一直为null解决办法
本人就是因为连接池工具类因为自动补码给我多写了一个方法导致一直连接为null,查遍了资料也没有解决,最后突然想起来Druidutils并不是自带的类而是我自己写的类,终于找到了错误。
2023-03-03 00:32:09
319
转载 JavaScript基础知识导图
1.JavaScript变量2.DOM基本操作3.数组4.函数基础5.运算符6.流程语句7.正则表达式8.字符串函数9.Window对象
2023-02-06 07:49:32
120
原创 Tomcat访问不安全的原因
web学习中出现的错误:原本输入的是:https://localhost:8080其实应该是:http://localhost:8080另一个原因是从前将windos功能中的:Internet Information Services给关闭了,将其重新打开即可。
2023-01-06 15:40:49
1297
1
为什么这个不能拖动啊,
2021-09-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅