<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2202_75439262的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2202_75439262</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2202_75439262]]></copyright><item><title><![CDATA[入职第一天会遇到的一些问题]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/149512092</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/149512092</guid><author>2202_75439262</author><pubDate>Mon, 21 Jul 2025 18:29:34 +0800</pubDate><description><![CDATA[先删除.idea文件和.iml文件，重新导入文件，刷新maven。然后进行maven的重新下载资源。如果项目比较大，这个时间会比较长。如果还不行的话，强制更新依赖。检查是否有模块没有被识别。检查jdk版本是否正确。]]></description><category></category></item><item><title><![CDATA[MD5有什么特点吗]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/149253917</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/149253917</guid><author>2202_75439262</author><pubDate>Thu, 10 Jul 2025 16:52:19 +0800</pubDate><description><![CDATA[但是，MD5算法不是绝对安全的。由于MD5算法生成的哈希值长度是固定的，所以存在"碰撞"的情况，即两个不同的消息生成的哈希值是相同的，所以如果用于数据安全的场合，MD5算法是不能保证安全的。它的作用是对原始数据进行一种压缩，以生成一个固定长度的字符串作为该数据的数字指纹，以验证数据的完整性和一致性。因此，对于对安全性要求更高的场合，可以使用更安全的哈希算法，例如SHA-256或更高版本的哈希算法。加密算法需要加密和解密，MD5是单向的，不可逆，所以是无法通过解密得到原始数据的。]]></description><category></category></item><item><title><![CDATA[mybatis的缓存机制]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/148085264</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/148085264</guid><author>2202_75439262</author><pubDate>Tue, 20 May 2025 12:32:06 +0800</pubDate><description><![CDATA[Mybatis的缓存机制有两种：一级缓存和二级缓存。]]></description><category></category></item><item><title><![CDATA[Spring的AOP在什么场景下会失效？]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/148085090</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/148085090</guid><author>2202_75439262</author><pubDate>Tue, 20 May 2025 12:12:22 +0800</pubDate><description><![CDATA[SpringAOP是通过动态代理实现的，所以想要AOP生效就是需要动态代理生效，并且可以提前调用到代理对象的方法。由于AOP是通过创建代理对象来实现的，而无法对final方法进行子类化和覆盖，所以无法拦截这些方法。以上都是对象内部调用其他方法，就会使用原始对象调用了，不会调用到代理对象，所以代理对象会失效。首先就是类内部的调用，比如一些私有方法的调用，内部类调用，以及同一个方法的自调用等。什么情况下会不走动态代理呢？3、final方法调用。]]></description><category></category></item><item><title><![CDATA[java为什么要实现自动装箱和拆箱]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147932348</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147932348</guid><author>2202_75439262</author><pubDate>Tue, 13 May 2025 19:49:03 +0800</pubDate><description><![CDATA[虽然自动拆箱和装箱在某些场景下可能会引入轻微的性能开销（因为会创建额外的对象），但在大多数情况下，这种便利性是值得的。Java 开发者可以更专注于业务逻辑的实现，而无需过多关注基本数据类型和包装类型之间的显式转换。在 Java 早期版本中，基本数据类型和包装类之间的转换非常繁琐，需要手动进行。自动拆箱和装箱的引入极大地简化了这一过程。在 Java 早期版本中，基本数据类型和包装类之间的转换非常繁琐，需要手动进行。同样，自动拆箱简化了代码，使得对包装类型的操作更像基本数据类型的操作。类型的值放入一个需要。]]></description><category></category></item><item><title><![CDATA[JDBC和Mybatis的区别]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147871187</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147871187</guid><author>2202_75439262</author><pubDate>Sun, 11 May 2025 12:33:18 +0800</pubDate><description><![CDATA[是 Java 语言用来和各种数据库进行连接和操作的标准 API。你可以把它想象成 Java 程序和数据库之间沟通的“桥梁”或者“底层驱动”。它提供了一套接口和类，让你能够发送 SQL 语句到数据库并处理返回的结果。]]></description><category></category></item><item><title><![CDATA[如果大量key在同一时间点过期，会产生什么样的问题？如何处理]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147848997</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147848997</guid><author>2202_75439262</author><pubDate>Sat, 10 May 2025 10:51:37 +0800</pubDate><description><![CDATA[可以在过期时间上加一个随机值，使得过期时间更分散一些。]]></description><category></category></item><item><title><![CDATA[HashMap为什么从java8的时候从头插变为尾插了]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147259592</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147259592</guid><author>2202_75439262</author><pubDate>Tue, 15 Apr 2025 22:27:31 +0800</pubDate><description><![CDATA[但是如果hash冲突变多了，这个链表就会越来越长，hashMap的时间复杂度也会越来越差，为了解决这个问题，在java8中HashMap使用了数组+链表/红黑树，当链表长度大于8且数组长度大于64的时候，链表就转换成了红黑树。首先在java7的时候，hashMap为了解决hash冲突，使用了链地址法，将具有相同hash值的元素，放在一个桶中，这个桶其实就是一个链表，在java7的时候是使用头插，将新元素直接插入到链表的头节点。使用尾插法可以保持插入顺序不变，这样转换成红黑树时，结构更稳定，性能更好。]]></description><category></category></item><item><title><![CDATA[如何理解MVCC？]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147218062</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147218062</guid><author>2202_75439262</author><pubDate>Mon, 14 Apr 2025 12:30:47 +0800</pubDate><description><![CDATA[是Multiversion Concurrency Control的缩写，翻译过来就是多版本并发控制，和数据锁一样，都是解决并发控制的方案。在数据库中，对数据的操作主要有2种，分别是读和写，而在并发场景下，会有以下三种情况：读-读并发读-写并发写-写并发我们都知道在没有写的情况下，读-读并发是没有问题的，而并发这种情况比较常用的就是通过加锁的方式实现。那么，读-写并发则可以通过MCVCC的机制解决。]]></description><category></category></item><item><title><![CDATA[Java中的static都能用来修饰什么？]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147174751</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147174751</guid><author>2202_75439262</author><pubDate>Sat, 12 Apr 2025 21:58:54 +0800</pubDate><description><![CDATA[在Java编程语言中，static关键字是非常重要的修饰符，可以用于多种不同的地方。可用来修饰变量、方法、代码块以及类。]]></description><category></category></item><item><title><![CDATA[Java中equals与 “==” 的区别]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147171571</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147171571</guid><author>2202_75439262</author><pubDate>Sat, 12 Apr 2025 21:24:11 +0800</pubDate><description><![CDATA[首先我们要掌握基本数据类型和引用类型的概念。]]></description><category></category></item><item><title><![CDATA[Object类的公共方法有那些？]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147133220</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147133220</guid><author>2202_75439262</author><pubDate>Fri, 11 Apr 2025 09:14:56 +0800</pubDate><description><![CDATA[Object。]]></description><category></category></item><item><title><![CDATA[RabbitMQ的死信队列和ttl]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147102301</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147102301</guid><author>2202_75439262</author><pubDate>Wed, 09 Apr 2025 22:14:47 +0800</pubDate><description><![CDATA[ttl即过期时间，rbbitmq可以对队列和消息设置过期时间，当消息到存活时间之后，还没有被消费，就会被自动清除例如：在网上购物，经常会遇到一个场景，当下单超过24小时还未付款，订单就自动取消或者申请退款之后，超过7天未处理就自动退款。]]></description><category></category></item><item><title><![CDATA[Redis持久化之AOF]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147041640</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147041640</guid><author>2202_75439262</author><pubDate>Mon, 07 Apr 2025 21:18:26 +0800</pubDate><description><![CDATA[AOF（Append Only File）持久化：以独立日志的方式记录每次写命令，重启时再重新执行AOF文件中的命令达到恢复数据的目的。AOF的主要作用解决了数据1.所有的写⼊命令会追加到 aof_buf（缓冲区）中。2.AOF 缓冲区根据对应的策略向硬盘做同步操作。3.随着 AOF ⽂件越来越⼤，需要定期对 AOF ⽂件进⾏重写，达到压缩的⽬的。4.当 Redis 服务器启动时，可以加载 AOF ⽂件进⾏数据恢复。3.命令写入：AOF 命令写⼊的内容直接是⽂本协议格式。]]></description><category></category></item><item><title><![CDATA[Redis持久化之RDB]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147030646</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147030646</guid><author>2202_75439262</author><pubDate>Sun, 06 Apr 2025 21:42:44 +0800</pubDate><description><![CDATA[RDB持久化是将当前进程数据生成快照保存到硬盘的过程，触发RDB持久化过程分为手动触发和自动触发。]]></description><category></category></item><item><title><![CDATA[如何保证RabbitMQ消息的可靠传输?]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147026602</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147026602</guid><author>2202_75439262</author><pubDate>Sun, 06 Apr 2025 16:53:30 +0800</pubDate><description><![CDATA[在这个图中，消息可能丢失的场景是1，2，31.在生产者将消息发送给RabbitMQ的时候，消息到底有没有正确的到达服务器呢，RabbitMQ提供了两种解决方案：a. 通过事务机制实现（比较消耗性能，此处不展开）b. 通过（publisher confirm）机制实现。]]></description><category></category></item><item><title><![CDATA[Class＜?＞ 和Class＜T ＞有什么区别 ]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/147012250</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/147012250</guid><author>2202_75439262</author><pubDate>Sat, 05 Apr 2025 15:56:58 +0800</pubDate><description><![CDATA[类型的对象，但它们的使用方式和作用略有不同。不能直接用于创建该类型的实例（因为。作为类型参数，用于创建实例等操作。在 Java 中都表示。代表不确定的类型）。，代表某个确定的类型。，但不限定具体类型。]]></description><category></category></item><item><title><![CDATA[try中return A，catch中return B，finally中return C，最终返回值是什么？]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/146973045</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/146973045</guid><author>2202_75439262</author><pubDate>Thu, 03 Apr 2025 09:55:32 +0800</pubDate><description><![CDATA[这个代码得到的结果是2，try-catch-finally的执行顺序是try->finally或者try-catch-finally，然后在执行每一个代码块的过程中，如果遇到return那么就会把当前的结果暂存，然后再执行后面的代码块，然后再把之前暂存的结果返回回去。如果finally块中有一个return语句，它将覆盖try块和catch块中的任何return语句。所以在这种情况下，无论try和catch块的执行情况如何，finally块中的return C;最终的返回值将会是C！]]></description><category></category></item><item><title><![CDATA[Redis中set数据类型的内部编码及使用场景]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/146941977</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/146941977</guid><author>2202_75439262</author><pubDate>Wed, 02 Apr 2025 13:14:04 +0800</pubDate><description><![CDATA[集合类型的内部编码有两种：intset（整数集合）：hashtable（哈希表）：1）当元素个数较少并且都为整数时，内部编码为intset：2）当元素超过512个，内部编码变为hashtable:3)当存在元素不是整数时，内部编码为hashtable：]]></description><category></category></item><item><title><![CDATA[ClassNotFoundException和NoClassDefFoundError的区别是什么？]]></title><link>https://blog.youkuaiyun.com/2202_75439262/article/details/146939503</link><guid>https://blog.youkuaiyun.com/2202_75439262/article/details/146939503</guid><author>2202_75439262</author><pubDate>Wed, 02 Apr 2025 11:34:00 +0800</pubDate><description><![CDATA[ClassNotFoundException是受检异常，他通常在运行时，在类加载阶段尝试加载类的过程中，找不到类的定义时触发。通常是由Class.forName()或类加载器loadClass或者findSystemClass时，在类路径中没有找到指定名称的类时，会抛出该异常。是一个错误（error），它表示运行时尝试加载一个类的定义时，虽然找到了类文件，但在加载、解析或链接类的过程中发生了问题。也就是说这个类在编译时存在，运行时丢失了，就会导致这个异常。如以下情况，我们定义A类和B类，]]></description><category></category></item></channel></rss>