<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[moernagedian的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/moernagedian</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; moernagedian]]></copyright><item><title><![CDATA[死锁实现以及日志解读]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/141950023</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/141950023</guid><author>moernagedian</author><pubDate>Fri, 06 Sep 2024 09:35:31 +0800</pubDate><description><![CDATA[事务A,B形成了死锁闭环后，因为Innodb的底层机制，它会让其中一个事务让出资源，另外的事务执行成功，这就是为什么你最后看到事务B插入成功了，但是事务A的插入显示了Deadlock found ~]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/140116479</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/140116479</guid><author>moernagedian</author><pubDate>Tue, 02 Jul 2024 10:31:40 +0800</pubDate><description><![CDATA[在[mysqld]下添加skip-grant-tables。]]></description><category></category></item><item><title><![CDATA[Spring整体流程源码分析]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/138794986</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/138794986</guid><author>moernagedian</author><pubDate>Mon, 13 May 2024 14:43:46 +0800</pubDate><description><![CDATA[防止sessionId被泄露包装器模式。]]></description><category></category></item><item><title><![CDATA[this application requires .NET Framework 4.5.2]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/138669663</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/138669663</guid><author>moernagedian</author><pubDate>Fri, 10 May 2024 16:06:49 +0800</pubDate><description><![CDATA[安装mysql社区版的时候报这个错：this application requires .NET Framework 4.5.2
https://www.microsoft.com/en-us/download/details.aspx?id=42642

]]></description><category></category></item><item><title><![CDATA[SpringSecurity源码分析（RemeberMe）]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/138613435</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/138613435</guid><author>moernagedian</author><pubDate>Thu, 09 May 2024 16:02:48 +0800</pubDate><description><![CDATA[记住我的服务的接口可以重写实现自己的记住我记住我基类在请求中找到 Spring Security 记住我 cookie 并返回其值。当MaxAge为0时候表示删除cookie解码 cookie 并使用 “：” 分隔符将其拆分为一组令牌字符串。由子类实现,整个autoLogin是一个模板方法返回的最终 Authentication 对象校验过期时间->生成签名并与cookieTokens中进行比较默认实现InMemory,还提供了JDBC。]]></description><category></category></item><item><title><![CDATA[前端部署时候开发以及生产环境切换]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/138610807</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/138610807</guid><author>moernagedian</author><pubDate>Thu, 09 May 2024 13:40:19 +0800</pubDate><description><![CDATA[在 HBuilderX 中，点击“运行”编译出来的代码是开发环境，点击“发行”编译出来的代码是生产环境。uniapp 版本切换。]]></description><category></category></item><item><title><![CDATA[uniapp图片展示异常----hbuilder里可能就正常显示，但微信里显示不了]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/138596802</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/138596802</guid><author>moernagedian</author><pubDate>Thu, 09 May 2024 08:57:45 +0800</pubDate><description><![CDATA[在uni开发过程中，uview的图片组件使用相对路径也就是 …/xxx的时候在hbuilder里可能就正常显示，但微信里显示不了 这时候就得使用觉得路径，也就是如果图片资源在你的根目录static文件夹下就直接 /static/xxx。]]></description><category></category></item><item><title><![CDATA[SpringSecurity源码4-安全上下文]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/137914344</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/137914344</guid><author>moernagedian</author><pubDate>Thu, 18 Apr 2024 14:00:36 +0800</pubDate><description><![CDATA[javax.servlet.Filter这与 类似SecurityContextPersistenceFilter，只是必须显式调用 来SecurityContextRepository.saveContext(SecurityContext, HttpServletRequest, HttpServletResponse)保存 SecurityContext.这提高了效率，并通过允许不同的身份验证机制单独选择是否应保留身份验证来提供更好的灵活性。SecurityContext的持有器。]]></description><category></category></item><item><title><![CDATA[SpringSecurity源码分析3--UserDetail部分]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/137767321</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/137767321</guid><author>moernagedian</author><pubDate>Mon, 15 Apr 2024 16:55:44 +0800</pubDate><description><![CDATA[一个允许子类重写和处理UserDetails对象的基AuthenticationProvider。该类旨在响应UsernamePasswordAuthenticationToken身份验证请求。通过预先编码这个密码，可以确保在后续的时间攻击防护方法中，不会因为实时编码操作而导致时间差异，这些时间差异可能会被攻击者用来推断密码或其他敏感信息。默认都是null，可以通过setUserCache设置Cache。从缓存中获取UserDetail对象。加密方法升级后，重新更新密码。默认页面，生产不会使用。]]></description><category></category></item><item><title><![CDATA[SpringSecurity源码分析2]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/137255546</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/137255546</guid><author>moernagedian</author><pubDate>Wed, 03 Apr 2024 16:52:09 +0800</pubDate><description><![CDATA[继承了之前提到的AbstractConfiguredSecurityBuilder构造器postProcess安全对象的后处理，那么ProviderManager是什么。]]></description><category></category></item><item><title><![CDATA[gRPC基础知识]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/137043019</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/137043019</guid><author>moernagedian</author><pubDate>Wed, 27 Mar 2024 08:46:16 +0800</pubDate><description><![CDATA[HTTP/2连接上传输的每个帧(frame)都关联到一个流，一个连接上可以同时有多个流， 同一个流的帧按序传输，不同流的帧交错混合传输， 客户端、服务端双方都可以建立流，流也可以被任意一方关闭。对于基于protobuf的代码生成，您可以将您的proto文件放在src/main/proto和src/test/proto目录中，并使用适当的插件。基于文本协议的格式解析存在天然缺陷，文本的表现形式有多样性，要做到健壮性考虑的场景必然很多，二进制则不同。客户端发起的流使用奇数流ID，服务端发起的使用偶数流ID。]]></description><category></category></item><item><title><![CDATA[Spring Security源码]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/136779218</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/136779218</guid><author>moernagedian</author><pubDate>Sun, 17 Mar 2024 12:50:52 +0800</pubDate><description><![CDATA[WebSecurityConfigurerAdapter已废弃，官方推荐使用HttpSecurity 或WebSecurity。new DebugFilter(filterChainProxy)对filterChainProxy进行装饰。可以通过@EnableWebSecurity(debug = true)开启debug模式。都继承了SecurityBuilder。]]></description><category></category></item><item><title><![CDATA[Java协程开源库---kilim]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/135676269</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/135676269</guid><author>moernagedian</author><pubDate>Thu, 18 Jan 2024 15:49:39 +0800</pubDate><description><![CDATA[Kilim协程框架图。]]></description><category></category></item><item><title><![CDATA[当MySql有字段为null，索引是否会失效]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/135640065</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/135640065</guid><author>moernagedian</author><pubDate>Wed, 17 Jan 2024 08:41:01 +0800</pubDate><description><![CDATA[sql执行过程中,使用is null或者理论上都会走索引,由于优化器的原因导致索引失效变成全表扫描,或者说是否使用索引和NULL值本身没有直接关系,和执行成本有关系。]]></description><category></category></item><item><title><![CDATA[uni-app多文件上传丢失后缀格式问题]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/135548225</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/135548225</guid><author>moernagedian</author><pubDate>Fri, 12 Jan 2024 11:21:23 +0800</pubDate><description><![CDATA[【代码】uni-app多文件上传丢失后缀格式问题。]]></description><category></category></item><item><title><![CDATA[线程池源码实现细节盘点]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/132666216</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/132666216</guid><author>moernagedian</author><pubDate>Mon, 04 Sep 2023 16:45:30 +0800</pubDate><description><![CDATA[allowCoreThreadTimeOut这个参数来控制是否能释放核心线程数。线程池利用了AQS对执行任务进行加锁操作。reject拒绝策略触发时机。]]></description><category></category></item><item><title><![CDATA[高并发下单例线程安全]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/132662757</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/132662757</guid><author>moernagedian</author><pubDate>Mon, 04 Sep 2023 09:50:07 +0800</pubDate><description><![CDATA[思路可以沿用到rabbitmq重连上。2.使用static代码块实现单例。4.使用static代码块实现单例。1.使用静态内置类实现单例模式。3.使用静态内置类实现单例模式。]]></description><category></category></item><item><title><![CDATA[thread-point 对线程池扩展功能]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/132554264</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/132554264</guid><author>moernagedian</author><pubDate>Tue, 29 Aug 2023 13:54:21 +0800</pubDate><description><![CDATA[对执行任务、任务执行时间功能扩展、拒绝策略进行代理]]></description><category></category></item><item><title><![CDATA[Synchronized锁升级]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/132477262</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/132477262</guid><author>moernagedian</author><pubDate>Thu, 24 Aug 2023 17:50:14 +0800</pubDate><description><![CDATA[处在重量级锁状态时说明有线程没拿到锁需要阻塞等待锁，当拥有锁的线程释放锁后唤醒它继续竞争锁。此处就引入了一个问题：其它线程如何找到被阻塞的线程？我们很容易想到：把阻塞的线程放到多线程共享的(能访问)的列表里。当获取锁冲突多，时间越长的时候，线程肯定无法继续在这里死等了，所以只好先挂起，然后等前面获取锁的线程释放了锁之后，再开启下一轮的锁竞争，而这种形式就是我们的重量级锁。线程1当前拥有偏向锁对象,线程2是需要竞争到偏向锁。]]></description><category></category></item><item><title><![CDATA[Redis五种类型]]></title><link>https://blog.youkuaiyun.com/moernagedian/article/details/132451674</link><guid>https://blog.youkuaiyun.com/moernagedian/article/details/132451674</guid><author>moernagedian</author><pubDate>Wed, 23 Aug 2023 16:02:48 +0800</pubDate><description><![CDATA[缓存功能：string 最常用的就是缓存功能，会将一些更新不频繁但是查询频繁的数据缓存起来，以此来减轻 DB 的压力。]]></description><category></category></item></channel></rss>