自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java线程池详解

参考 free-coder 视频做的笔记。

2025-08-18 20:31:31 376

原创 JMM内存模型

主要解决共享变量的可见性CPU有三级缓存,主存和本地内存的内容可能不一致,每个线程只能操作自己本地内存中的变量,无法直接访问其他线程的本地内存。如果线程间需要通信,必须通过主内存来进行。对于处理器,通过插入内存屏障(Memory Barrier,或有时叫做内存栅栏,Memory Fence)的方式来禁止特定类型的处理器重排序。

2025-08-17 15:46:10 238

原创 全局唯一Id

全局唯一id要为包括订单支付、优惠券等业务服务,所以不能轻易下线,需要达到,同时为了方便服务秒杀活动等,需要较高的1.全局唯一性:不能重复2.趋势递增:mysql的B+树索引的要求,如果不是趋势递增而是随机的话很容易出现页分裂和合并3.安全性:单调递增的id很容易被知道一天的订单量单调递增的优点:可以方便排序和统计缺点:信息安全性低。

2025-08-02 20:05:02 961

原创 RabbitMQ

一旦数量达到配置的数量,RabbitMQ 将停止在通道上传递更多消息,除非至少有一个未处理的消息被确认。

2025-07-30 19:24:25 995

原创 点评项目实战

因为首先相比来说会更麻烦一点儿,其次是由于线程时许错乱问题,比如一个线程1获取到数据库库存为40去redis里更新,这时候另一个线程2过来获取库存为0,然后也去更新,但是2先完成了更新,本来库存都为0了,1的更新请求才到redis 把库存更新为40了,就会出现明明显示的库存是40用户却下单失败。

2025-07-17 16:11:05 943

原创 MySQL八股

元组:元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。在二维表里,元组也称为行。码:码就是能唯一标识实体的属性,对应表中的列。候选码:若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为候选码。例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是候选码。主码: 主码也叫主键。

2025-05-26 21:28:17 656 1

原创 Redis(持续更新中)

读取数据先读缓存,缓存不命中再去数据库读取,然后将读取到的数据更新到缓存中缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。业务不合理的设计,比如大多数用户都没开守护,但是你的每个请求都去缓存,查询某个userid查询有没有守护。业务/运维/开发失误的操作,比如缓存和数据库的数据都被误删除了。黑客非法请求攻击,比如黑客故意捏造大量非法请求,以读取不存在的业务数据。

2025-05-10 15:43:24 797

原创 JUC学习笔记

AQS:抽象队列同步器,里面提供了一个双向链表组成的队列和一个state变量,其中state变量用volatile 修饰保证可见性,为0代表没人占有锁,为1时代表锁已经被占有,其他线程会通过CAS加锁,加锁失败后会被放入阻塞队列中,如果是公平锁,则发现有阻塞队列的时候直接去排队,如果是非公平锁,先尝试获取锁,能获取到的话就直接占有锁AQS设计的初衷就是帮助其他组件完成功能的框架,不希望产生自己的实例,所以定义为抽象类,

2025-05-06 23:08:49 859

原创 JavaSE

遍历List方法一:普通for循环i++){//list为集合的对象名遍历List方法二:增强for循环(使用泛型!遍历List方法三:使用Iterator迭代器(1)//如果要遍历时,删除集合中的元素,建议使用这种方式!遍历List方法四:使用Iterator迭代器(2)){collection的foreach遍历可以用lambda 表达式。

2025-04-14 14:58:35 691

原创 JavaWeb学习笔记

实现:在 Controller 方法执行前调用(适合权限校验):在 Controller 方法执行后、视图渲染前调用(可修改 ModelAndView):在整个请求完成后调用(适合资源清理)// 在 Controller 方法执行前调用@Override// 未授权// 中断请求// 放行请求// 在 Controller 方法执行后、视图渲染前调用@Override// 可修改 ModelAndView(如添加公共数据)= null) {

2025-04-14 14:58:01 373

原创 Spring相关八股

用@Scope注解 @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)

2025-03-20 18:47:13 188

原创 前端基础知识(后端开发)

超链接。

2025-03-16 23:34:12 243

原创 计网、操作系统八股(持续更新中,自用)

元组:元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。在二维表里,元组也称为行。码:码就是能唯一标识实体的属性,对应表中的列。候选码:若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为候选码。例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是候选码。主码: 主码也叫主键。

2025-03-08 00:26:19 1264

原创 后端开发笔记3 Spring、SpringBoot实战(持续更新中,自用)

此时的java命令输入之后没有反应,可能是某些环境配置有冲突,网上搜不到解决方案,自己又有jdk1.7,1.8,17太乱了,所以把所有的jdk都给删除了然后重新下jdk17,都没有改环境变量就好了,又可以运行了。解决了这个问题,在启动,又报错,很长一串,问了ai大概意思是源代码是jdk17写的,不能用环境变量的jdk8编译,这个简单,只要去下载jdk17然后配置环境变量(如上两步)即可。是视频教程给的命令打错了,unzip达成了upzip,直接复制过来导致出问题了,所以其实本来不用上文这些解决方案的。

2025-03-08 00:26:09 787

原创 MybatisPlus

Component/*** 插入时填充逻辑* @param metaObject 元对象*/@Override/*** 参数1:填充字段名* 参数2:参数值* 参数3:元对象*//*** 更新时填充逻辑*/@Override。

2025-03-01 15:27:34 1183

原创 算法(持续更新中 自用)

一切算法的本质都是穷举。

2025-02-21 23:19:40 252

原创 后端开发学习笔记2 数据库相关(持续更新中,自用)

使用@Results定义并使用自定义映射,使用@ResultMap使用自定义映射,和@Results紧挨着的注解会自动使用自定义映射,其他方法想用要在前面加上@ResultMap// 查询所有用户})// 根据id查询。

2025-02-18 11:48:07 653

原创 数据结构笔记(持续更新中,自用)

增删改查来说,当给定索引时,改查效率很高为O(1);

2025-02-10 15:26:31 727

原创 后端开发学习笔记(持续更新中,自用)

(2)水平分表:分为取模分表和范围分表,取模分表新增数据时IO操作多,效率低,范围分表则会造成“一方有难八方围观”的效果,可能只有最新的表会频繁使用,降低效率。对象引用存放在栈内存中。在测试类中,@Before修饰的方法会在测试方法之前自动执行,@After修饰的方法会在测试方法执行之后自动执行 ,可以设置前置方法为获取资源,后置方法为释放资源。静态方法属于类,类加载的时候就会分配内存,非静态成员不属于类而属于实例化对象,只有实例化之后才会存在,因此在类的非静态成员不存在的时候静态方法就已经存在了。

2025-02-10 15:25:19 1109

原创 有人可以帮忙看下这个为什么输入两个样例只输出一个结果吗

c语言,有人可以帮忙看下这个为什么输入两个样例只输出一个结果吗

2022-09-25 13:33:50 258 1

空空如也

空空如也

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

TA关注的人

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