<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[The_darklord的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/The_darklord</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; The_darklord]]></copyright><item><title><![CDATA[java线程池详解]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/150499634</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/150499634</guid><author>The_darklord</author><pubDate>Mon, 18 Aug 2025 20:31:31 +0800</pubDate><description><![CDATA[参考 free-coder 视频做的笔记。]]></description><category></category></item><item><title><![CDATA[JMM内存模型]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/150467123</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/150467123</guid><author>The_darklord</author><pubDate>Sun, 17 Aug 2025 15:46:10 +0800</pubDate><description><![CDATA[主要解决共享变量的可见性CPU有三级缓存，主存和本地内存的内容可能不一致，每个线程只能操作自己本地内存中的变量，无法直接访问其他线程的本地内存。如果线程间需要通信，必须通过主内存来进行。对于处理器，通过插入内存屏障（Memory Barrier，或有时叫做内存栅栏，Memory Fence）的方式来禁止特定类型的处理器重排序。]]></description><category></category></item><item><title><![CDATA[全局唯一Id]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/149860941</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/149860941</guid><author>The_darklord</author><pubDate>Sat, 02 Aug 2025 20:05:02 +0800</pubDate><description><![CDATA[全局唯一id要为包括订单支付、优惠券等业务服务，所以不能轻易下线，需要达到，同时为了方便服务秒杀活动等，需要较高的1.全局唯一性：不能重复2.趋势递增：mysql的B+树索引的要求，如果不是趋势递增而是随机的话很容易出现页分裂和合并3.安全性：单调递增的id很容易被知道一天的订单量单调递增的优点：可以方便排序和统计缺点：信息安全性低。]]></description><category></category></item><item><title><![CDATA[RabbitMQ]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/147284712</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/147284712</guid><author>The_darklord</author><pubDate>Wed, 30 Jul 2025 19:24:25 +0800</pubDate><description><![CDATA[一旦数量达到配置的数量，RabbitMQ 将停止在通道上传递更多消息，除非至少有一个未处理的消息被确认。]]></description><category></category></item><item><title><![CDATA[点评项目实战]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146802674</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146802674</guid><author>The_darklord</author><pubDate>Thu, 17 Jul 2025 16:11:05 +0800</pubDate><description><![CDATA[因为首先相比来说会更麻烦一点儿，其次是由于线程时许错乱问题，比如一个线程1获取到数据库库存为40去redis里更新，这时候另一个线程2过来获取库存为0，然后也去更新，但是2先完成了更新，本来库存都为0了，1的更新请求才到redis 把库存更新为40了，就会出现明明显示的库存是40用户却下单失败。]]></description><category></category></item><item><title><![CDATA[MySQL八股]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146442177</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146442177</guid><author>The_darklord</author><pubDate>Mon, 26 May 2025 21:28:17 +0800</pubDate><description><![CDATA[元组：元组（tuple）是关系数据库中的基本概念，关系是一张表，表中的每行（即数据库中的每条记录）就是一个元组，每列就是一个属性。在二维表里，元组也称为行。码：码就是能唯一标识实体的属性，对应表中的列。候选码：若关系中的某一属性或属性组的值能唯一的标识一个元组，而其任何、子集都不能再标识，则称该属性组为候选码。例如：在学生实体中，“学号”是能唯一的区分学生实体的，同时又假设“姓名”、“班级”的属性组合足以区分学生实体，那么{学号}和{姓名，班级}都是候选码。主码: 主码也叫主键。]]></description><category></category></item><item><title><![CDATA[Redis（持续更新中）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146427826</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146427826</guid><author>The_darklord</author><pubDate>Sat, 10 May 2025 15:43:24 +0800</pubDate><description><![CDATA[读取数据先读缓存，缓存不命中再去数据库读取，然后将读取到的数据更新到缓存中缓存穿透：指查询一个一定不存在的数据，由于缓存是不命中时需要从数据库查询，查不到数据则不写入缓存，这将导致这个不存在的数据每次请求都要到数据库去查询，进而给数据库带来压力。业务不合理的设计，比如大多数用户都没开守护，但是你的每个请求都去缓存，查询某个userid查询有没有守护。业务/运维/开发失误的操作，比如缓存和数据库的数据都被误删除了。黑客非法请求攻击，比如黑客故意捏造大量非法请求，以读取不存在的业务数据。]]></description><category></category></item><item><title><![CDATA[JUC学习笔记]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/147670949</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/147670949</guid><author>The_darklord</author><pubDate>Tue, 06 May 2025 23:08:49 +0800</pubDate><description><![CDATA[AQS：抽象队列同步器，里面提供了一个双向链表组成的队列和一个state变量，其中state变量用volatile 修饰保证可见性，为0代表没人占有锁，为1时代表锁已经被占有，其他线程会通过CAS加锁，加锁失败后会被放入阻塞队列中，如果是公平锁，则发现有阻塞队列的时候直接去排队，如果是非公平锁，先尝试获取锁，能获取到的话就直接占有锁AQS设计的初衷就是帮助其他组件完成功能的框架，不希望产生自己的实例，所以定义为抽象类，]]></description><category></category></item><item><title><![CDATA[JavaSE]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146167871</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146167871</guid><author>The_darklord</author><pubDate>Mon, 14 Apr 2025 14:58:35 +0800</pubDate><description><![CDATA[遍历List方法一：普通for循环i++){//list为集合的对象名遍历List方法二：增强for循环(使用泛型！遍历List方法三：使用Iterator迭代器(1)//如果要遍历时，删除集合中的元素，建议使用这种方式！遍历List方法四：使用Iterator迭代器(2)){collection的foreach遍历可以用lambda 表达式。]]></description><category></category></item><item><title><![CDATA[JavaWeb学习笔记]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146303943</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146303943</guid><author>The_darklord</author><pubDate>Mon, 14 Apr 2025 14:58:01 +0800</pubDate><description><![CDATA[实现：在 Controller 方法执行前调用（适合权限校验）：在 Controller 方法执行后、视图渲染前调用（可修改 ModelAndView）：在整个请求完成后调用（适合资源清理）// 在 Controller 方法执行前调用@Override// 未授权// 中断请求// 放行请求// 在 Controller 方法执行后、视图渲染前调用@Override// 可修改 ModelAndView（如添加公共数据）= null) {]]></description><category></category></item><item><title><![CDATA[Spring相关八股]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146397627</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146397627</guid><author>The_darklord</author><pubDate>Thu, 20 Mar 2025 18:47:13 +0800</pubDate><description><![CDATA[用@Scope注解 @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)]]></description><category></category></item><item><title><![CDATA[前端基础知识（后端开发）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/146246335</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/146246335</guid><author>The_darklord</author><pubDate>Sun, 16 Mar 2025 23:34:12 +0800</pubDate><description><![CDATA[超链接。]]></description><category></category></item><item><title><![CDATA[计网、操作系统八股（持续更新中，自用）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145551829</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145551829</guid><author>The_darklord</author><pubDate>Sat, 08 Mar 2025 00:26:19 +0800</pubDate><description><![CDATA[元组：元组（tuple）是关系数据库中的基本概念，关系是一张表，表中的每行（即数据库中的每条记录）就是一个元组，每列就是一个属性。在二维表里，元组也称为行。码：码就是能唯一标识实体的属性，对应表中的列。候选码：若关系中的某一属性或属性组的值能唯一的标识一个元组，而其任何、子集都不能再标识，则称该属性组为候选码。例如：在学生实体中，“学号”是能唯一的区分学生实体的，同时又假设“姓名”、“班级”的属性组合足以区分学生实体，那么{学号}和{姓名，班级}都是候选码。主码: 主码也叫主键。]]></description><category></category></item><item><title><![CDATA[后端开发笔记3 Spring、SpringBoot实战（持续更新中，自用）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145783829</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145783829</guid><author>The_darklord</author><pubDate>Sat, 08 Mar 2025 00:26:09 +0800</pubDate><description><![CDATA[此时的java命令输入之后没有反应，可能是某些环境配置有冲突，网上搜不到解决方案，自己又有jdk1.7，1.8，17太乱了，所以把所有的jdk都给删除了然后重新下jdk17，都没有改环境变量就好了，又可以运行了。解决了这个问题，在启动，又报错，很长一串，问了ai大概意思是源代码是jdk17写的，不能用环境变量的jdk8编译，这个简单，只要去下载jdk17然后配置环境变量（如上两步）即可。是视频教程给的命令打错了，unzip达成了upzip，直接复制过来导致出问题了，所以其实本来不用上文这些解决方案的。]]></description><category></category></item><item><title><![CDATA[MybatisPlus]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145858398</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145858398</guid><author>The_darklord</author><pubDate>Sat, 01 Mar 2025 15:27:34 +0800</pubDate><description><![CDATA[Component/*** 插入时填充逻辑* @param metaObject 元对象*/@Override/*** 参数1：填充字段名* 参数2：参数值* 参数3：元对象*//*** 更新时填充逻辑*/@Override。]]></description><category></category></item><item><title><![CDATA[算法（持续更新中 自用）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145713023</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145713023</guid><author>The_darklord</author><pubDate>Fri, 21 Feb 2025 23:19:40 +0800</pubDate><description><![CDATA[一切算法的本质都是穷举。]]></description><category></category></item><item><title><![CDATA[后端开发学习笔记2 数据库相关（持续更新中，自用）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145680036</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145680036</guid><author>The_darklord</author><pubDate>Tue, 18 Feb 2025 11:48:07 +0800</pubDate><description><![CDATA[使用@Results定义并使用自定义映射，使用@ResultMap使用自定义映射，和@Results紧挨着的注解会自动使用自定义映射，其他方法想用要在前面加上@ResultMap// 查询所有用户})// 根据id查询。]]></description><category></category></item><item><title><![CDATA[数据结构笔记（持续更新中，自用）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145427798</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145427798</guid><author>The_darklord</author><pubDate>Mon, 10 Feb 2025 15:26:31 +0800</pubDate><description><![CDATA[增删改查来说，当给定索引时，改查效率很高为O（1）；]]></description><category></category></item><item><title><![CDATA[后端开发学习笔记（持续更新中，自用）]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/145395317</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/145395317</guid><author>The_darklord</author><pubDate>Mon, 10 Feb 2025 15:25:19 +0800</pubDate><description><![CDATA[（2）水平分表：分为取模分表和范围分表，取模分表新增数据时IO操作多，效率低，范围分表则会造成“一方有难八方围观”的效果，可能只有最新的表会频繁使用，降低效率。对象引用存放在栈内存中。在测试类中，@Before修饰的方法会在测试方法之前自动执行，@After修饰的方法会在测试方法执行之后自动执行 ，可以设置前置方法为获取资源，后置方法为释放资源。静态方法属于类，类加载的时候就会分配内存，非静态成员不属于类而属于实例化对象，只有实例化之后才会存在，因此在类的非静态成员不存在的时候静态方法就已经存在了。]]></description><category></category></item><item><title><![CDATA[有人可以帮忙看下这个为什么输入两个样例只输出一个结果吗]]></title><link>https://blog.youkuaiyun.com/The_darklord/article/details/127037006</link><guid>https://blog.youkuaiyun.com/The_darklord/article/details/127037006</guid><author>The_darklord</author><pubDate>Sun, 25 Sep 2022 13:33:50 +0800</pubDate><description><![CDATA[c语言，有人可以帮忙看下这个为什么输入两个样例只输出一个结果吗]]></description><category></category></item></channel></rss>