自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 自结八股笔记

对于局部,本类,父类中的成员变量分别使用规则:局部直接使用,本类this.,父类则super.。封装:将对象的属性和方法结合在一起,对外隐藏对象内部细节,仅通过对象提供的接口供外部调用,封装目的增加安全性,解耦,使对象更加独立。多态:不同类的对象对同一接口实现不同相应,即一个接口,使不同实例有不同的实现,主要有重载与重写。方法的重写(覆盖):方法的名称一样,参数列表一样,创建的使子类对象,优先使用子类方法。方法的重载:方法名称一样,参数列表不同,编译器根据传入的参数来确定使用什么方法。

2025-07-07 15:55:09 213

原创 sql自结

增删改表内容查询语句约束。

2025-05-18 20:50:19 121

原创 Session与redis实现分布式Session

在集群或微服务架构中,用户的请求可能被负载均衡到不同的服务器,如果 Session 存储在单机内存中,其他服务器无法读取,导致用户状态丢失(如登录失效)。通过 Redis 实现分布式 Session,既能解决多服务器间的状态共享问题,又能保证高性能和可扩展性。是一种常见的解决方案,可以解决传统单机 Session 在多服务器环境下的共享问题。如果 Session 存储对象,需选择高效的序列化方式(如 JSON、Protobuf)。(内存数据库,高性能),所有服务器共享同一份 Session 数据。

2025-04-21 15:48:45 869

原创 文档数据库与普通数据库区别

选文档数据库:若数据模型多变、需要快速迭代、无固定关系或需水平扩展。选关系型数据库:若需严格的事务、复杂查询或数据高度规范化。现代数据库如PostgreSQL已融合两者特性(支持JSON文档和关系模型),可根据实际需求混合使用。

2025-04-19 15:27:10 1106

原创 es能提高模糊查询的性能原因

配置。

2025-04-15 09:45:34 771

原创 Java虚拟机(JVM)笔记

VM(Java Virtual Machine)是Java平台的核心组件,它使Java程序能够实现"一次编写,到处运行"的能力。

2025-04-14 15:08:09 306

原创 UUID 不适合索引的核心原因

UUID(通用唯一识别码)虽然能保证全局唯一性,但在数据库索引中使用时存在明显的性能缺陷。

2025-04-11 13:40:49 608

原创 Java线程池笔记

核心线程:线程池中有两类线程,核心线程和非核心线程。3.提高线程的可管理行,线程是稀缺资源,如果无限制的创建,不仅会消耗大量系统资源,还会降低系统的稳定性,使用线程池可以进行对线程进行统一分配,调优和监控。如果不使用类似线程池的容器,每当我们需要执行用户任务的时候都要去创建新的线程,线程执行完成之后,线程就会被回收了,这样频繁的创建和小会线程池会浪费大量的。如果不指定,会新建一个默认的线程工厂。线程销毁:如果线程池中的线程数量超过了核心线程数,并且这些线程在指定时间内没有执行任务,则这些线程会被销毁。

2025-04-09 22:01:43 937

原创 工厂加策略模式

将执行逻辑注入接口handler中,不同的策略(逻辑)实现handler接口,生成不同的策略类,根据传进来的map中的类型执行不同的逻辑,实现对应的策略类。设计工厂将所有情况枚举出来,就将所以逻辑注册到工厂中了,以后再添加逻辑,只需在工厂中添加枚举即可。生成map将if逻辑判断的类型存储到k中,将执行的对应逻辑存储到v中。目的:解决大量逻辑重复的代码。

2025-04-09 17:31:49 121

原创 MongoDB笔记

MongoDB 是一种流行的,属于文档型数据库(Document Database)。它由 MongoDB Inc.(原 10gen 公司)开发,于 2009 年首次发布。

2025-04-09 16:56:44 313

原创 redis笔记

Redis 的单线程模型通过内存存储 + I/O 多路复用 + 无锁设计,在大多数场景下实现了极高的吞吐量(10万+ QPS)。其瓶颈通常在于网络带宽或客户端性能,而非 CPU。

2025-04-08 19:42:03 341

原创 XXL-JOB + 线程池优化超时订单关闭任务方案

XXL-JOB调度中心 → 触发 → 执行器(多节点) → 线程池 → 批量处理订单关闭任务。通过以上方案,可以将超时订单关闭任务的性能提升10倍以上,同时保证系统的稳定性和可靠性。:CRON调度(如:0 0/5 * * *?利用XXL-JOB分片广播特性,将订单均匀分配到不同执行器节点。根据服务器CPU核心数设置核心线程数(建议N+1)记录任务执行指标(处理订单数、成功率等)监控线程池状态(活跃线程、队列大小等)通过线程池队列大小控制内存占用。每个节点再通过线程池并行处理。最大线程数根据业务峰值设置。

2025-04-07 21:53:20 1169

原创 微服务笔记

Mapping注解标注在controller层是接受请求,标注在feign层是发送请求。OpenFeign自带负载均衡作用,自动向各个微服务均衡发送请求。在yml中配置OpenFeign。帮助各个微服务之间发送请求调用。

2025-04-04 15:55:36 360

原创 Sa-Token 详解

SaCheckPermission("user:delete") // 必须具有 user:delete 权限。return "用户信息: " + StpUtil.getLoginId();return "自定义Token-" + loginId;is-read-body: true # 是否从请求体读取 Token。@SaCheckRole("admin") // 必须具有 admin 角色。return "登录成功";// 获取当前用户的 Session。return "管理员页面";

2025-04-01 17:18:08 977

原创 Java 线程的 6 种状态

while (true) {} // 模拟运行。

2025-04-01 16:44:13 1079

原创 Kafka 技术详解

每个 Partition 只能被 Group 中的一个 Consumer 消费(实现负载均衡)。每个 Partition 可以有多个副本(Leader + Follower),提高容错性。每条消息在 Partition 中的唯一标识(类似数据库自增 ID)。:手动提交 Offset(避免自动提交丢失数据)。:Producer 不等待确认(可能丢失数据)。(决定消息写入哪个 Partition)。(动态调整 Partition 分配)。消息的分类单位,类似于数据库中的表。:Leader 写入后确认(默认)。

2025-04-01 16:19:47 742

原创 面试题spring

主要就是:private, protect,public。private的范围在一个类内。protect的范围在一个包内。public的范围就是全部。

2025-04-01 15:43:54 209

原创 面试题集合

在扩容时,HashMap会扩容为2的n次幂(2^n),HashTable会扩容为 2n+1。3 从使用方面,在插入时ArrayList的时间复杂度为O(n),如果在队尾的话就是O(n),但是插入涉及扩容的话时间复杂度就为O(n)。线程的安全方面,HashMap不是线程安全的,hashTable是线程安全的,其底层是使用Synchronzied实现的,所以效率上比HashMap低。集合主要就是 List,Set,Map三种结构,List存储有序的集合,Set存储不重复的集合,map存储键值对。

2025-04-01 12:17:45 209

原创 并发与并行

(宏观上是同时处理多个任务,微观上其实是CPU在多个线程之间快速的交替执行。操作系统中有一个组件叫做任务调度器,它将CPU的时间片(windows下时间片最小约为15毫秒)配给各个线程使用,在一个时间段的线程运行时,其他线程处于挂起状态,这种就称之为并发。(当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这就被称之为并行。并发可以在一个CPU处理器和多个CPU处理器系统中都存在。(多个CPU处理器系统其中的一个CPU也可以进行并发操作)

2025-03-26 09:59:53 243

原创 进程与线程

每个公司(进程)都有自己的资源,比如办公区、文件、员工等,这些资源彼此独立。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。共享资源:线程属于同一个进程,多个线程可以共享该进程的内存和资源,因此它们可以更高效地协同工作。一个公司(进程)可以有多个员工(线程)同时工作,他们可以协作完成任务,并且共享公司的资源,比如办公文具、电脑等。线程运行在进程中,一个进程可以有多个线程,如果一个进程崩溃了,所有线程也会崩溃;线程:通常在一个进程中可以包含一个或若干个线程。

2025-03-26 09:55:30 179

原创 Token 模式

JWT 是 JSON Web Token 的缩写,即 JSON Web 令牌,JWT 是通过对JSON进行加密签名来实现授权验证的方案,就是登陆成功后将相关信息组成 json 对象,然后对这个对象进行某中方式的加密,返回给客户端,客户端在下次请求时带上这个 token,服务端再收到请求时校验 token 合法性,其实也是在校验请求的合法性,只有通过校验成功才能访问后台。只有当用户输入的账号与密码与数据库中的匹配,系统就会生。而只有这个令牌,后台的接口的拦截器才会放行。

2025-03-25 15:21:20 267

原创 nginx 反向代理介绍

在没学习之前,我们的项目都是前端直接发请求 tomcat 服务器的。如下图tomcat 的作用:Tomcat 可以处理 HTTP 请求并将其传递给 Java 应用程序进行处理。学习了后,我们更希望将用户的所有请求交给。

2025-03-25 14:54:04 231

原创 简单的谈一下SpringMVC的工作流程

HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。DispatcherServlet收到请求调用HandlerMapping处理器映射器。DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。DispatcherServlet调用HandlerAdapter处理器适配器。

2025-03-19 11:37:18 226

空空如也

空空如也

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

TA关注的人

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