<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[rushbubu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/rushbubu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; rushbubu]]></copyright><item><title><![CDATA[ConcurrentHashMap为什么放弃分段锁,分段锁和Node锁的区别]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/131119976</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/131119976</guid><author>rushbubu</author><pubDate>Fri, 09 Jun 2023 15:42:46 +0800</pubDate><description><![CDATA[分段锁是将锁空间（Lock Space）划分为多个区域，每个区域独立一把锁，每个锁只保护一部分数据。因此，分段锁适用于锁空间分布比较均匀的场景，有较高的并发性能和更细粒度的控制，但是需要管理复杂，空间开销较大。节点锁则适用于锁空间分布比较不均匀的场景，开销小，操作简单，但是适用范围有限，不适用于遍历整个数据结构的操作。节点锁是指针锁，它在读写数据时只锁定单个节点，常用于无需遍历整个数据结构的操作，如插入、删除等。相对于分段锁，节点锁的优势在于其开销较小，缺点在于其操作局限性较大。]]></description><category></category></item><item><title><![CDATA[CAS（Compare and Swap）乐观锁]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/131041136</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/131041136</guid><author>rushbubu</author><pubDate>Mon, 05 Jun 2023 09:10:37 +0800</pubDate><description><![CDATA[需要注意的是，由于 CAS 操作是一种基础的原子性操作,仅能保证对单个共享变量的原子操作，它并不能解决所有的并发问题。CAS 操作是一种原子性操作，它能够保证多个线程同时执行 CAS 操作时，最终只有一个线程能够执行成功，而其他线程会执行失败。CAS 操作能够把赋值操作和比较操作合并在一起，从而可以避免多次访问同一个共享变量的开销，提高程序的性能。CAS 操作是一种无锁算法，它不需要使用锁来进行同步，从而避免了锁竞争的问题，同时还可以避免锁带来的开销。A：是旧的预期值，即要更新的值不同于这个值则不更新。]]></description><category></category></item><item><title><![CDATA[【转】cron表达式详解]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/131017993</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/131017993</guid><author>rushbubu</author><pubDate>Sat, 03 Jun 2023 09:53:43 +0800</pubDate><description><![CDATA[例如：在 DayofMonth使用5W，如果5日是星期六，则将在最近的工作日：星期五，即4日触发。例如：子表达式（天（星期））可以为 “MON-FRI”，“MON，WED，FRI”，“MON-WED,SAT”（5）,：表示列出枚举值。例如：在Minutes域使用5,20，则意味着在5和20分每分钟触发一次。在子表达式（分钟）里的“3/20”表示从第3分钟开始，每20分钟（它和“3，23，43”）的含义一样。因此，“*”在子表达式（月）里表示每个月的含义，“*”在子表达式（天（星期））表示星期的每一天。]]></description><category></category></item><item><title><![CDATA[MyBatis一级缓存何时失效]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130961469</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130961469</guid><author>rushbubu</author><pubDate>Wed, 31 May 2023 09:00:42 +0800</pubDate><description><![CDATA[MyBatis 的一级缓存是 SqlSession 级别的缓存，它存在于 SqlSession 的生命周期内，当 SqlSession 关闭时，一级缓存也会随之失效。总之，我们在使用 MyBatis 的时候，需要充分了解一级缓存的实现原理和失效情况，避免因为缓存问题导致程序运行出现错误。如果遇到缓存失效的问题，可以通过修改配置文件或者手动清空缓存等措施来解决。]]></description><category></category></item><item><title><![CDATA[Spring自动装配]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130921221</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130921221</guid><author>rushbubu</author><pubDate>Mon, 29 May 2023 09:04:30 +0800</pubDate><description><![CDATA[Spring自动装配（Auto Wiring）是指在Spring容器初始化Bean时，自动将符合条件的Bean自动注入到需要的Bean中去，从而实现Bean之间的依赖关系自动注入的功能。通过构造函数上添加@Autowired注解，将符合类型的Bean自动注入到构造函数中。通过在属性上添加@Qualifier注解，指定名称匹配的Bean自动注入到属性中。通过在属性上添加@AutoWired注解，将符合类型的Bean自动注入到属性中。]]></description><category></category></item><item><title><![CDATA[java内存溢出]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130921192</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130921192</guid><author>rushbubu</author><pubDate>Mon, 29 May 2023 09:02:14 +0800</pubDate><description><![CDATA[内存溢出（Out Of Memory）是指当一个应用程序向操作系统申请内存空间时，如果申请的空间已经超过了系统所剩余的空间，就会导致内存溢出。这个问题通常会导致应用程序崩溃或者出现异常，因为操作系统无法为程序提供足够的内存资源。]]></description><category></category></item><item><title><![CDATA[数据库如何优化]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130921171</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130921171</guid><author>rushbubu</author><pubDate>Mon, 29 May 2023 09:02:10 +0800</pubDate><description><![CDATA[优化数据类型和表结构：根据实际情况，选择合适的数据类型和表结构可以提高 SQL 查询的性能。优化查询语句：使用合适的查询语句可以提高 SQL 查询的性能。配置 SQL 缓存：对于频繁查询的 SQL 语句，可以使用 SQL 缓存，在数据库服务器上预先缓存查询结果，以提高重复查询的性能。使用分区表：对于数据量特别大的表，可以通过将表分割成若干个分区，分别存储在不同的磁盘上，以提高查询性能和降低单表的锁冲突。定期清理无用数据：随着时间的推移，数据库中可能存在大量的无用数据，需要定期清理以保证查询性能。]]></description><category></category></item><item><title><![CDATA[Mybatis使用foreach标签实现批量插入]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130921098</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130921098</guid><author>rushbubu</author><pubDate>Mon, 29 May 2023 08:58:29 +0800</pubDate><description><![CDATA[需要注意的是，为了避免 SQL 注入攻击，在将 List 集合作为参数传入 Mapper 方法时，建议使用 Java 的 Collection 接口或者数组类型，而不是采用字符串拼接的方式动态生成 SQL 语句。方法可以直接将 List 集合作为参数传入到 Mapper 中，然后在 Mapper 的 XML 中使用。标签实现单条数据的插入，但如果需要插入多条数据，则可以使用 Mybatis 提供的。标签遍历了 List 中的每一个 User 对象，并将其属性插入到表中。在 Mybatis 中，可以使用。]]></description><category></category></item><item><title><![CDATA[Vue相当于MVVM设计模式中的什么]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130893134</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130893134</guid><author>rushbubu</author><pubDate>Fri, 26 May 2023 19:53:12 +0800</pubDate><description><![CDATA[中的 DOM 元素，来实现数据和界面之间的双向绑定（Data Binding）。当用户修改了视图层上的数据时，会自动同步到 ViewModel 中的数据模型中，从而实现了视图层和数据模型之间的高效交互。两层组合，提供了一个数据驱动的双向绑定机制，使开发者可以更加方便地编写交互性强、功能完善的 Web 应用程序。对象就代表了这个 ViewModel 中的数据模型（Model），用于存放应用程序的业务数据。代表视图模型层（ViewModel），用于处理视图层的逻辑，如数据绑定、事件处理等等；]]></description><category></category></item><item><title><![CDATA[使用前后端分离模式处理登录的数据处理流程]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130827999</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130827999</guid><author>rushbubu</author><pubDate>Tue, 23 May 2023 15:19:42 +0800</pubDate><description><![CDATA[【代码】使用前后端分离模式处理登录的数据处理流程。]]></description><category></category></item><item><title><![CDATA[@Autowired 和 @Resource有什么区别]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130819243</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130819243</guid><author>rushbubu</author><pubDate>Tue, 23 May 2023 08:46:15 +0800</pubDate><description><![CDATA[可以根据 name 属性来指定 Bean 的名称，也可以根据类型匹配来选择注入，如果有多个相同类型的 Bean，则需要使用。来进行 Bean 注入，因为它有更多的灵活性和可扩展性，并且更易于使用。会根据类型匹配来选择注入，如果有多个相同类型的 Bean，则需要使用。属性来指定 Bean 的名称，或者直接使用默认的按照名称装配的方式。是用于兼容 JavaEE 的注解，在 Spring 框架中使用较少。因此，建议在 Spring 框架的应用程序中，尽可能使用。是 Spring 框架的注解，而。]]></description><category></category></item><item><title><![CDATA[springMVC常见注解]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130819167</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130819167</guid><author>rushbubu</author><pubDate>Tue, 23 May 2023 08:40:19 +0800</pubDate><description><![CDATA[将 HTTP POST 请求映射到 MVC 控制器中的处理方法上。：用于指示一个方法返回的对象将被添加到模型中，使其在渲染视图时可用。：将 HTTP GET 请求映射到 MVC 控制器中的处理方法上。：用于将 URL 查询参数或表单请求参数绑定到处理方法的入参中。：用于将 HTTP 请求映射到 MVC 控制器中的处理方法上。：用于将 URL 中的占位符参数绑定到处理方法的入参中。：用于指示一个处理方法返回的是响应正文，而不是一个视图。：用于指示一个方法用来处理一个特定类型的异常。]]></description><category></category></item><item><title><![CDATA[Spring常见注解]]></title><link>https://blog.youkuaiyun.com/rushbubu/article/details/130819139</link><guid>https://blog.youkuaiyun.com/rushbubu/article/details/130819139</guid><author>rushbubu</author><pubDate>Tue, 23 May 2023 08:39:23 +0800</pubDate><description><![CDATA[除了上述这些注解，Spring 还提供了很多其他功能的注解，例如事务管理、AOP 面向切面编程、缓存管理等。：用于将 Java 类定义为 Spring Bean，优点是可以自动扫描并加入 Spring IoC 容器中。：将 Controller 方法返回的对象转换为指定格式后，写入到响应的 body 中。：使用 Java 类作为 Spring 配置类，替代 XML 配置文件。：注解一个 DAO 组件，实现数据持久化操作。：用于接收 HTTP 请求路径中的参数值。：用于接收 HTTP 请求中的参数值。]]></description><category></category></item></channel></rss>