<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gzheclipse的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gzheclipse</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gzheclipse]]></copyright><item><title><![CDATA[Java并发基础]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/127401432</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/127401432</guid><author>gzheclipse</author><pubDate>Wed, 19 Oct 2022 09:47:45 +0800</pubDate><description><![CDATA[Java并发编程系列-基础篇]]></description><category></category></item><item><title><![CDATA[面试造航母系列之面对千万级、亿级流量怎么处理？]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/117080994</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/117080994</guid><author>gzheclipse</author><pubDate>Thu, 20 May 2021 17:01:11 +0800</pubDate><description><![CDATA[这是一道很常见的面试题，但是大多数人并不知道怎么回答，这种问题其实可以有很多形式的提问方式：

面对业务急剧增长怎么处理？
	业务量增长10倍、100倍怎么处理？
	系统怎么支撑高并发的？
	怎么设计一个高并发系统？
	高并发系统都有什么特点？
... ...

诸如此类，问法很多，但是面试这种类型的问题，看着无处下手，但是可以有一个常规的思路去回答，就是围绕支撑高并发的业务场景怎么设计系统才合理？如果能想到这一点，那接下来就可以围绕硬件和软件层面怎么支撑高并发这个话题去阐述了。本质上，这个问题就是综合考验]]></description><category></category></item><item><title><![CDATA[浅析更新SQL执行过程]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/116781159</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/116781159</guid><author>gzheclipse</author><pubDate>Fri, 14 May 2021 15:07:50 +0800</pubDate><description><![CDATA[前面系统了解了一个查询语句的执行流程，并介绍了执行过程中涉及的处理模块。一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块，最后到达存储引擎。那么，一条更新语句的执行流程又是怎样的呢？之前可能经常听DBA同事说，MySQL可以恢复到半个月内任意一秒的状态，惊叹的同时，是不是心中也会不免会好奇，这是怎样做到的呢？还是从一个表的一条更新语句说起，下面是这个表的创建语句，这个表有一个主键ID和一个整型字段c：


mysql&gt; create table T(ID int primary]]></description><category></category></item><item><title><![CDATA[浅析查询SQL执行过程]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/116756489</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/116756489</guid><author>gzheclipse</author><pubDate>Thu, 13 May 2021 17:00:19 +0800</pubDate><description><![CDATA[下面给出的是MySQL的基本架构示意图，从中可以清楚地看到SQL语句在MySQL的各个功能模块中的执行过程。



                                                  MySQL的逻辑架构图

大体来说，MySQL可以分为Server层和存储引擎层两部分。 Server层包括连接器、查询缓存、分析器、优化器、执行器等，涵盖MySQL的大多数核心服务功能，以及所...]]></description><category></category></item><item><title><![CDATA[JVM]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/109073505</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/109073505</guid><author>gzheclipse</author><pubDate>Fri, 16 Oct 2020 14:13:23 +0800</pubDate><description><![CDATA[(1) 基本概念： 



JVM 是可运行 Java 代码的假想计算机 ，包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收，堆 和 一个存储方法域。JVM 是运行在操作系统之上的，它与硬件没有直接的交互。 







(2) 运行过程：




我们都知道 Java 源文件，通过编译器，能够生产相应的.Class 文件，也就是字节码文件， 而字节码文件又通过 Java 虚拟机中的解释器，编译成特定机器上的机器码 。 也就是如下： 



① Java 源文件—-&gt;编译器—-&g...]]></description><category></category></item><item><title><![CDATA[Spring Boot基础配置]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/108005446</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/108005446</guid><author>gzheclipse</author><pubDate>Fri, 14 Aug 2020 16:26:49 +0800</pubDate><description><![CDATA[定制Banner

Spring Boot项目在启动的时候会有一个默认的启动图案：




我们可以把这个图案修改为自己想要的。在src/main/resources目录下新建banner.txt文件，然后将自己的图案黏贴进去即可。ASCII图案可通过网站http://www.network-science.de/ascii/一键生成，比如输入alibaba生成图案后复制到banner.txt，启动项目，控制台输出如下：




banner也可以关闭，在main方法中：


public static v]]></description><category></category></item><item><title><![CDATA[开启Spring Boot]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/107982268</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/107982268</guid><author>gzheclipse</author><pubDate>Thu, 13 Aug 2020 16:52:53 +0800</pubDate><description><![CDATA[Spring Boot是在Spring框架上创建的一个全新的框架，其设计目的是简化Spring应用的搭建和开发过程。开启Spring Boot有许多种方法可供选择，这里仅介绍使用http://start.spring.io/来构建一个简单的Spring Boot项目。

生成项目文件

访问http://start.spring.io/，页面显示如下：



这里选择以Maven构建，语言选择Java，Spring Boot版本为2.3.2。



在项目信息里选择以jar包的方式部署，Java版本为8。.]]></description><category></category></item><item><title><![CDATA[NoSQL简介]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/106235218</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/106235218</guid><author>gzheclipse</author><pubDate>Wed, 20 May 2020 16:40:20 +0800</pubDate><description><![CDATA[NoSQL(NoSQL = Not Only SQL )，意即"不仅仅是SQL"。

在现代的计算系统上每天网络上都会产生庞大的数据量。

这些数据有很大一部分是由关系数据库管理系统（RDBMS）来处理。 1970年 E.F.Codd's提出的关系模型的论文 "A relational model of data for large shared data banks"，这使得数据建模和应用程序编程更加简单。

通过应用实践证明，关系模型是非常适合于客户服务器编程，远远超出预期的利益，今天它是结构化数据存储]]></description><category></category></item><item><title><![CDATA[从千万级数据查询浅谈MySQL索引结构和原理]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/106199812</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/106199812</guid><author>gzheclipse</author><pubDate>Tue, 19 May 2020 14:00:11 +0800</pubDate><description><![CDATA[慢SQL问题相信大部分开发都遇到过，对于这样的问题通常第一反应就是看看sql是否合理，比如：

避免使用IN和NOT IN，否则可能会导致全表扫描
	避免在where子句中对字段进行函数操作
	避免在where子句中对字段进行左模糊查询
	避免在where子句中对字段进行OR连接
	避免SELECT *
	...
除此之外，还有一种常见的反应就是这个表有没有加索引？绝大部分情况下，加了个索引基本上就搞定了。

首先就来构造一个千万级的表直观感受下。创建一张user表，然后新增1000万条数据，查询一下：

]]></description><category></category></item><item><title><![CDATA[Spring Cloud全家桶]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105976182</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105976182</guid><author>gzheclipse</author><pubDate>Thu, 07 May 2020 18:10:16 +0800</pubDate><description><![CDATA[一、业务场景介绍

先说一个业务场景，假设现在开发一个电商网站，要实现支付订单的功能，流程如下：

创建一个订单后，如果用户支付了这个订单，需要将订单状态更新为“已支付”
	扣减相应的商品库存
	通知仓储中心，进行发货
	给用户的这次购物增加相应的积分
针对上述流程，需要有订单服务、库存服务、仓储服务、积分服务。整个流程的大体思路如下：

用户针对一个订单完成支付之后，就会去找订单服务，更新订单状...]]></description><category></category></item><item><title><![CDATA[ArrayList之trimToSize方法]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105956271</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105956271</guid><author>gzheclipse</author><pubDate>Thu, 07 May 2020 11:07:03 +0800</pubDate><description><![CDATA[看过ArrayList源码的朋友有没有看到里面有个不常用的方法：



这方法是干嘛的呢？说白了就是瘦身用的。


]]></description><category></category></item><item><title><![CDATA[JDK漏洞之6260652]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105954285</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105954285</guid><author>gzheclipse</author><pubDate>Wed, 06 May 2020 17:05:32 +0800</pubDate><description><![CDATA[看过JDK源码的童鞋可能会发现ArrayList和CopyOnWriteArrayList类中有如下源码注释：



.

这个see 6260652是个什么玩意呢？它其实是JDK的bug文档编号。

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6260652

这是个什么bug呢？

假如有一个Object[]数组，并不代表可以将Ob...]]></description><category></category></item><item><title><![CDATA[Windows系统下搭建ELK(7.6.2)]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105863417</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105863417</guid><author>gzheclipse</author><pubDate>Thu, 30 Apr 2020 16:58:43 +0800</pubDate><description><![CDATA[◆ 安装ElasticSearch:

https://blog.youkuaiyun.com/gzheclipse/article/details/105775503

https://blog.youkuaiyun.com/gzheclipse/article/details/105775915

https://blog.youkuaiyun.com/gzheclipse/article/details/105798573

...]]></description><category></category></item><item><title><![CDATA[Windows系统下安装filebeat]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105864407</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105864407</guid><author>gzheclipse</author><pubDate>Thu, 30 Apr 2020 16:42:43 +0800</pubDate><description><![CDATA[在官网下载filebeat安装包：





解压：



解压后新建图上圈红文件，写入以下内容：


.\filebeat -e -c filebeat.yml

修改filebeat.yml文件，保留如下配置：


filebeat.inputs:
- type: log
  enabled: true
  paths:
    - E:\blog\*  #这里设置的是你需要操作的文件

fi...]]></description><category></category></item><item><title><![CDATA[Windows系统下安装Kibana]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105864217</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105864217</guid><author>gzheclipse</author><pubDate>Thu, 30 Apr 2020 16:20:45 +0800</pubDate><description><![CDATA[访问kibana官网下载安装包：





解压：



修改config目录下的kibana.yml文件，追加如下配置：


server.port: 5601
server.host: "127.0.0.1"
server.name: "kibana"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
xpack.reporting.encrypti...]]></description><category></category></item><item><title><![CDATA[Windows系统下安装Logstash]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105863994</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105863994</guid><author>gzheclipse</author><pubDate>Thu, 30 Apr 2020 16:12:02 +0800</pubDate><description><![CDATA[访问logstash官网下载安装包





下载完成后解压：



复制config目录下的logstash-sample.conf文件，粘贴在其同级目录并命名为logstash.conf


# Sample Logstash configuration for creating a simple
# Beats -&gt; Logstash -&gt; Elasticsearch p...]]></description><category></category></item><item><title><![CDATA[ElasticSearch之分布式安装]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105798573</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105798573</guid><author>gzheclipse</author><pubDate>Mon, 27 Apr 2020 21:32:54 +0800</pubDate><description><![CDATA[前面介绍了ElasticSearch的单实例安装和head插件安装，下面来介绍一下ElasticSearch的分布式（一主两从）安装。

修改elasticsearch.yml，追加如下配置：



解释一下：

★ cluster.name: boss -- 集群的名称

★ node.name: master -- 当前节点名称

★ node.master: true -- 设置当前节点为主...]]></description><category></category></item><item><title><![CDATA[ElasticSearch之head插件安装]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105775915</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105775915</guid><author>gzheclipse</author><pubDate>Sun, 26 Apr 2020 20:47:59 +0800</pubDate><description><![CDATA[ElasticSearch在没有安装head插件之前，其界面如下：



这样的界面其实不是太友好，下面就来安装一下head插件，使其拥有可视化的界面，同时还可以实现基本信息的查看，rest请求的模拟以及数据的基本检索。

访问elasticsearch-head的github仓库并下载，链接如下：

https://github.com/mobz/elasticsearch-head

下载完成...]]></description><category></category></item><item><title><![CDATA[ElasticSearch之单实例安装]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105775503</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105775503</guid><author>gzheclipse</author><pubDate>Sun, 26 Apr 2020 19:56:04 +0800</pubDate><description><![CDATA[在elastic官网中下载对应的安装包

https://www.elastic.co/cn/downloads



我演示的环境是Windows，所以下载的是zip压缩包，使用mac的同学请下载tar.gz的安装包



下载完成后解压，这没什么好说的，使用mac的同学使用（tar -zxvf 文件名）解压即可

解压完成后的目录列表：



稍微解释一下各目录作用：

★ bin目录存放的是...]]></description><category></category></item><item><title><![CDATA[ElasticSearch入门篇]]></title><link>https://blog.youkuaiyun.com/gzheclipse/article/details/105774936</link><guid>https://blog.youkuaiyun.com/gzheclipse/article/details/105774936</guid><author>gzheclipse</author><pubDate>Sun, 26 Apr 2020 19:11:16 +0800</pubDate><description><![CDATA[什么是ElasticSearch

● 基于Apache Lucene构建的开源搜索引擎

● 采用JAVA编写，提供简单易用的Restful Api

● 轻松的横向扩展，可支持PB级的结构化或非结构化数据处理

ElasticSearch的由来：

许多年前，一个刚结婚的名叫 Shay Banon 的失业开发者，跟着他的妻子去了伦敦，他的妻子在那里学习厨师。 在寻找一个赚钱的工作的时候，为了给...]]></description><category></category></item></channel></rss>