<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Gangangan_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Gangangan_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Gangangan_]]></copyright><item><title><![CDATA[【JAVA面试】如何排查JVM问题]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613274</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613274</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 04:01:54 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】浏览器发出一个请求到收到响应经历了哪些步骤]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613267</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613267</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 03:49:53 +0800</pubDate><description><![CDATA[七层架构的主要目的是将网络通信分为不同的层次，使得网络设计和开发可以模块化，并且可以灵活地添加、修改或替换各层的协议，以满足不同的需求。每一层都有自己的功能和责任，通过协同工作，实现了可靠、高效的网络通信。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】缓存穿透、缓存击穿、缓存雪崩]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613250</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613250</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 03:17:42 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】负载均衡的算法]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613249</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613249</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 03:02:53 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】分布式锁]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613200</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613200</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 02:45:07 +0800</pubDate><description><![CDATA[在单体架构中，多个线程都是属于同一个进程的，所以在线程并发执行时，遇到资源竞争时，可以利用Reentantlock、 synchronized等技术来作为锁，来控制共享资源的使用而在分布式架构中，多个线程是可能处于不同进程中的，而这些线程并发执行遇到资源竞争时，利用ReenteantLock. synchronized等技术是没办法来控制多个进程中的线程的，所以需要分布式锁，意思就是，需要一个分布式锁生成器，分布式系统中的应用程序都可以来使用这个生成器所提供的锁，从而达到多个进程中的线程使用同一把锁。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】分布式ID]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613189</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613189</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 02:08:03 +0800</pubDate><description><![CDATA[分布式ID（Distributed ID）是在分布式系统中生成唯一标识符的一种技术。由于分布式系统中存在多个节点并行处理请求，为了避免不同节点生成相同的标识符，需要引入分布式ID来保证唯一性。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Zookeeper简单了解]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613092</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613092</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 01:52:58 +0800</pubDate><description><![CDATA[Follower节点和Observer节点都是参与ZooKeeper集群的。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】ThreadLocal底层原理]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130613016</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130613016</guid><author>Gangangan_</author><pubDate>Thu, 11 May 2023 01:18:07 +0800</pubDate><description><![CDATA[ThreadLocal是Java中提供的线程本地存储机制，它提供了一种线程私有的变量副本，可以用来在每个线程内部缓存数据使得数据对每个线程独立可见，互不干扰。ThreadLocal的底层原理涉及到ThreadLocalMap和Thread类。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Spring中的设计模式]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130611438</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130611438</guid><author>Gangangan_</author><pubDate>Wed, 10 May 2023 23:17:55 +0800</pubDate><description><![CDATA[单例模式（Singleton Pattern）：Spring容器中管理的Bean默认为单例模式，保证在整个应用程序中只存在一个实例。【单例Bean，SingletonTargetSource，DefaultBeanNameGenerator，SimpleAutowireCandidateResolver，AnnotationAwareOrderComparator】工厂模式（Factory Pattern）：Spring使用工厂模式创建和管理Bean，通过IoC容器来实例化、配置和组装对象。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Spring容器的启动流程]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130611160</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130611160</guid><author>Gangangan_</author><pubDate>Wed, 10 May 2023 22:29:36 +0800</pubDate><description><![CDATA[Spring容器会扫描指定的包或目录，查找带有。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】SpringBoot如何启动的Tomcat]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130602369</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130602369</guid><author>Gangangan_</author><pubDate>Wed, 10 May 2023 15:48:36 +0800</pubDate><description><![CDATA[Spring Boot通过引入Spring Boot Starter Web依赖和创建Spring Boot应用类，在应用启动过程中加载Tomcat并初始化Servlet容器，以提供对HTTP请求的处理能力。这种方式使得开发者可以方便地在Spring Boot应用程序中嵌入和配置Tomcat服务器，从而简化了Web应用程序的开发和部署过程。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】RocketMQ实现事务消息]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130600488</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130600488</guid><author>Gangangan_</author><pubDate>Wed, 10 May 2023 14:42:36 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Redis和Mysql如何保证数据一致]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130590316</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130590316</guid><author>Gangangan_</author><pubDate>Tue, 09 May 2023 23:29:00 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Mysql慢查询如何优化]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130570485</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130570485</guid><author>Gangangan_</author><pubDate>Tue, 09 May 2023 00:49:19 +0800</pubDate><description><![CDATA[MySQL的慢查询是指执行时间较长的SQL语句，可以根据执行时间超过预设阈值（如1秒）或返回的记录数超过预设阈值（如1000条）来进行定义。一般情况下**，慢查询是由于查询语句中使用了不恰当的索引、数据库结构设计不合理、服务器硬件资源不足等原因导致的**。通过对慢查询进行分析，可以优化SQL语句、优化数据库结构设计、调整服务器硬件资源等措施来提高系统性能。MySQL提供了慢查询日志（slow query log）来记录所有执行时间超过指定阈值的SQL语句，可以通过开启慢查询日志并对日志进行分析来查找慢查询。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Mybatis中#{}和${}的区别]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130569818</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130569818</guid><author>Gangangan_</author><pubDate>Tue, 09 May 2023 00:27:28 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】JVM]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130569939</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130569939</guid><author>Gangangan_</author><pubDate>Tue, 09 May 2023 00:18:01 +0800</pubDate><description><![CDATA[STW指的是Stop-The-World，即全局停顿。在Java应用程序运行的过程中，JVM需要对内存进行垃圾回收、线程栈整理、内存整理等操作，这些操作都需要暂停Java应用程序的执行，这就是STW。在STW期间，JVM会暂停所有线程的执行，包括用户线程和垃圾回收线程，直到垃圾回收等操作完成后才会继续执行。（只有在进行 **Full GC（全局垃圾回收）**时，JVM 才会暂停所有线程的执行，包括用户线程和垃圾回收线程，直到垃圾回收等操作完成后才会继续执行。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】Innodb实现事务的方式]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130564855</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130564855</guid><author>Gangangan_</author><pubDate>Mon, 08 May 2023 23:28:39 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】HashMap的扩容机制]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130462623</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130462623</guid><author>Gangangan_</author><pubDate>Mon, 08 May 2023 18:28:19 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】CopyOnWriteArrayList的底层逻辑]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130354925</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130354925</guid><author>Gangangan_</author><pubDate>Tue, 25 Apr 2023 00:00:21 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item><item><title><![CDATA[【JAVA面试】B树和B+树]]></title><link>https://blog.youkuaiyun.com/Gangangan_/article/details/130354804</link><guid>https://blog.youkuaiyun.com/Gangangan_/article/details/130354804</guid><author>Gangangan_</author><pubDate>Mon, 24 Apr 2023 23:50:00 +0800</pubDate><description><![CDATA[提示：文章先作为初版，等后续时间充足后，补充更深的内容。]]></description><category></category></item></channel></rss>