<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[w915209092的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/w915209092</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; w915209092]]></copyright><item><title><![CDATA[java设计模式]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126872803</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126872803</guid><author>w915209092</author><pubDate>Thu, 15 Sep 2022 15:37:17 +0800</pubDate><description><![CDATA[1.1 说一说设计模式的六大原则参考答案单一职责原则一个类，应当只有一个引起它变化的原因；即一个类应该只有一个职责。就一个类而言，应该只专注于做一件事和仅有一个引起变化的原因，这就是所谓的单一职责原则。该原则提出了对对象职责的一种理想期望，对象不应该承担太多职责，正如人不应该一心分为二用。唯有专注，才能保证对象的高内聚；唯有单一，才能保证对象的细粒度。对象的高内聚与细粒度有利于对象的重用。一个庞大的对象承担了太多的职责，当客户端需要该对象的某一个职责时，就不得不将所有的职责都包含进来，从而造成冗余代码。里氏]]></description><category></category></item><item><title><![CDATA[从 JDK 8 到 JDK 18，Java 垃圾回收的十次进化]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126491491</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126491491</guid><author>w915209092</author><pubDate>Tue, 23 Aug 2022 19:31:20 +0800</pubDate><description><![CDATA[2014 年3 月 JDK 8 发布，自那以来 JDK 又连续发布了许多版本，直到今日的 JDK 18 是 Java 的第十个版本。借此机会，我们来回顾一下 HotSpot JVM 的垃圾回收器的发展全过程。HotSpot JVM 中负责管理应用程序堆的组件叫做“垃圾回收器”（Garbage Collector，即GC）。GC 负责管理应用程序堆对象的整个生命周期，从应用程序分配内存到内存被回收，都由 GC 负责。从高层来看，JVM 垃圾回收算法的最基本功能如下：当应用程序请求分配内存时，GC 负责提供内存]]></description><category></category></item><item><title><![CDATA[主流分布式定时任务，你知道哪些？]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126488290</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126488290</guid><author>w915209092</author><pubDate>Tue, 23 Aug 2022 16:48:11 +0800</pubDate><description><![CDATA[微服务下，推荐使用xxl-job这一类组件服务将定时任务合理有效的管理起来。而单点的定时任务有其局限性，适用于规模较小、对未来扩展要求不高的服务。相对而言，基于spring task的定时任务最简单快捷，而xxl-job的难度主要体现在集成和调试上。无论是什么样的定时任务，你都需要确保：任务不会因为集群部署而被多次执行。任务发生异常得到有效的处理任务的处理过慢导致大量积压任务应该在预期的时间点执行中间件可以将服务解耦，但增加了复杂度学习更多JAVA知识与技巧，关注与私信博主（555）！]]></description><category></category></item><item><title><![CDATA[面试八股文》之 MySQL 35卷]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126054443</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126054443</guid><author>w915209092</author><pubDate>Fri, 29 Jul 2022 14:02:14 +0800</pubDate><description><![CDATA[5.使用Innodb的情况下，一条更新语句是怎么执行的?23.redolog和binlog的区别是什么?29.删除表数据后表的大小却没有变动,这是为什么?25.一条Sql语句查询一直慢会是什么原因?26.一条Sql语句查询偶尔慢会是什么原因?27.Mysql主从之间是怎么同步数据的?34.bufferpool是做什么的?22.redolog是怎么记录日志的?20.relaylog是做什么的?19.undolog是做什么的?21.redolog是做什么的?...]]></description><category></category></item><item><title><![CDATA[Redis的数据结构之bitmap]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126038873</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126038873</guid><author>w915209092</author><pubDate>Thu, 28 Jul 2022 16:55:21 +0800</pubDate><description><![CDATA[bitmap简称位图，是由多个二进制位组成的数组，数组中的每个二进制位都有与之对应的偏移量，可以通过这些偏移量对位图中指定的一个或多个二进制位进行操作。本文讲解了位图的基本数据结构和操作命令，位图适合于一些特定的场景，我们需要集合实际的业务场景情况，选择合适的数据结构存储能够大大的降低Redis的内存空间说明httpshttpshttpshttpshttpshttpshttpshttpshttps。...]]></description><category></category></item><item><title><![CDATA[这10道基础Java面试题，虐哭了多少人]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126035561</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126035561</guid><author>w915209092</author><pubDate>Thu, 28 Jul 2022 15:11:58 +0800</pubDate><description><![CDATA[举例来说，如果父类中的方法抛出的是IOException，那么子类中重写的方法不能抛出Exception，可以是IOException的子类或者不抛出任何异常。类C同时继承了类A和类B，类C的对象在调用类A和类B中重写的方法时，就不知道该调用类A的方法，还是类B的方法。方法对key进行哈希算法，如果key是相同的，那么哈希后的结果也是相同的，意味着数组中的下标是相同的，新放入的值就会覆盖原来的值。另外，方法重写和方法重载时的规则也不尽相同。...]]></description><category></category></item><item><title><![CDATA[精选 21道 Redis 最常问面试题！收藏一波 !]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126035419</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126035419</guid><author>w915209092</author><pubDate>Thu, 28 Jul 2022 15:06:19 +0800</pubDate><description><![CDATA[redis是一个高性能的key-value数据库，它是完全开源免费的，而且redis是一个NOSQL类型数据库，是为了解决高并发、高扩展，大数据存储等一系列的问题而产生的数据库解决方案，是一个非关系型的数据库。...]]></description><category></category></item><item><title><![CDATA[Redis]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126033068</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126033068</guid><author>w915209092</author><pubDate>Thu, 28 Jul 2022 13:40:19 +0800</pubDate><description><![CDATA[解释连续写数据库和缓存，但是操作期间，出现并发了，数据不一致了。先更新数据库，再更新缓存。先删缓存，再更新数据库。先更新数据库，再删除缓存。先更新数据库，再更新缓存。这么做的问题是当有2个请求同时更新数据，那么如果不使用分布式锁，将无法控制最后缓存的值到底是多少。也就是并发写的时候有问题。先删缓存，再更新数据库。这么做的问题如果在删除缓存后，有客户端读数据，将可能读到旧数据，并有可能设置到缓存中，导致缓存中的数据一直是老数据。总的来讲，比较麻烦。先更新数据库，再删除缓存。......]]></description><category></category></item><item><title><![CDATA[java的特点是什么？]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126023553</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126023553</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 21:25:54 +0800</pubDate><description><![CDATA[java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等与传统的编程语言，如C、C++相比，java能够更加容易上手，而比之微软平台的开发语言，如VB、MFC等，则有着跨平台运行的能力，尽管java没有能够完全实现最初的一次编程、随处运行的口号，但是java相比於其它较早的编程语言，仍然拥有极高的跨平台能力。1、简单性Java语言继承了C++语言的优点，去掉了C++中学习起来比较难的多继承、指针等概念，所以Java语言学习起来更简单，使用起来也更方便。可以节省大量人力物力。...]]></description><category></category></item><item><title><![CDATA[40 个 Java 多线程问题总结]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126023375</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126023375</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 21:15:38 +0800</pubDate><description><![CDATA[前言个人认为，学习，内容越多、越杂的知识，越需要进行深刻的总结，这样才能记忆深刻，将知识变成自己的。这篇文章主要是对多线程的问题进行总结的，因此罗列了40个多线程的问题。
这些多线程的问题，有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过，但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍，不会去看网上的答案，因此可能有些问题讲的不对，能指正的希望大家不吝指教。40个问题汇总1、多线程有什么用？一个可能在很多人看来很扯淡的一个问题：]]></description><category></category></item><item><title><![CDATA[别再用过时的方式了！全新版本Spring Security，这样用才够优雅！]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126023079</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126023079</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 20:59:52 +0800</pubDate><description><![CDATA[SpringSecurity的升级用法确实够优雅，够简单，而且对之前用法的兼容性也比较好！个人感觉一个成熟的框架不太会在升级过程中大改用法，即使改了也会对之前的用法做兼容，所以对于绝大多数框架来说旧版本会用，新版本照样会用！本次的内容大致的就介绍到这里拉，由于内容太多，只能简单介绍到这里，如有需要以上内容的完整版，大家可以私信我获取哦~~后台关注我后私信回复【555】即可获取httpshttpshttpshttpshttpshttps。...]]></description><category></category></item><item><title><![CDATA[面试题系列：Redis 夺命连环11问]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126022658</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126022658</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 20:33:39 +0800</pubDate><description><![CDATA[所谓热key问题就是，突然有几十万的请求去访问redis上的某个特定key，那么这样会造成流量过于集中，达到物理网卡上限，从而导致这台redis的服务器宕机引发雪崩。提前把热key打散到不同的服务器，降低压力加入二级缓存，提前加载热key数据到内存中，如果redis宕机，走内存查询缓存击穿缓存击穿的概念就是单个key并发访问过高，过期时导致所有请求直接打到db上，这个和热key的问题比较类似，只是说的点在于过期导致请求全部打到DB上而已。缓存穿透缓存雪崩。...]]></description><category></category></item><item><title><![CDATA[一说项目就spring，你真的懂spring么？]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126022535</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126022535</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 20:25:02 +0800</pubDate><description><![CDATA[因此，你会发现，造一辆车需要层层嵌套零部件的生产逻辑而成，使得这家工厂需要面面俱到，而且要级级紧扣，每一个步骤都需要等待前一个步骤完成，这就造成这个家工厂效率低下，而在Java编程思想中，这就叫做产生了高度耦合。由此可见，A工厂就依赖于B工厂的零部件，在这spring的思想里，就是所谓的依赖，也就是说spring是一个容器（B工厂），而我们的项目（A工厂）需要任何的对象，都是从容器中获取，而不需要关心他是怎么来的。按照网上说的是个容器框架，是什么开发框架，是个..。B工厂代理A工厂的零部件生产。...]]></description><category></category></item><item><title><![CDATA[Java后端学习路线梳理]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126019013</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126019013</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 17:12:22 +0800</pubDate><description><![CDATA[自动配置、开箱即用-整合Web-整合数据库（事务问题）-整合权限（Shiro、SpringSecurity）-整合各种中间件缓存、MQ、RPC框架、NIO框架等。说明本文限于篇幅，故而只展示部分的面试内容，完整的Java面试学习文档小编已经帮你整理好了，有需要的朋友点赞+关注私信我555免费领取Java、大厂面试学习资料哦！-Redis——5大数据类型、事务、消息通知、管道、持久化、集群-memcache。DNS/HTTP/HTTPS协议。JVM性能监控与故障定位。...]]></description><category></category></item><item><title><![CDATA[老大难的 Java ClassLoader 再不理解就老了]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126012549</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126012549</guid><author>w915209092</author><pubDate>Wed, 27 Jul 2022 13:18:39 +0800</pubDate><description><![CDATA[ClassLoader里面有三个重要的方法loadClass()、findClass()和defineClass()。loadClass()方法是加载目标类的入口，它首先会查找当前ClassLoader以及它的双亲里面是否已经加载了目标类，如果没有找到就会让双亲尝试加载，如果双亲都加载不了，就会调用findClass()让自定义加载器自己来加载目标类。ClassLoader的findClass()方法是需要子类来覆盖的，不同的加载器将使用不同的逻辑来获取目标类的字节码。...]]></description><category></category></item><item><title><![CDATA[SpringMVC面试中常问到的23道题以及答案]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/126001348</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/126001348</guid><author>w915209092</author><pubDate>Tue, 26 Jul 2022 19:08:37 +0800</pubDate><description><![CDATA[SpingMVC正式的名字为SpringWebMVC，是SpringFramework框架中的其中一个模块，基于ServletAPI构建，同时使用MVC的架构模式，主要用以简化传统的Servlet+JSP进行web开发的工作。URL到controller的映射http请求参数绑定http响应的生成和输出题目1、什么是SpringMvc？答SpringMvc是spring的一个模块，基于MVC的一个框架，无需中间整合层来整合。http"说明。...]]></description><category></category></item><item><title><![CDATA[最近面试Java后端开发的感受：如果就以平时项目经验来面试，通过估计很难]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/125997202</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/125997202</guid><author>w915209092</author><pubDate>Tue, 26 Jul 2022 16:12:20 +0800</pubDate><description><![CDATA[如果有，那么你就可以适当描述下项目的需求，然后说，通过读底层代码，我了解了两者的差别，而且在这个实际需求里，我就用了TreeSet，而且我还专门做了对比性试验，发现用TreeSet比HashSet要高xx个百分点。而前者，一直在重复劳动，能力也只一直停留在“会干活”的层面。哪怕你在前三点表现一般，那么至少也能超越将近一般的候选人，尤其当你在SQL优化方面表现非常好，那么你在面试高级开发时，数据库层面一定是达标的，如果你连第四点也回答非常好，那么恭喜你，你在数据库方面的能力甚至达到了初级架构的级别。...]]></description><category></category></item><item><title><![CDATA[这33道Java集合面试题，你会了吗？]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/125995241</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/125995241</guid><author>w915209092</author><pubDate>Tue, 26 Jul 2022 15:05:57 +0800</pubDate><description><![CDATA[切不可跟风，看到同事一个个都走了，自己也盲目的开始面试起来（期间也没有准备充分），到底是因为技术原因（影响自己的发展，偏移自己规划的轨迹），还是钱给少了，不受重视。3、Comparable和Comparator接口的区别？5、Enumeration和Iterator接口的区别？26、ArrayList和LinkedList的区别？10、HashMap与Hashtable的区别？7、List、Set、Map之间的区别是什么？24、常用的线程安全的List集合有哪些？...]]></description><category></category></item><item><title><![CDATA[面试真题：经典智力题最详汇总（上）]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/125994030</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/125994030</guid><author>w915209092</author><pubDate>Tue, 26 Jul 2022 14:26:43 +0800</pubDate><description><![CDATA[最近各大公司的提前批已经逐渐开始了，同学们除了常规刷题之外，也需要为面试有针对性地进行复习。无论你是技术岗，还是非技术岗，面试的时候往往会遇到一种特殊的题型智力题。智力题有点类似于脑筋急转弯，面试官主要是想考察候选人的思维灵活性。小编刚开始接触智力题的时候，可以说是一脸懵逼了，大脑一片空白（内心这都是在说些啥？）。最后还是得靠刷题的思想来解决智力题，其实面试常见的智力题类型并不多，很多都是类似的变种题。...]]></description><category></category></item><item><title><![CDATA[不是吧，阿Sir啊，可不可以不用再写finally？]]></title><link>https://blog.youkuaiyun.com/w915209092/article/details/125993868</link><guid>https://blog.youkuaiyun.com/w915209092/article/details/125993868</guid><author>w915209092</author><pubDate>Tue, 26 Jul 2022 14:21:21 +0800</pubDate><description><![CDATA[那么问题就来了，各位大佬仔细看，这里的finish方法是可以抛出IO异常的，如果在执行finish()方法时，抛出了IO异常，那么下面的out.close()方法实际上不会被执行的。再看看我上面给出示例中的ByteArrayOutputStream和GZIPOutputStream流，其实已经帮实现了Closeable接口，所以我们再使用的时候，我们借助try-with-source语法糖就能免去使用finally释放资源的那一堆代码了。那么问题到底出在了哪里？...]]></description><category></category></item></channel></rss>