<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a3961401的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a3961401</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a3961401]]></copyright><item><title><![CDATA[面试官：CAS和AQS底层原理了解？我如此这般这般如此就拿到了offer！]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/113190015</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/113190015</guid><author>a3961401</author><pubDate>Tue, 26 Jan 2021 19:54:53 +0800</pubDate><description><![CDATA[CAS（Compare And Swap）原理分析
字面意思是比较和交换，先看看下面场景（A 和 B 线程同时执行下面的代码）：
int i = 10;  //代码 1
i = 20;      //代码 2

干货分享最近将个人学习笔记整理成册，使用PDF分享主要包含了Java基础，数据结构，jvm，多线程等等，由于篇幅有限，以下只展示小部分面试题，
需要的朋友可以点一点领取：戳这里即可领取。。。暗号：优快云
场景 1：A 线程执行代码 1 和代码 2，然后 B 线程执行代码 1 和代码 2，CAS 成]]></description><category></category></item><item><title><![CDATA[InnoDB自增原理都搞不清楚，还怎么CRUD？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/112971500</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/112971500</guid><author>a3961401</author><pubDate>Thu, 21 Jan 2021 20:35:04 +0800</pubDate><description><![CDATA[虽然我们习惯于给主键ID指定AUTO_INCREMENT属性，但是AUTO_INCREMENT也是可以指定到非主键字段的，唯一的约束就是这个字段上面得加索引，有了索引，就可以通过类似SELECT MAX(ai_col)的语句快速读到这列数据的最大值。
本文要探讨的话题是MySql的InnoDB引擎处理自增数据列的原理
干货分享最近将个人学习笔记整理成册，使用PDF分享主要包含了Java基础，数据结构，jvm，多线程等等，由于篇幅有限，以下只展示小部分面试题，
需要的朋友可以点一点领取：戳这里即可领取。。。暗]]></description><category></category></item><item><title><![CDATA[MyBatis 的执行流程，写得也太全了吧！]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/112777729</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/112777729</guid><author>a3961401</author><pubDate>Mon, 18 Jan 2021 14:09:45 +0800</pubDate><description><![CDATA[前言
MyBatis可能很多人都一直在用，但是MyBatis的SQL执行流程可能并不是所有人都清楚了，那么既然进来了，通读本文你将收获如下：
1、Mapper接口和映射文件是如何进行绑定的
2、MyBatis中SQL语句的执行流程
3、自定义MyBatis中的参数设置处理器typeHandler
4、自定义MyBatis中结果集处理器typeHandler
PS：本文基于MyBatis3.5.5版本源码
干货分享最近将个人学习笔记整理成册，使用PDF分享主要包含了Java基础，数据结构，jvm，多线程等等，]]></description><category></category></item><item><title><![CDATA[导致Spring事务失效，常见的情况有哪些？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/112547486</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/112547486</guid><author>a3961401</author><pubDate>Tue, 12 Jan 2021 21:08:37 +0800</pubDate><description><![CDATA[**本文2个目的：
1、使用spring事务的过程中，哪些情况会导致事务失效？
2、遇到事务相关bug时，有哪些方法可以快速定位bug？
干货分享最近将个人学习笔记整理成册，使用PDF分享主要包含了Java基础，数据结构，jvm，多线程等等，由于篇幅有限，以下只展示小部分面试题，
需要的朋友可以点一点领取：戳这里即可领取。。。暗号：优快云
1、事务失效的7种情况
未启用spring事务管理功能
方法不是public类型的
数据源未配置事务管理器
自身调用问题
异常类型错误
异常被吞了
业务和spring事]]></description><category></category></item><item><title><![CDATA[Java中的深浅拷贝问题你清楚吗？你清楚吗？你清楚吗？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/112441843</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/112441843</guid><author>a3961401</author><pubDate>Sun, 10 Jan 2021 20:39:15 +0800</pubDate><description><![CDATA[一、前言
拷贝这个词想必大家都很熟悉，在工作中经常需要拷贝一份文件作为副本。拷贝的好处也很明显，相较于新建来说，可以节省很大的工作量。在Java中，同样存在拷贝这个概念，拷贝的意义也是可以节省创建对象的开销。
最新2021整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详细的学习规划图，面试题整理等，我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!!暗号：优快云
Object类中有一个方法clone(]]></description><category></category></item><item><title><![CDATA[这是你没用过的全新版本！ IDEA 2020.3 正式发布，开发效率神器你确定不了解下吗？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/112297253</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/112297253</guid><author>a3961401</author><pubDate>Wed, 06 Jan 2021 20:41:47 +0800</pubDate><description><![CDATA[LZ第一时间就在开发机上更新了新版本，并且完整体验了两周了。下面介绍一下这个版本的主要功能：
最新2021整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详细的学习规划图，面试题整理等，我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!!暗号：优快云
1、全新的欢迎窗口，更加人性化
IDEA 欢迎窗口全新升级，首页增加三个选项卡，一个用于设置 IDE 界面的Customize，一个用于插件安装的 Pl.]]></description><category></category></item><item><title><![CDATA[Spring IOC拦截器中你为什么不能注入Java bean？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/112188925</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/112188925</guid><author>a3961401</author><pubDate>Mon, 04 Jan 2021 17:31:42 +0800</pubDate><description><![CDATA[一、如何实现拦截器
在Spring Boot项目中，拦截器经常被用来做登陆验证，日志记录等操作。拦截器是Spring提供的，所以可以将拦截器注成bean，由IOC容器来管理。实现拦截器的方式很简单，主要由以下两个步骤：
自定义拦截器类实现HandlerInterceptor接口
自定义WebMvc配置类实现WebMvcConfigurer接口，添加自定义拦截器类
最新2021整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，]]></description><category></category></item><item><title><![CDATA[Java开发总结技巧，Java最佳实践，提升代码可读性与可靠性]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111997973</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111997973</guid><author>a3961401</author><pubDate>Wed, 30 Dec 2020 20:48:28 +0800</pubDate><description><![CDATA[从命名变量到设计软件架构，开发人员每天都要做出许多决定，而做出正确决定的最好的办法就是经验。虽然并非每个人都具备丰富的软件开发经验，但每个人都可以从他人身上学习。下面是我对 Java 开发总结的一些技巧，希望可以有助你提高 Java 代码的可读性和可靠性。

整理了最新2020整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详细的学习规划图，面试题整理等，我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!]]></description><category></category></item><item><title><![CDATA[史上最全的分布式面试题，Java程序员这些都不会拿什么去面试。]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111824625</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111824625</guid><author>a3961401</author><pubDate>Sun, 27 Dec 2020 19:26:18 +0800</pubDate><description><![CDATA[分布式分为分布式缓存（Redis）、分布式锁（Redis 或 Zookeeper）、分布式服务（Dubbo 或 SpringCloud）、分布式服务协调（Zookeeper）、分布式消息队列（Kafka 、RabbitMq）、分布式 Session 、分布式事务、分布式搜索（Elasticsearch）等。不可能所有分布式内容都熟悉，一定要在某个领域有所专长。
2020整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详]]></description><category></category></item><item><title><![CDATA[面试官：Redis 缓存一致性问题怎么解决，这样回答简直完美。]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111655856</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111655856</guid><author>a3961401</author><pubDate>Thu, 24 Dec 2020 21:04:16 +0800</pubDate><description><![CDATA[关于 Redis 的其他的一些面试问题，比如常见的缓存穿透、雪崩、击穿、热点的问题，但是还有一个比较麻烦的问题就是如何保证缓存一致性。
2020整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详细的学习规划图，面试题整理等，我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!!暗号：优快云
对于缓存和数据库的操作，主要有以下两种方式。
先删缓存，再更新数据库
先删除缓存，数据库还没有更新成功，此时如果读取]]></description><category></category></item><item><title><![CDATA[Spring的控制反转(IoC)与依赖注入(DI)详解]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111566639</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111566639</guid><author>a3961401</author><pubDate>Tue, 22 Dec 2020 20:53:22 +0800</pubDate><description><![CDATA[一、概念：
**控制反转(Inversion of Control，英文缩写为IoC)****：****是一个重要的面向对象编程的法则来削减计算机程序的耦合问题，也是轻量级的Spring框架的核心。
2020整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详细的学习规划图，面试题整理等，我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!!暗号：优快云
控制反转一般分为两种类型，依赖注入(Dependen]]></description><category></category></item><item><title><![CDATA[如何避免反射导致的性能问题？Java反射到底慢在哪？反射真的有性能问题吗？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111477299</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111477299</guid><author>a3961401</author><pubDate>Mon, 21 Dec 2020 16:19:24 +0800</pubDate><description><![CDATA[前述
反射具体是怎么影响性能的？这引起了我的反思。是啊，在阐述某个观点时确实有必要说明原因，并且证明这个观点是对的，虽然反射影响性能人尽皆知，我曾经也真的研究过反射是否存在性能问题，但并没有在写文章的时候详细说明。这让我想到网上很多信息只会告诉你结论，并不会说明原因，导致很多学到的东西都是死记硬背，而不是真正掌握，别人一问或者自己亲身遇到同样的问题时，傻眼了。
2020整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详]]></description><category></category></item><item><title><![CDATA[你还在用分页？试试 MyBatis 流式查询，真心强大！]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111428271</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111428271</guid><author>a3961401</author><pubDate>Sun, 20 Dec 2020 15:16:55 +0800</pubDate><description><![CDATA[基本概念
流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器，应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。
如果没有流式查询，我们想要从数据库取 1000 万条记录而又没有足够的内存时，就不得不分页查询，而分页查询效率取决于表设计，如果设计的不好，就无法执行高效的分页查询。因此流式查询是一个数据库访问框架必须具备的功能。
流式查询的过程当中，数据库连接是保持打开状态的，因此要注意的是：执行一个流式查询后，数据库访问框架就不负责关闭数据库连接了，需要应用在取完数据后自己关闭。
M]]></description><category></category></item><item><title><![CDATA[锁、锁、锁看了synchronized源码，请别和我说它慢JDK15之后再也不用担心了]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111304671</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111304671</guid><author>a3961401</author><pubDate>Thu, 17 Dec 2020 16:04:43 +0800</pubDate><description><![CDATA[我们都知道 Java 之所以可以一次编译到处运行，完全是因为字节码的原因，字节码就相当于中间层屏蔽了底层细节。但是想要在机器执行，最终还是要翻译成机器指令。
而 JVM 是通过 C/C++ 来编写的。Java 程序编译后，会产生很多字节码指令，每一个字节码指令在 JVM 底层执行的时候又会编程一堆 C 代码，这一堆 C 代码在编译之后又会编程很多的机器指令。这样我们的 Java 代码到最终执行的机器指令那一层，所产生的机器指令时指数级的。这也就导致了 Java 执行效率低下。
早期的 JVM 是因为解释执行]]></description><category></category></item><item><title><![CDATA[面试官：JVM哪些场景会产生OOM？怎么解决？]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111239842</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111239842</guid><author>a3961401</author><pubDate>Tue, 15 Dec 2020 20:48:14 +0800</pubDate><description><![CDATA[这个面试题是一个朋友在面试的时候碰到的，什么时候会抛出 OutOfMemery 异常呢？初看好像挺简单的，其实深究起来考察的是对整个 JVM 的了解。这个问题从网上可以翻到一些乱七八糟的答案，其实在总结下来基本上4个场景可以概括下来。
2020整理收集的一线互联网公司面试真题（都整理成文档），有很多干货，包含netty，spring，线程，spring cloud等详细讲解，也有详细的学习规划图，面试题整理等，我感觉在面试这块讲的非常清楚:获取面试资料只需:点击这里领取!!!暗号：优快云
1. 堆内存溢出]]></description><category></category></item><item><title><![CDATA[一看过太多大厂面试题，其实考的无非是这 3 点能力，掌握BATJ都可以拿到offer。]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111085532</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111085532</guid><author>a3961401</author><pubDate>Sat, 12 Dec 2020 21:42:10 +0800</pubDate><description><![CDATA[前面叽叽歪歪
作为一个研发工程师，看过很多公司的面试题，也参与过很多公司的面试，发现大厂的面试题更加具有代表性，虽然现在很多大厂的面试官也懒得自己出题了，不过经验老到的他们还是更清楚如何高效率地考察面试者
既然大公司的面试题具有共性，那么我们也不妨来尝试探讨一下，大厂面试题到底考察面试者哪些方面的能力。
1、基础知识
基础知识无疑是大厂面试官最喜欢考察的东西了。如果面试者的基础都不扎实，那么建立于基础知识之上的实战能力、业务能力都是空中楼阁。
说到基础知识，首当其冲的就是岗位要求的能力了，比如对于Java工]]></description><category></category></item><item><title><![CDATA[JAVA CAS原理深度分析锁优化、CAS、AQS一文扫清知识盲区！]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/111041031</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/111041031</guid><author>a3961401</author><pubDate>Fri, 11 Dec 2020 16:45:17 +0800</pubDate><description><![CDATA[JAVA CAS原理深度分析锁优化、CAS、AQS一文扫清知识盲区！

Java并发
在Java并发中，我们最初接触的应该就是synchronized关键字了，但是synchronized属于重量级锁，很多时候会引起性能问题，volatile也是个不错的选择，但是volatile不能保证原子性，只能在某些场合下使用。
像synchronized这种独占锁属于悲观锁，它是在假设一定会发生冲突的，那么加锁恰好有用，除此之外，还有乐观锁，乐观锁的含义就是假设没有发生冲突，那么我正好可以进行某项操作，如果要是发生.]]></description><category></category></item><item><title><![CDATA[Java 最常见的 200+ 面试题：面试必备不断完善和扩充自己 java 技术栈]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/110987219</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/110987219</guid><author>a3961401</author><pubDate>Thu, 10 Dec 2020 20:48:40 +0800</pubDate><description><![CDATA[一些面试分享心得
这份面试清单是我从 2016 年做了 TeamLeader 之后开始收集的，一方面是给公司招聘用，另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点，然后修复和完善它，以此来提高自己的技术水平。虽然我从 2013 年就开始参加编程工作了，但依旧觉得还有很多东西要学，当然学习的过程也给我带来了很多成就感，这些成就感也推动我学习更多的技术知识。
本文分享给需要面试刷题的朋友，也祝愿大家顺利拿到自己想要的offer，这份资料主要包含了Java基础，数据结构，jvm，多线程等等，由于篇幅有限]]></description><category></category></item><item><title><![CDATA[Java基础问题夺命连环16问，全会的话你离进大厂已经不远了]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/110939933</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/110939933</guid><author>a3961401</author><pubDate>Wed, 09 Dec 2020 20:39:47 +0800</pubDate><description><![CDATA[给大家整理了一些面试题有需要完整版的朋友可以点一点领取：点这里即可领取下面资料！！！，获取码：优快云

说说进程和线程的区别？
进程是程序的一次执行，是系统进行资源分配和调度的独立单位，他的作用是是程序能够并发执行提高资源利用率和吞吐率。
由于进程是资源分配和调度的基本单位，因为进程的创建、销毁、切换产生大量的时间和空间的开销，进程的数量不能太多，而线程是比进程更小的能独立运行的基本单位，他是进程的一个实体，可以减少程序并发执行时的时间和空间开销，使得操作系统具有更好的并发性。
线程基本不拥有系统资源，.]]></description><category></category></item><item><title><![CDATA[深入浅出聊一聊mysql中的事务及其实现原理]]></title><link>https://blog.youkuaiyun.com/a3961401/article/details/110875387</link><guid>https://blog.youkuaiyun.com/a3961401/article/details/110875387</guid><author>a3961401</author><pubDate>Tue, 08 Dec 2020 16:13:12 +0800</pubDate><description><![CDATA[说起事务，肯定能够想到这样一句话，这个事情要么不做，要么做完；或者是好兄弟不求同年同月同日生，但求同年同月同日死。有点过分，但是是这个理儿。
给大家整理了一些面试题有需要完整版的朋友可以点一点领取：点这里即可领取下面资料，获取码：优快云
四大特性
我们都知道，提到事务，就不能不提事务的四大特性，ACID，即原子性，一致性，隔离性，持久性。
原子性（Atom）：事务的一组操作是原子的不可再分割的，这组操作要么同时完成要么同时不完成。
一致性（Consistency）: 事务在执行前后数据的完整性保持不变。数]]></description><category></category></item></channel></rss>