<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[东子的博客      细节决定成败，点滴铸就辉煌。]]></title><description><![CDATA[重点关注Android、Java、IOT、JavaEE、分布式、微服务、Micronaut、SpringCloud等]]></description><link>https://blog.youkuaiyun.com/u010046908</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010046908]]></copyright><item><title><![CDATA[TDengine2.0快速入门]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/113108378</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/113108378</guid><author>u010046908</author><pubDate>Tue, 26 Jan 2021 14:38:42 +0800</pubDate><description><![CDATA[1、TDengine 官网
https://www.taosdata.com/cn/

2、TDengine 简介
TDengine是涛思数据面对高速增长的物联网大数据市场和技术挑战推出的创新性的大数据处理产品，它不依赖任何第三方软件，也不是优化或包装了一个开源的数据库或流式计算产品，而是在吸取众多传统关系型数据库、NoSQL数据库、流式计算引擎、消息队列等软件的优点之后自主开发的产品，在时序空间大数据处理上，有着自己独到的优势。
TDengine的模块之一是时序数据库。但除此之外，为减少研发的复杂度、系统]]></description><category></category></item><item><title><![CDATA[java八股文第四章：Java 虚拟机]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112777098</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112777098</guid><author>u010046908</author><pubDate>Tue, 19 Jan 2021 15:18:36 +0800</pubDate><description><![CDATA[1、Java 内存结构


堆内存
由线程共享，存放 new 出来的对象，是垃圾回收器的主要工作区域。
栈内存
线程私有，分为 Java 虚拟机栈和本地方法栈，存放局部变量表、操作栈、动态链接、方法出口等信息，方法的执行对应着入栈到出栈的过程。
方法区（元数据区）
线程共享，存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等信息，JDK 1.8 中方法区被元空间取代，使用直接内存。
程序计数器 每个线程都会有自己的一个程序计数器，专门记录当前这个线程目前执行到了哪一条字节码指令了

2、Java]]></description><category></category></item><item><title><![CDATA[java八股文第三章：Java 多线程]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112776733</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112776733</guid><author>u010046908</author><pubDate>Mon, 18 Jan 2021 13:41:15 +0800</pubDate><description><![CDATA[Java 多线程
1、synchronized

修饰代码块
底层实现，通过 monitorenter &amp; monitorexit 标志代码块为同步代码块。
修饰方法
底层实现，通过 ACC_SYNCHRONIZED 标志方法是同步方法。
修饰类 class 对象时，实际锁在类的实例上面。
单例模式

public class Singleton {

    private static volatile Singleton instance = null;

    private Single]]></description><category></category></item><item><title><![CDATA[java八股文第二章：Java 集合框架]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112776643</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112776643</guid><author>u010046908</author><pubDate>Mon, 18 Jan 2021 13:40:31 +0800</pubDate><description><![CDATA[Java 集合框架
1、List（线性结构）

ArrayList
Object[] 数组实现，默认大小为 10 ，支持随机访问，连续内存空间，插入末尾时间复杂度 o(1)，插入第 i 个位置时间复杂度 o(n - i)。扩容，大小变为 1.5 倍，Arrays.copyOf（底层 System.ArrayCopy），复制到新数组，指针指向新数组。
Vector
类似 ArrayList，线程安全，扩容默认增长为原来的 2 倍，还可以指定增长空间长度。
LinkedList
基于链表实现，1.7 为双向链表]]></description><category></category></item><item><title><![CDATA[java八股文第一章：Java 基础知识]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112774699</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112774699</guid><author>u010046908</author><pubDate>Mon, 18 Jan 2021 13:39:20 +0800</pubDate><description><![CDATA[Java 基础知识
1、Object 类相关方法

getClass
获取当前运行时对象的 Class 对象。
hashCode
返回对象的 hash 码。
clone
拷贝当前对象， 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝，对引用类型拷贝引用；深拷贝对基本类型进行值拷贝，对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建了一个新的对象。
equals
通过内存地址比较两个对象是否相等，String 类重写了这个方法使用值来比较是否相等。
toStri]]></description><category></category></item><item><title><![CDATA[MySQL触发器概念、原理与用法]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112661389</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112661389</guid><author>u010046908</author><pubDate>Fri, 15 Jan 2021 14:17:17 +0800</pubDate><description><![CDATA[1、触发器的是什么？
触发器（trigger）是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法，它是与表事件相关的特殊的存储过程，它的执行不是由程序调用，也不是手工启动，而是由事件来触发，比如当对一个表进行操作（insert，delete， update）时就会激活它执行。

来源于百度百科

简言之：你执行一条sql语句，这条sql语句的执行会自动去触发执行其他的sql语句。
2、触发器创建的四个要素
1.（监视地点（table）

监视事件（insert/update/delete）
触发]]></description><category></category></item><item><title><![CDATA[[CentOS_7.4]Linux编译安装ffmpeg4.3.1]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112521049</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112521049</guid><author>u010046908</author><pubDate>Tue, 12 Jan 2021 13:31:19 +0800</pubDate><description><![CDATA[[CentOS_7.4]Linux编译安装ffmpeg
安装过程： 下载安装源，配置，编译，安装，设置环境变量。
# wget http://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
# tar -zxvf ffmpeg-4.3.1.tar.gz
# cd ffmpeg-4.3.1
# ./configure --prefix=/usr/local/ffmpeg
# make &amp;&amp; make install

等待安装完成…
# vi /etc/]]></description><category></category></item><item><title><![CDATA[秒杀系统关注的问题]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/112364501</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/112364501</guid><author>u010046908</author><pubDate>Fri, 08 Jan 2021 15:20:55 +0800</pubDate><description><![CDATA[秒杀系统关注的问题


服务单一职责+独立部署（秒杀服务即使自己扛不住压力，挂掉了，不能影响其他系统）
秒杀链接加密
防止恶意攻击，模拟秒杀请求，1000次/s攻击，防止链接暴露，自己的工作人员，提前秒杀商品
库存预热+快速扣减（秒杀读多写少，无需每次实时请求校验库存，我们把库存预热，放到redis中，信号量控制进来秒杀的请求）
动静分离
nginx做好动静分离，保证秒杀和商品详情页的动态请求才能打到后端的集群服务，使用CDN网络，分担集群的压力
恶意请求拦截
网关层识别非法请求并进行拦截
流量错峰
使用.]]></description><category></category></item><item><title><![CDATA[centos7 创建普通用户]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/111365917</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/111365917</guid><author>u010046908</author><pubDate>Fri, 18 Dec 2020 14:59:33 +0800</pubDate><description><![CDATA[1.创建新用户
adduser centos

2.为新用户初始化密码
passwd centos

3.授权sudoers
whereis sudoers
ls -l /etc/sudoers
chmod -v u+w /etc/sudoers

4.修改&amp;编辑sudoers
vim /etc/sudoers
# 找到一下这个地方添加一条即可 centos centos  ALL=(ALL)       ALL
## Allow root to run any commands anywhere ]]></description><category></category></item><item><title><![CDATA[MySQL 4种事务隔离级别]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/110038918</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/110038918</guid><author>u010046908</author><pubDate>Tue, 24 Nov 2020 11:11:44 +0800</pubDate><description><![CDATA[1.事务是什么？
事务是应用程序中一系列严密的操作，所有操作必须成功完成，否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性，一个事务中的一系列的操作要么全部成功，要么一个都不做。
事务的结束有两种，当事务中的所以步骤全部成功执行时，事务提交。如果其中一个步骤失败，将发生回滚操作，撤消撤消之前到事务开始时的所以操作。
2.事务的特性
事务具有四个特性：原子性（ Atomicity ）、一致性（ Consistency ）、隔离性（ Isolation ）和持续性（ Durability ）。这四]]></description><category></category></item><item><title><![CDATA[canal +RocketMQ实现MySQL与ElasticSearch数据同步]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/108118921</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/108118921</guid><author>u010046908</author><pubDate>Thu, 20 Aug 2020 17:16:02 +0800</pubDate><description><![CDATA[1.引言
在很多业务情况下，我们都会在系统中引入ElasticSearch搜索引擎作为做全文检索的优化方案。
如果数据库数据发生更新，这时候就需要在业务代码中写一段同步更新ElasticSearch的代码。
这种数据同步的代码跟业务代码耦合性非常高，并且使得代码的可读性降低，于是乎，我们能不能把这些数据同步的代码抽出来形成一个独立的模块呢？肯定是可以的。
下面我会以一个CMS文章管理为例来演示canal+Rocketmq实现MySQL与ElasticSearch数据同步。
2.技术栈
如果你还对Spring]]></description><category></category></item><item><title><![CDATA[关于Linux中nohup.out日志过大问题解决方法]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/106572744</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/106572744</guid><author>u010046908</author><pubDate>Fri, 05 Jun 2020 16:12:47 +0800</pubDate><description><![CDATA[关于Linux中nohup.out日志过大问题解决方法
1 删除脚本编写脚本
vi ClearNohup.sh

使用vi编辑器添加如下的shell脚本
#!/bin/bash
this_path=$(cd `dirname $0`;pwd) #根据脚本所在路径
current_date=`date -d "-1 day" "+%Y%m%d"` #列出时间
cd $this_path
echo $this_path
echo $current_date

do_split() {
    [ ! -d lo]]></description><category></category></item><item><title><![CDATA[让您轻松入门分布式事务Seata和分库分表sharding-sphere的整合]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/106262197</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/106262197</guid><author>u010046908</author><pubDate>Fri, 22 May 2020 09:54:21 +0800</pubDate><description><![CDATA[1.介绍
本篇将介绍,如何进行seata1.2.0、sharding-sphere4.1.0和dubbo2.7.5 的整合,以及使用nacos作为我们的配置中心和注册中心。如果你还是一个初学者，先建议学习一下，陈建斌的七步带你集成Seata 1.2 高可用搭建，这篇文章清楚的阐述了初学者容易遇到的5个问题，并且都提供完整的解决思路。
2.环境配置


mysql: 5.7.12


nacos:  1.2.1


spring-boot:  2.2.6.RELEASE


seata: 1.2.0


du]]></description><category></category></item><item><title><![CDATA[让您轻松理解java线程池]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/106190919</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/106190919</guid><author>u010046908</author><pubDate>Mon, 18 May 2020 15:54:34 +0800</pubDate><description><![CDATA[1.线程
线程是调度cpu的最小单元，也叫轻量级的进程。
2.两种线程模型

用户级线程（ULT）：指不需要内核支持而在用户程序中实现的线程，它的内核的切换是由用户态程序自己控制内核的切换，不需要内核的干涉。但是它不能像内核级线程一样更好的运用多核CPU。
内核级线程（KLT）：切换由内核控制，当线程进行切换的时候，由用户态转化为内核态。切换完毕要从内核态返回用户态。可以很好的运用多核CPU，就像Windows电脑的四核八线程，双核四线程一样。

3.线程池

线程池管理器（ThreadPool）：用于创建]]></description><category></category></item><item><title><![CDATA[MongoDB查询操作限制返回字段的解决方案]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/105795443</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/105795443</guid><author>u010046908</author><pubDate>Mon, 27 Apr 2020 17:30:11 +0800</pubDate><description><![CDATA[映射(projection )声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段（例如： ｛field:1｝）或者指定要排除的字段（例如：｛field：0｝）。默认_id是包含在结果集合中的，要从结果集中排除_id字段，需要在 projection中指定排除_id字段（｛_id:0｝）。除了_id字段，不能在一个proje...]]></description><category></category></item><item><title><![CDATA[一份最全面的docker命令汇总]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/104986124</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/104986124</guid><author>u010046908</author><pubDate>Fri, 20 Mar 2020 12:19:47 +0800</pubDate><description><![CDATA[1.docker images: 查看镜像
查看镜像，后可跟 “| grep 内容”，可根据内容进行筛选。
如：docker images | grep nginx
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:

-a: 列出本地所有的镜像
–digests: 显示镜像的摘要信息
-f: 显示满足条件的镜像
–format: 指定返回值...]]></description><category></category></item><item><title><![CDATA[让您轻松理解分布式事务解决方案之TCC]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/103984002</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/103984002</guid><author>u010046908</author><pubDate>Wed, 15 Jan 2020 10:22:22 +0800</pubDate><description><![CDATA[1.什么是TCC
TCC是Try、Confirm、Cancel三个词语的缩写，TCC要求每个分支事务实现三个操作 ：预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留，Confirm做业务确认操作，Cancel实现一个与Try相反的操作既回滚操作。TM首先发起所有的分支事务的try操作，任何一个分支事务的try操作执行失败，TM将会发起所有分支事务的Cancel操作...]]></description><category></category></item><item><title><![CDATA[让您轻松理解分布式事务解决方案之2PC]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/103975949</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/103975949</guid><author>u010046908</author><pubDate>Tue, 14 Jan 2020 17:39:25 +0800</pubDate><description><![CDATA[针对不同的分布式场景业界常见的解决方案有2PC、TCC、可靠消息最终一致性、最大努力通知等。
1. 什么是2PC
2PC即两阶段提交协议，是将整个事务流程分为两个阶段，准备阶段（Prepare phase）、提交阶段（commit phase），2是指两阶段，P是指准备阶段，C是提交阶段。
举例 ：张三和李四好久不见，两人一起约看电影，电影院收银员要求先买单，才能出电影票。这时张三和李四分别抱怨近...]]></description><category></category></item><item><title><![CDATA[让您轻松理解分布式事务产生的场景]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/103973694</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/103973694</guid><author>u010046908</author><pubDate>Tue, 14 Jan 2020 15:34:37 +0800</pubDate><description><![CDATA[1.典型场景就是微服务架构
微服务之间通过远程调用来实现事务控制。
比如：订单微服务和库存微服务，下单的同时订单微服务请求库存服务减少库存。
简言之：跨JVM进程产生的分布式事务。

2.单体系统访问多个数据库实例
当单体系统访问多个数据库实例时就产生分布式事务。
比如：用户信息和订单信息分别在两个不同的(MySQL)关系数据库实例。用户管理系统删除用户信息，需要分别删除用户信息和用户的订单信息。...]]></description><category></category></item><item><title><![CDATA[分布式理论基础之CAP理论&BASE理论]]></title><link>https://blog.youkuaiyun.com/u010046908/article/details/103959877</link><guid>https://blog.youkuaiyun.com/u010046908/article/details/103959877</guid><author>u010046908</author><pubDate>Mon, 13 Jan 2020 16:28:21 +0800</pubDate><description><![CDATA[1.CAP理论的含义
CAP理论表示在分布式系统中一致性(C)、可用性(A)和分区容错性(P)最多只能同时满足两个。

一致性:客户端更新数据成功后,在任意时刻,在系统任意对外提供服务的节点,读取到的数据都是最新写入的数据。(强一致性)。
可用性:当系统出现异常时，仍能对外提供服务。
分区容错:当出现网络分区时，系统的容错能力(机器之间出现网络故障,不能正常通信)。\


证明CAP理论:有两台机...]]></description><category></category></item></channel></rss>