<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aiklmj的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aiklmj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aiklmj]]></copyright><item><title><![CDATA[吊打面试官----精华汇总之分布式事务]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/105879316</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/105879316</guid><author>aiklmj</author><pubDate>Fri, 01 May 2020 22:54:32 +0800</pubDate><description><![CDATA[先介绍常见的几种分布式事务解决方案，属于近两年面试必问题目。

1.两阶段提交（2PA）

两阶段提交，有一个事务管理器的概念，负责协调多个数据库（资源管理器）的事务，事务管理器先问问各个数据库你准备好了吗？如果每个数据库都回复ok，那么就正式提交事务，在各个数据库上执行操作；如果任何一个数据库回答不ok，那么就回滚事务。

这种分布式事务方案，比较适合单块应用里，跨多个库的分布式事务。但是因为严...]]></description><category></category></item><item><title><![CDATA[吊打面试官----精华汇总之设计模式与重构]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103638967</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103638967</guid><author>aiklmj</author><pubDate>Fri, 20 Dec 2019 22:04:36 +0800</pubDate><description><![CDATA[1.  说说几个常见的设计模式（23种设计模式）？
2.  设计一个工厂的包的时候会遵循哪些原则?
3.  列举一个使用了 Visitor/ Decorator模式的开源项目/库?
4.  如何实现一个单例?
5.  代理模式(动态代理)？
6.  单例模式(懒汉模式,恶汉模式,并发初始化如何解决, volatile与lock的使用)？
7.  JDK源码里面都有些什么让你印象深刻的...]]></description><category></category></item><item><title><![CDATA[吊打面试官----精华汇总之网络编程]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103638068</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103638068</guid><author>aiklmj</author><pubDate>Fri, 20 Dec 2019 21:31:12 +0800</pubDate><description><![CDATA[1.  TCP建立连接和断开连接的过程？
2.  HTTP协议的交互流程? HTTP和HTTPS的差异，SSL的交互流程？
3.  TCP的滑动窗口协议有什么用？
4.  HTTP协议都有哪些方法？
5.  Socket交互的基本流程？
6.  讲讲tcp协议（建连过程，慢启动，滑动窗口，七层模型）？
7.  webservice协议（wsdl/soap格式，与restt办议的区别）...]]></description><category></category></item><item><title><![CDATA[服务的有状态和无状态]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103623708</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103623708</guid><author>aiklmj</author><pubDate>Thu, 19 Dec 2019 21:38:42 +0800</pubDate><description><![CDATA[对服务器程序来说，究竟是有状态服务，还是无状态服务，其判断依据是——两个来自相同发起者的请求在服务器端是否具备上下文关系。

状态化请求，服务器端一般都要保存请求的相关信息，每个请求可以默认地使用以前的请求信息。

无状态请求，服务器端所能够处理的过程必须全部来自于请求所携带的信息，以及其他服务器端自身所保存的、并且可以被所有请求所使用的公共信息。

总结：

有状态服务可以比较容易地实现事务，在...]]></description><category></category></item><item><title><![CDATA[zookeeper宕机]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103622930</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103622930</guid><author>aiklmj</author><pubDate>Thu, 19 Dec 2019 21:08:57 +0800</pubDate><description><![CDATA[现象：zookeeper注册中心宕机，还可以消费dubbo暴露的服务。
原因：

监控中心宕掉不影响使用，只是丢失部分采样数据
数据库宕掉后，注册中心仍能通过缓存提供服务列表查询，但不能注册新服务
注册中心对等集群，任意一台宕掉后，将自动切换到另一台
注册中心全部宕掉后，服务提供者和服务消费者仍能通过本地缓存通讯
服务提供者无状态，任意一台宕掉后，不影响使用
服务提供者全部宕掉后，服务消费者应用将...]]></description><category></category></item><item><title><![CDATA[吊打面试官----精华汇总之JVM]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103603208</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103603208</guid><author>aiklmj</author><pubDate>Wed, 18 Dec 2019 21:50:23 +0800</pubDate><description><![CDATA[1.  描述一下 JVM 加载 Class 文件的原理机制?
2.  什么是类加载器？
3.  类加载器有哪些？
4.  什么是tomcat类加载机制？

前面3个类加载和默认的一致，CommonClassLoader、CatalinaClassLoader、SharedClassLoader和WebappClassLoader则是Tomcat自己定义的类加载器，它们分别加载 /commo...]]></description><category></category></item><item><title><![CDATA[浅谈Redis集群与哨兵机制]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103445686</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103445686</guid><author>aiklmj</author><pubDate>Sun, 08 Dec 2019 16:03:06 +0800</pubDate><description><![CDATA[Redis 3.0 版本开始官方正式支持集群模式，Redis 集群模式提供了一种能将数据在多个节点上进行分区存储的方法，采取了和上述两者不同的实现方案——去中心化的集群模式，集群通过数据分片进行数据共享，分片内采用一主多从的形式进行副本复制，并提供复制和故障恢复功能。


			性能
			
			
			Redis 集群模式采用去中心化的设计，即 P2P 而非之前业界衍生出的 Proxy 方式
...]]></description><category></category></item><item><title><![CDATA[隔离级别]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103394417</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103394417</guid><author>aiklmj</author><pubDate>Wed, 04 Dec 2019 21:43:02 +0800</pubDate><description><![CDATA[事务的隔离级别分为4个，即

读未提交(read uncommitted)：

事务在读数据的时候并未对数据加锁。

事务在修改数据的时候只对数据增加行级共享锁。

读已提交(read committed)：

事务对当前被读取的数据加 行级共享锁（当读到时才加锁），一旦读完该行，立即释放该行级共享锁；

事务在更新某数据的瞬间（就是发生更新的瞬间），必须先对其加 行级排他锁，直到事务结束才释放。...]]></description><category></category></item><item><title><![CDATA[多线程方法总结]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103378866</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103378866</guid><author>aiklmj</author><pubDate>Wed, 04 Dec 2019 00:00:49 +0800</pubDate><description><![CDATA[1 sleep和yield的区别在于, sleep可以使优先级低的线程得到执行的机会, 而yield只能使同优先级的线程有执行的机会.

2 interrupt方法不会中断一个正在运行的线程.就是指线程如果正在运行的过程中, 去调用此方法是没有任何反应的. 为什么呢, 因为这个方法只是提供给 被阻塞的线程, 即当线程调用了.Object.wait, Thread.join, Thread.sle...]]></description><category></category></item><item><title><![CDATA[Docker\k8s\Rancher\jenkins]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103329620</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103329620</guid><author>aiklmj</author><pubDate>Sat, 30 Nov 2019 22:33:53 +0800</pubDate><description><![CDATA[Docker在容器的基础上，进行了进一步的封装，从文件系统、网络互联到进程隔离等等，极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。使用 Docker，可以让应用的部署、测试和分发都变得前所未有的高效和轻松。

为什么要使用docker？

更高效的利用系统资源；
更快速的启动时间；
一致的运行环境；
持续交付和部署；
更轻松的迁移；
更轻松的维护和扩展；

...]]></description><category></category></item><item><title><![CDATA[NIO 总结]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103207349</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103207349</guid><author>aiklmj</author><pubDate>Mon, 25 Nov 2019 09:22:45 +0800</pubDate><description><![CDATA[NIO主要有三大核心部分：Channel(通道)，Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作，而NIO基于Channel和Buffer(缓冲区)进行操作，数据总是从通道读取到缓冲区中，或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件（比如：连接打开，数据到达）。因此，单个线程可以监听多个数据通道。



Pipe

Java NIO ...]]></description><category></category></item><item><title><![CDATA[future 应用举例]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103201546</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103201546</guid><author>aiklmj</author><pubDate>Fri, 22 Nov 2019 15:26:01 +0800</pubDate><description><![CDATA[public void pushAllGoodsPrice(final int pageSize) {
// 先查出所有店铺
List storeList = storeGoodsPriceDAO.queryAllStoreCode();
List futureList = new ArrayList();
for (final String storeCode : storeList) {
Fu...]]></description><category></category></item><item><title><![CDATA[Nginx 总结]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103142670</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103142670</guid><author>aiklmj</author><pubDate>Tue, 19 Nov 2019 15:51:10 +0800</pubDate><description><![CDATA[一 概念

Nginx 是一个免费的，开源的，高性能的 HTTP 服务器和反向代理，以及 IMAP / POP3 代理服务器。Nginx 以其高性能，稳定性，丰富的功能，简单的配置和低资源消耗而闻名。

Nginx 是高性能的 HTTP 和反向代理的web服务器，其特点是占有内存少，并发能力强，能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。

二 功能

反向代理：

...]]></description><category></category></item><item><title><![CDATA[spring 常用注解汇总]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103082628</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103082628</guid><author>aiklmj</author><pubDate>Fri, 15 Nov 2019 11:43:37 +0800</pubDate><description><![CDATA[1.声明bean的注解

@Component 组件，没有明确的角色

@Service 在业务逻辑层使用（service层）

@Repository 在数据访问层使用（dao层）

@Controller 在展现层使用，控制器的声明（C）

2.注入bean的注解

@Autowired：由Spring提供

@Inject：由JSR-330提供

@Resource：由JSR-250提供
都...]]></description><category></category></item><item><title><![CDATA[Spring Boot]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103069843</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103069843</guid><author>aiklmj</author><pubDate>Thu, 14 Nov 2019 17:07:26 +0800</pubDate><description><![CDATA[Spring Boot 是在强大的 Spring 帝国生态基础上面发展而来，发明 Spring Boot 不是为了取代 Spring ,是为了让人们更容易的使用 Spring 。所以说没有 Spring 强大的功能和生态，就不会有后期的 Spring Boot 火热, Spring Boot 使用约定优于配置的理念，重新重构了 Spring 的使用，让 Spring 后续的发展更有生命力。Spri...]]></description><category></category></item><item><title><![CDATA[秒杀策略总结]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103069265</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103069265</guid><author>aiklmj</author><pubDate>Thu, 14 Nov 2019 16:29:38 +0800</pubDate><description><![CDATA[一般商家在做活动的时候，经常会遇到各种不怀好意的DDOS攻击(利用无辜的吃瓜群众夺取资源)，导致真正的我们无法获得服务！所以说高防IP还是很有必要的。

搞活动就意味着人多，接入SLB，对多台云服务器进行流量分发，可以通过流量分发扩展应用系统对外的服务能力，通过消除单点故障提升应用系统的可用性。

基于SLB价格以及灵活性考虑后面我们接入Nginx做限流分发，来保障后端服务的正常运行。

后端秒杀...]]></description><category></category></item><item><title><![CDATA[网关基本功能]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/103064911</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/103064911</guid><author>aiklmj</author><pubDate>Thu, 14 Nov 2019 11:52:18 +0800</pubDate><description><![CDATA[1）Spring Cloud注册组件-Eureka

2）Spring Cloud服务调用与负载均衡组件 - Ribbon与OpenFeign

3）Spring Cloud熔断器- Hystrix

4）Spring Cloud网关-Zuul

5）Spring Cloud配置中心-Spring Cloud Config与Spring Cloud Bus

6）Spring Cloud分布式链路...]]></description><category></category></item><item><title><![CDATA[最近用到的linux命令总结]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/102998713</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/102998713</guid><author>aiklmj</author><pubDate>Sun, 10 Nov 2019 17:43:38 +0800</pubDate><description><![CDATA[1.脚本执行方式：

 A.赋予可执行权限 : chmod +x westos.sh 然后绝对路径执行 /mnt/westos.sh

 B.sh命令执行： sh westos.sh 后台执行 sh westos.sh &amp;

2. &amp;&amp; 表示前一条命令执行成功时，才执行后一条命令 ，如 echo '1‘ &am...]]></description><category></category></item><item><title><![CDATA[token浅谈]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/102969767</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/102969767</guid><author>aiklmj</author><pubDate>Fri, 08 Nov 2019 11:44:36 +0800</pubDate><description><![CDATA[一. Token介绍

 1、Token的引入：

 Token是在客户端频繁向服务端请求数据，服务端频繁的去数据库查询用户名和密码并进行对比，

 判断用户名和密码正确与否，并作出相应提示，在这样的背景下，Token便应运而生。

 2、Token的定义：

 Token是服务端生成的一串字符串，以作客户端进行请求的一个...]]></description><category></category></item><item><title><![CDATA[OOM]]></title><link>https://blog.youkuaiyun.com/aiklmj/article/details/102951025</link><guid>https://blog.youkuaiyun.com/aiklmj/article/details/102951025</guid><author>aiklmj</author><pubDate>Thu, 07 Nov 2019 11:56:22 +0800</pubDate><description><![CDATA[1.什么叫OOM,out of memory的简称，称之为内存溢出；

2.JVM内存模型

 按照JVM规范，JAVA虚拟机在运行时会管理以下的内存区域：

 程序计数器：当前线程执行的字节码的行号指示器，线程私有;
 JAVA虚拟机栈：Java方法执行的内存模型，每个Java方法的执行对应着一个栈帧的进栈和出栈的操作。
 本地方法栈：类似“ JAVA虚拟机栈 ”，但是为...]]></description><category></category></item></channel></rss>