<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Felix_ar]]></title><description><![CDATA[这个世界上只有一种成功，那就是用自己喜欢的方式生活！]]></description><link>https://blog.youkuaiyun.com/Felix_ar</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Felix_ar]]></copyright><item><title><![CDATA[Springboot整合easyExcel导入导出Excel]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/103480950</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/103480950</guid><author>Felix_ar</author><pubDate>Tue, 10 Dec 2019 19:30:12 +0800</pubDate><description><![CDATA[背景：
最近公司有个需求要求可以导入、导出excel，因此在此记录学习一下如何使用Springboot整合easyExcel；
需求：
数据库中有张user表，有个业务要求可以导入、导出“用户名单.xls”表
一、准备：
创建项目：
关于springboot项目如何创建这里不再赘述，放一张项目结构图：

1、导入easyexcel、mybatis、mysql依赖
		&lt;!-- easyexc...]]></description><category></category></item><item><title><![CDATA[2020届个人秋招Java面经总结]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/102732941</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/102732941</guid><author>Felix_ar</author><pubDate>Thu, 24 Oct 2019 22:35:23 +0800</pubDate><description><![CDATA[一、前言
两个多月的跌跌撞撞，秋招到现在基本上尘埃落定了。这里分享自己在这个过程中的一些感悟，希望能帮到大家。
（1）简历真的很重要，特别是之前没打acm、没竞赛经历的，争取多做几个项目并且找个实习，否则笔试机会都没有
（2）算法真的很重要，从现在开始每天多做几道剑指offer和LeetCode，锻炼自己的解题能力，不然笔试会很难过
（3）到了面试的时候，要求自己对于简历上写的东西都要很熟悉，基础...]]></description><category></category></item><item><title><![CDATA[HTTP报文首部与常见HTTP状态码]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/91383180</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/91383180</guid><author>Felix_ar</author><pubDate>Mon, 10 Jun 2019 16:28:58 +0800</pubDate><description><![CDATA[一、 Http报文首部
1、HTTP报文首部

HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。
2、HTTP 请求报文

在请求中，HTTP 报文由方法、URI、HTTP 版本、HTTP 首部字段等部分构成。
3、HTTP 响应报文

在响应中，HTTP 报文由 HTTP 版本、状态码（数字和原因短语）、HTTP 首部字段 3...]]></description><category></category></item><item><title><![CDATA[Linux（CentOS）下安装部署Redis]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/89857260</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/89857260</guid><author>Felix_ar</author><pubDate>Sun, 05 May 2019 23:01:18 +0800</pubDate><description><![CDATA[一、下载
方法1：到redis官网下载安装包，然后将其放到“/tmp”目录下面
方法2：直接在“/tmp”目录下，执行以下命令：
wget http://download.redis.io/releases/redis-5.0.4.tar.gz

注意：若出现wget: unable to resolve host address的问题
解决办法：
sudo vim /etc/resolv.con...]]></description><category></category></item><item><title><![CDATA[简单理解Spring Aop]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/89578527</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/89578527</guid><author>Felix_ar</author><pubDate>Sat, 27 Apr 2019 17:13:17 +0800</pubDate><description><![CDATA[一、什么是AOP
AOP是一种思想，也称为“面向切面编程”。

AOP 技术利用一种称为“横切”的技术，剖解开封装的对象内部，并将那些影响了多个类
的公共行为封装到一个可重用模块，并将其名为“Aspect”，即方面。所谓“方面”，简单地说，
就是将那些与业务无关，却为业务模块所共同调用的逻辑或责任封装起来，便于减少系统的
重复代码，降低模块间的耦合度，并有利于未来的可操作性和可维护性。

AOP将...]]></description><category></category></item><item><title><![CDATA[TCP连接的建立与释放----三次握手与四次挥手]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/89463877</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/89463877</guid><author>Felix_ar</author><pubDate>Mon, 22 Apr 2019 23:58:59 +0800</pubDate><description><![CDATA[一、TCP连接建立
1、TCP连接建立需要经过三次握手：

（1）首先由 Client （客户端）发出请求连接即 SYN=1 ACK=0 , TCP 规定SYN=1 时不能携带数据，但要消耗一个序号,因此声明自己的序号是 seq=x（随机产生且不为0），此时客户端进入SYN_SEND（准备发送）状态。
（2）然后 Server（服务器端） 进行回复确认，即 SYN=1 ACK=1 seq=y, 确...]]></description><category></category></item><item><title><![CDATA[杂七杂八-推荐阅读]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/89242870</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/89242870</guid><author>Felix_ar</author><pubDate>Fri, 12 Apr 2019 15:57:30 +0800</pubDate><description><![CDATA[浅显易懂，推荐一看
https://segmentfault.com/a/1190000008131735

]]></description><category></category></item><item><title><![CDATA[CVTE Web后台实习面经（Java）]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/89226785</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/89226785</guid><author>Felix_ar</author><pubDate>Fri, 12 Apr 2019 10:19:55 +0800</pubDate><description><![CDATA[一面
1、.熟悉哪些排序算法？（写了归并排序。）
2、.二分查找和冒泡让你选，选哪个？（写了二分查找）
3、.项目用到数据库，知道有哪些引擎？说一下区别。
4、.了解mysql调优？说一下怎么优化查询。
5、.Arraylist和Linkedlist区别？。
6、.hashmap的结构？怎么扩容？。
7、.线程有哪些状态，线程能从阻塞直接到死亡吗。
8、.说一下gc算法。
9、mysql底层实现？...]]></description><category></category></item><item><title><![CDATA[Redis学习之路（2）---- 字典与渐进式rehash]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/88827541</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/88827541</guid><author>Felix_ar</author><pubDate>Tue, 26 Mar 2019 19:05:07 +0800</pubDate><description><![CDATA[一、了解字典
字典，是一种用于保存键值对（key-value）的抽象数据结构，可以简单的理解为hashmap。
字典在Redis中的应用十分广泛，比如Redis的数据库就是使用字典来作为底层实现的，对数据库的增删改查也是建立在对字典的操作之上的。

redis&gt; SET  a  “b”
OK

例如执行上面的命令，在数据库中创建一个键为"a",值为"b"的键值对时，这个键值对就是保存在代表数...]]></description><category></category></item><item><title><![CDATA[死锁产生的原因及条件]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/88060307</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/88060307</guid><author>Felix_ar</author><pubDate>Fri, 01 Mar 2019 15:24:45 +0800</pubDate><description><![CDATA[一、死锁的定义：
死锁 :是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
二、原因：
（1） 因为系统资源不足。
（2） 资源分配不当等。
（3） 进程运行推进顺序不合适。
如果系统资源充足，进程的资源请求都能够得到满足，死锁出现的可能性就很低，否则就会因争夺有限的资源而陷入死锁。其次，进程运行推进顺序与速度不同，也可能产生死锁。
...]]></description><category></category></item><item><title><![CDATA[Java虚拟机之----类加载器&双亲委派模型]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/88034573</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/88034573</guid><author>Felix_ar</author><pubDate>Thu, 28 Feb 2019 16:41:17 +0800</pubDate><description><![CDATA[一、前言
紧接着上篇文章，类加载阶段中有一个动作是“通过一个类的全限定名来获取描述此类的二进制字节流”，这个动作是放到Java虚拟机外部去实现的，实现这个动作的代码模块被称为“类加载器”。
二、类与类加载器
类加载器虽然只用于实现类的加载动作，但它在Java程序中起到的作用却远远不限于类
加载阶段。对于任意一个类，都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性，每一个类加...]]></description><category></category></item><item><title><![CDATA[Java虚拟机之----类加载机制]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/86700503</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/86700503</guid><author>Felix_ar</author><pubDate>Wed, 30 Jan 2019 11:12:12 +0800</pubDate><description><![CDATA[一、前言
虚拟机把描述类的数据从Class文件加载到内存，并对数据进行校验、转换解析和初始化，最终形成可以被虚拟机直接使用的Java类型，这就是虚拟机的类加载机制。
二、类加载机制
在Java语言里面，类的加载、连接和初始化过程是在程序运行期间第一次使用时完成的（运行期动态加载和动态连接）
1、类加载时机
类从被加载到虚拟机内存中开始，到卸载出内存为止，它的整个生命周期包括：

加载（Loadin...]]></description><category></category></item><item><title><![CDATA[Java虚拟机之----垃圾收集算法&内存分配与回收策略]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/86489587</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/86489587</guid><author>Felix_ar</author><pubDate>Tue, 15 Jan 2019 13:17:59 +0800</pubDate><description><![CDATA[一、前言
上篇博文简单介绍了Java虚拟机的垃圾收集机制，本文就接着讲一讲常用的垃圾收集算法、垃圾收集器还有内存分配与回收策略。
二、垃圾收集算法
1、标记-清除算法
标记-清除算法是最基础的收集算法，因为后续的收集算法都是基于该算法的思路并对其不足进行改进而得到的，可分为“标记”和“清除”两个阶段：首先标记出所有需要回收的对象，在标记完成后统一回收所有被标记的对象。

缺点：

一个是效率问题，...]]></description><category></category></item><item><title><![CDATA[Java虚拟机之----垃圾收集机制]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/86473963</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/86473963</guid><author>Felix_ar</author><pubDate>Mon, 14 Jan 2019 13:28:18 +0800</pubDate><description><![CDATA[一、前言
上一篇博文介绍了Java虚拟机的内存结构等内容，前面说到，虚拟机栈、本地方法栈和程序计数器这三者属于线程私有，随着线程而生也随着线程而灭；
对于这三者，当方法或者线程结束后，内存也自然跟着被回收，故而不需要对这三个区域进行垃圾回收。
因此垃圾收集主要是对堆和方法区而言。
二、垃圾收集（Garbage Collection,GC）
1、 判断一个对象是否“存活”
在堆里面存放着Java世界...]]></description><category></category></item><item><title><![CDATA[计算机网络体系结构]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/85494653</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/85494653</guid><author>Felix_ar</author><pubDate>Mon, 31 Dec 2018 23:26:04 +0800</pubDate><description><![CDATA[前言
计算机网络体系结构是由网络层次结构模型与各层协议组成的
一、OSI参考模型
OSI参考模型可分为以下7个层次：

应用层
表示层
会话层
传输层
网络层
数据链路层
物理层

应用层：实现协同工作的应用程序之间的通信过程控制
表示层：负责通信系统之间的数据格式变换、数据加密与解密、压缩与恢复
会话层：维护两个会话主机之间连接的建立、管理和终止以及数据的交换
传输层：为不同位置的计算机的进程通...]]></description><category></category></item><item><title><![CDATA[设计模式课程设计---使用5个以上不同的设计模式完成]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/85094345</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/85094345</guid><author>Felix_ar</author><pubDate>Wed, 19 Dec 2018 13:05:53 +0800</pubDate><description><![CDATA[设计模式期末课程设计
本文记录一下我设计模式期末的课程设计，要求用使用5个以上不同的设计模式完成
其实就是一个小系统，代码挺简单的，但要融合多个设计模式，所以代码还是挺多的（大概18~19个类），因此这里代码就不贴出来了，文章最后会给出源代码的下载链接
本系统模拟可乐代理商从进货到可乐公司生产发货以及销售给顾客的整个过程。可细分为以下三个部分：
（1）可乐代理商选择进货，同时发送邮件通知可乐公司
...]]></description><category></category></item><item><title><![CDATA[Java Socket网络编程：实现简单的局域网共享文件（PeertoPeer）]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/85042672</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/85042672</guid><author>Felix_ar</author><pubDate>Mon, 17 Dec 2018 00:01:31 +0800</pubDate><description><![CDATA[介绍
代码很简单，只需要两个java文件：Server.java和Client.java。
代码不是我写的，出自：这里（感兴趣的可以自行下载，这里就不贴出来了）
运行结果
简要说一下怎么运行：
（1）同时运行Server.java和Client.java文件，出现如下界面：

客户端中ip是socket设置的服务端ip，否则无法接受文件
（2）服务端点击“浏览”，然后这里选择我电脑D盘的test....]]></description><category></category></item><item><title><![CDATA[设计模式之----观察者模式]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/85011828</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/85011828</guid><author>Felix_ar</author><pubDate>Sat, 15 Dec 2018 10:04:07 +0800</pubDate><description><![CDATA[观察者模式

当对象间存在一对多关系时，则使用观察者模式（Observer
Pattern）。比如，当一个对象被修改时，则会自动通知它的依赖对象。观察者模式属于行为型模式。
意图：定义对象间的一种一对多的依赖关系，当一个对象的状态发生改变时，所有依赖于它的对象都得到通知并被自动更新。
主要解决：一个对象状态改变给其他对象通知的问题，而且要考虑到易用和低耦合，保证高度的协作。
何时使用：一个对象（目...]]></description><category></category></item><item><title><![CDATA[Linux下常用命令（附其他链接）]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/84981105</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/84981105</guid><author>Felix_ar</author><pubDate>Wed, 12 Dec 2018 23:23:30 +0800</pubDate><description><![CDATA[1、linux特点
1）开源：用户可以通过网络和其他途径免费获得，并可以任意修改其源代码。（！=免费）
2）多用户：各个用户对于自己的文件设备有自己特殊的权利，保证了各用户之间互不影响
3）多任务：可以多个程序同时独立地运行（类似window系统一边下载大片、一边听着音乐、一边浏览着你“亲爱的她”的空间美照）
4）良好的界面：Linux同时具有字符界面和图像界面。建议使用字符界面（也被称为命令行界...]]></description><category></category></item><item><title><![CDATA[设计模式之----组合模式]]></title><link>https://blog.youkuaiyun.com/Felix_ar/article/details/84898011</link><guid>https://blog.youkuaiyun.com/Felix_ar/article/details/84898011</guid><author>Felix_ar</author><pubDate>Sat, 08 Dec 2018 19:34:48 +0800</pubDate><description><![CDATA[组合模式
介绍：
组合模式，将对象组合成树形结构以表示“部分-整体”的层次结构，组合模式使得用户对单个对象和组合对象的使用具有一致性。
有时候又叫做部分-整体模式，它使我们树型结构的问题中，模糊了简单元素和复杂元素的概念，客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。
结构：
1、Component （抽象构件）：
是组合中的对象声明接口，在适当的情况下，...]]></description><category></category></item></channel></rss>