<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[逍遥飞鹤的专栏]]></title><description><![CDATA[Java，Android技术类分享]]></description><link>https://blog.csdn.net/he90227</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; he90227]]></copyright><item><title><![CDATA[什么是ClickHouse的表引擎?]]></title><link>https://blog.csdn.net/he90227/article/details/108846665</link><guid>https://blog.csdn.net/he90227/article/details/108846665</guid><author>he90227</author><pubDate>Mon, 28 Sep 2020 11:28:40 +0800</pubDate><description><![CDATA[什么是ClickHouse的表引擎?

转自：https://jiamaoxiang.top/2020/09/14/%E7%AF%87%E4%BA%8C-%E4%BB%80%E4%B9%88%E6%98%AFClickHouse%E7%9A%84%E8%A1%A8%E5%BC%95%E6%93%8E/

Sep 14, 2020|ClickHouse|14阅读|11.5k字|48分钟

在上一篇分享中，我们介绍了ClickHouse的安装部署和简单使用。本文将介绍ClickHous...]]></description><category></category></item><item><title><![CDATA[架构师需要掌握的技术]]></title><link>https://blog.csdn.net/he90227/article/details/89380381</link><guid>https://blog.csdn.net/he90227/article/details/89380381</guid><author>he90227</author><pubDate>Thu, 18 Apr 2019 15:42:57 +0800</pubDate><description><![CDATA[架构级别的程序员经验更加丰富，对框架和工具更加熟悉，逻辑性、分析能力更高，自学能力更强，可以在短时间内学会另外一种语言。他们的代码已经不仅仅是“性能”了，往往还会追求更合理的架构，而且在接口设计上还会预测需求的变更，代码的可扩展性好、稳定性高、可读性高。
架构应该掌握哪些技术呢
一、开源框架解析
程序员每天都和代码打交道。经过数年的基础教育和职业培训，大部分程序员都会「写」代码，或者至少会抄代码和...]]></description><category></category></item><item><title><![CDATA[Spring Cloud 原理图]]></title><link>https://blog.csdn.net/he90227/article/details/88581298</link><guid>https://blog.csdn.net/he90227/article/details/88581298</guid><author>he90227</author><pubDate>Fri, 15 Mar 2019 18:59:58 +0800</pubDate><description><![CDATA[转自：https://m.imooc.com/article/23679





服务注册发现组件Eureka工作原理



服务网关组件Zuul工作原理



跨域时序图



Eureka与Ribbon整合工作原理



解决分布式一致性



级联故障流程



断路器组件Hystrix工作原理



分布式追踪Sleuth工作原理



SpringBoot自动配置工作原理


...]]></description><category></category></item><item><title><![CDATA[深入分析MyBatis]]></title><link>https://blog.csdn.net/he90227/article/details/88424869</link><guid>https://blog.csdn.net/he90227/article/details/88424869</guid><author>he90227</author><pubDate>Tue, 12 Mar 2019 17:23:03 +0800</pubDate><description><![CDATA[参考转自：

 https://www.cnblogs.com/dongying/tag/Mybatis%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E7%B3%BB%E5%88%97/

1.insert、update、delete操作

mapper映射文件的配置， 这是mybatis的核心之一，一定要学好。在mapper文件中，以mapper作为根节点，其下...]]></description><category></category></item><item><title><![CDATA[如何使用thread dump？你将如何分析Thread dump？]]></title><link>https://blog.csdn.net/he90227/article/details/85788895</link><guid>https://blog.csdn.net/he90227/article/details/85788895</guid><author>he90227</author><pubDate>Fri, 04 Jan 2019 17:55:42 +0800</pubDate><description><![CDATA[

 

 

 


	新建状态（New） 

	用new语句创建的线程处于新建状态，此时它和其他Java对象一样，仅仅在堆区中被分配了内存。
	
	
	就绪状态（Runnable） 

	当一个线程对象创建后，其他线程调用它的start()方法，该线程就进入就绪状态，Java虚拟机会为它创建方法调用栈和程序计数器。处于这个状态的线程位于可运行池中，等待获得CPU的使用权。
	
	
	运行状态（...]]></description><category></category></item><item><title><![CDATA[SpringBoot与异步任务、定时任务、邮件任务]]></title><link>https://blog.csdn.net/he90227/article/details/85112288</link><guid>https://blog.csdn.net/he90227/article/details/85112288</guid><author>he90227</author><pubDate>Thu, 20 Dec 2018 09:56:46 +0800</pubDate><description><![CDATA[异步任务

在需要开启异步的服务加上注解：@Async

@Service
public class AsyncService {

    //告诉SpringBoot这是一个异步任务，SpringBoot会自动开启一个线程去执行
    @Async
    public void testAsyncService(){
        try {
            Thread.sle...]]></description><category></category></item><item><title><![CDATA[AQS与JUC中的锁实现原理]]></title><link>https://blog.csdn.net/he90227/article/details/82258930</link><guid>https://blog.csdn.net/he90227/article/details/82258930</guid><author>he90227</author><pubDate>Fri, 31 Aug 2018 16:54:43 +0800</pubDate><description><![CDATA[摘要

提到JAVA加锁，我们通常会想到synchronized关键字或者是Java Concurrent Util（后面简称JCU）包下面的Lock，今天就来扒一扒Lock是如何实现的，比如我们可以先提出一些问题：当我们通实例化一个ReentrantLock并且调用它的lock或unlock的时候，这其中发生了什么？如果多个线程同时对同一个锁实例进行lock或unlcok操作，这其中又发生了什么...]]></description><category></category></item><item><title><![CDATA[JDK1.8源码分析之AbstractQueuedSynchronizer]]></title><link>https://blog.csdn.net/he90227/article/details/82255937</link><guid>https://blog.csdn.net/he90227/article/details/82255937</guid><author>he90227</author><pubDate>Fri, 31 Aug 2018 14:34:19 +0800</pubDate><description><![CDATA[一、前言

　　在锁框架中，AbstractQueuedSynchronizer抽象类可以毫不夸张的说，占据着核心地位，它提供了一个基于FIFO队列，可以用于构建锁或者其他相关同步装置的基础框架。所以很有必要好好分析。

二、AbstractQueuedSynchronizer数据结构

　　分析类，首先就要分析底层采用了何种数据结构，抓住核心点进行分析，经过分析可知，AbstractQueued...]]></description><category></category></item><item><title><![CDATA[基于Docker实现MySQL的主从复制和SpringBoot2+MyBatis的动态切换数据源的读写分离]]></title><link>https://blog.csdn.net/he90227/article/details/80526250</link><guid>https://blog.csdn.net/he90227/article/details/80526250</guid><author>he90227</author><pubDate>Thu, 31 May 2018 16:40:32 +0800</pubDate><description><![CDATA[1)从Docker官方下拉MySQL的image docker search mysql

docker pull mysql   2)设置目录   ---  将MySQL数据保存到当前主机上建立MySQL数据存储目录
mkdir -pv /Users/pintec/jay/db_test

 建立主服务器的配置目录
 mkdir -pv /Users/pintec/jay/db_test/mys...]]></description><category></category></item><item><title><![CDATA[LinkedBlockingQueue原理分析---基于JDK8]]></title><link>https://blog.csdn.net/he90227/article/details/79173404</link><guid>https://blog.csdn.net/he90227/article/details/79173404</guid><author>he90227</author><pubDate>Fri, 26 Jan 2018 16:06:02 +0800</pubDate><description><![CDATA[1.常用的阻塞队列 

1)ArrayBlockingQueue:规定大小的BlockingQueue,其构造函数必须带一个int参数来指明其大小.其所含的对象是以FIFO(先入先出)顺序排序的.


2)LinkedBlockingQueue:大小不定的BlockingQueue,若其构造函数带一个规定大小的参数,生成的BlockingQueue有大小限制,若不带大小参数,所生成的Bl]]></description><category></category></item><item><title><![CDATA[MongoDB数据导入与导出]]></title><link>https://blog.csdn.net/he90227/article/details/78947369</link><guid>https://blog.csdn.net/he90227/article/details/78947369</guid><author>he90227</author><pubDate>Mon, 01 Jan 2018 20:59:34 +0800</pubDate><description><![CDATA[-------------------MongoDB数据导入与导出-------------------
1、导出工具：mongoexport
    1、概念：
        mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项，也可以根据指定的条件导出数据。
    2、语法：
        ]]></description><category></category></item><item><title><![CDATA[深入理解Redis的持久化机制和原理]]></title><link>https://blog.csdn.net/he90227/article/details/78621723</link><guid>https://blog.csdn.net/he90227/article/details/78621723</guid><author>he90227</author><pubDate>Fri, 24 Nov 2017 10:13:30 +0800</pubDate><description><![CDATA[Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统，具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚，但发展却十分迅速。 

近日，Redis的作者在博客中写到，他看到的所有针对Redis的讨论中，对Redis持久化的误解是最大的，于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章主要包含三个方面：Redis持久化是如何工作的、这一性能是]]></description><category></category></item><item><title><![CDATA[数据库持久化中的读写性能原理分析---基于存储引擎和索引原理]]></title><link>https://blog.csdn.net/he90227/article/details/78611514</link><guid>https://blog.csdn.net/he90227/article/details/78611514</guid><author>he90227</author><pubDate>Thu, 23 Nov 2017 10:35:22 +0800</pubDate><description><![CDATA[1.存储引擎的类型





类型

功能

应用





hash

增删改、随机读、顺序扫描

Key-Value存储系统  redis、memcached



B-Tree

增删改、随机读、顺序扫描

关系型数据库，MongoDB采用了B-Tree+lock-free,



LSM

增删改、随机读、顺序扫描]]></description><category></category></item><item><title><![CDATA[分布式网站架构学习资源]]></title><link>https://blog.csdn.net/he90227/article/details/78595343</link><guid>https://blog.csdn.net/he90227/article/details/78595343</guid><author>he90227</author><pubDate>Tue, 21 Nov 2017 18:06:59 +0800</pubDate><description><![CDATA[1.大型分布式网站架构设计与实践


2.Java程序性能调优]]></description><category></category></item><item><title><![CDATA[我必须得告诉大家的MySQL优化原理]]></title><link>https://blog.csdn.net/he90227/article/details/78130759</link><guid>https://blog.csdn.net/he90227/article/details/78130759</guid><author>he90227</author><pubDate>Fri, 29 Sep 2017 09:48:34 +0800</pubDate><description><![CDATA[转自：http://www.jianshu.com/p/d7665192aaaf





说起MySQL的查询优化，相信大家收藏了一堆奇技淫巧：不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧？是否理解其背后的工作原理？在实际场景下性能真有提升吗？我想未必。因而理解这些优化建议背后的原理就尤为重要，希望本文能让]]></description><category></category></item><item><title><![CDATA[Java中集合与数组互转总结]]></title><link>https://blog.csdn.net/he90227/article/details/78115685</link><guid>https://blog.csdn.net/he90227/article/details/78115685</guid><author>he90227</author><pubDate>Wed, 27 Sep 2017 18:07:24 +0800</pubDate><description><![CDATA[1.集合之间，以及集合与数组互转
1.List转换为Array

List list = new ArrayList();
list.add(“1”);
list.add(“2”);
list.add(“3”);
list.add(“4”);
String [] countries = list.toArray(new String[list.size()]);
2.Array转换为List
S]]></description><category></category></item><item><title><![CDATA[解决Spring中ResponseBody返回中文乱码问题]]></title><link>https://blog.csdn.net/he90227/article/details/78085485</link><guid>https://blog.csdn.net/he90227/article/details/78085485</guid><author>he90227</author><pubDate>Mon, 25 Sep 2017 15:14:07 +0800</pubDate><description><![CDATA[使用HttpMessageConverter接口的相关实现类。我们先看配置文件中的配置信息。





    
        
            
                
                
                    
                        
                            text/pla]]></description><category></category></item><item><title><![CDATA[写代码怎能不会这些 Linux 命令？]]></title><link>https://blog.csdn.net/he90227/article/details/77990420</link><guid>https://blog.csdn.net/he90227/article/details/77990420</guid><author>he90227</author><pubDate>Fri, 15 Sep 2017 12:54:19 +0800</pubDate><description><![CDATA[转自：
https://juejin.im/entry/599b9e07f265da246d6af09f?utm_source=gold_browser_extension



这篇文章翻译自www.thegeekstuff.com/2010/11/50-…这些都是一些很常用的命令，这篇文章中每个命令都有一些简单的示例说明它的用法，对于想学习Unix/Linux的人，这些命令基本上都是]]></description><category></category></item><item><title><![CDATA[架构设计的立方体扩展]]></title><link>https://blog.csdn.net/he90227/article/details/77976897</link><guid>https://blog.csdn.net/he90227/article/details/77976897</guid><author>he90227</author><pubDate>Thu, 14 Sep 2017 10:21:39 +0800</pubDate><description><![CDATA[转自：http://blog.csdn.net/houjixin/article/details/53675741


本文是对《架构即未来》一书第20章的总结； 
1. 立方体扩展是指X、Y、Z轴三个方向的扩展方式； 
2. X轴扩展，指水平扩展，这种方式简单易于实现，它要求服务必须是无状态的，部署1个和部署多个是一样的，这样可以根据系统当前的业务承载量来部署所需数量的服务实例，一般情]]></description><category></category></item><item><title><![CDATA[提高系统性能的2个常用手段---缓存和异步]]></title><link>https://blog.csdn.net/he90227/article/details/77976022</link><guid>https://blog.csdn.net/he90227/article/details/77976022</guid><author>he90227</author><pubDate>Thu, 14 Sep 2017 09:48:34 +0800</pubDate><description><![CDATA[缓存


缓存 
1.1 缓存刷新机制，缓存刷新是指什么时候把数据库中的数据加载到缓存 
（1） 定期刷新； 
（2） 缓存命中失败时刷新； 
1.2 在有缓存时的数据写入方式： 
（1） 同步写入，即缓存和数据库同时被写入，即在应用层进行双写操作，这种方式可以有效保证缓存和DB中数据的一致性，由于这种方式即要更新缓存同时还要更改数据库，其访问效率相对较低，适合读多写少的场景；]]></description><category></category></item></channel></rss>