<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CCCdingding的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CCCdingding</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CCCdingding]]></copyright><item><title><![CDATA[MySql事务隔离级别和Spring传播机制]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/111603375</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/111603375</guid><author>CCCdingding</author><pubDate>Wed, 24 Mar 2021 18:23:51 +0800</pubDate><description><![CDATA[目录

一、事务隔离级别

1.1、事务的四要素

1.2、并发所带来的问题

1.3、事务隔离级别类型

一、事务隔离级别

1.1、事务的四要素

原子性：事务的所有操作都是原子性，即要不当前操作全部做完。如果中间操作失败，则回到最初的状态。即要不全做完，要不全不做。

一致性：事务开始前和事务开始后，数据库的完整性约束没有被破坏。

隔离性：同一时间，只允许一个事务操作同一个数据源。

持久性：事务完成后，对数据库的所有操作都会持久化到数据库中，不能回滚。

1.2、并发所带来的问题

脏读：事务A读]]></description><category></category></item><item><title><![CDATA[两阶段提交、三阶段提交和TCC]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/111563509</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/111563509</guid><author>CCCdingding</author><pubDate>Wed, 24 Mar 2021 18:07:28 +0800</pubDate><description><![CDATA[目录



一、2PC

1.1、提交事务请求（投票阶段）

1.2、执行事务提交

一、2PC

1.1、提交事务请求（投票阶段）

事务询问-&gt;执行事务-&gt;反馈事务询问

事务询问：由协调者向所有参与者发送事务内容，询问是否可以执行事务提交操作

执行事务：由参与者执行事务操作，并将Undo（拒绝）和Redo（准备好，将要操作）信息记入事务日志中

反馈事务询问：由参与者给协调者反馈给协调者事务的执行结果，如果执行成功反馈YES，否者反馈NO

1.2、执行事务提交

该阶段拥有两种操作：.]]></description><category></category></item><item><title><![CDATA[统一认证中心-auth2.0]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/109306663</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/109306663</guid><author>CCCdingding</author><pubDate>Tue, 27 Oct 2020 14:50:27 +0800</pubDate><description><![CDATA[背景

随着微服务架构的兴起，模块之间细分力度更小。许多公司将单点登录会做成一个统一的微服务平台。但是一旦抽象出一个单独的微服务平台之后，就会涉及到如下问题：（1）接入方在不同的域名，会涉及到跨域问题；（2）安全问题，整个登录接口全部暴露给所有的接入方，存在一定的数据泄露等问题。本片文章主要是介绍当前较通用的一种单点登录认证协议Auth2.0。

SSO单点登录介绍：

单点登录（SSO）：传统的多点登录方式对于站点都会开发一套登录系统和用户数据维护系统，同时不同的站点整个用户的数据维护在其自己数据库中，无]]></description><category></category></item><item><title><![CDATA[对称加密、非对称加密和Hash算法]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/108615022</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/108615022</guid><author>CCCdingding</author><pubDate>Wed, 16 Sep 2020 09:45:24 +0800</pubDate><description><![CDATA[一、对称加密

对称采用对称编码技术，其加密和解密都是用同一套密钥。

优缺点：

（1）加解密双方使用同一套密钥，其中任何一方泄露密钥，会导致整个加密过程的泄露。

（2）对于每一个需要加密处都需要共同商量一套密钥，不便于密钥的管理。

（3）无法鉴别发送者和接受者的身份。

常见加密算法：AES、DES等

二、非对称加密

非对称采用非对称编码技术，其加密和解密使用的是不同的公私钥。如果公钥对数据进行加密，只有对应的私钥可以解密；如果使用私钥进行加密，则对应的公钥可进行解密。

优缺点：

（1）加解]]></description><category></category></item><item><title><![CDATA[Java 四种引用类型]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/91993191</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/91993191</guid><author>CCCdingding</author><pubDate>Fri, 14 Jun 2019 18:04:19 +0800</pubDate><description><![CDATA[目录



一、强引用

二、软引用

三、弱引用

四、虚引用

一、强引用

在Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引

用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使

该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因

之一。

例如：A a=new A()...]]></description><category></category></item><item><title><![CDATA[hystrix源码学习]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/91880108</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/91880108</guid><author>CCCdingding</author><pubDate>Thu, 13 Jun 2019 17:53:32 +0800</pubDate><description><![CDATA[目录



一、初始化参数

1.1、HystrixCommandGroupKey.Factory.asKey("ServiceGroup")：

2.2、HystrixCommandKey.Factory.asKey("servcie1query")

2.3、HystrixThreadPoolKey.Factory.asKey("service1ThreadPool")

2.4、Hystr...]]></description><category></category></item><item><title><![CDATA[hystrix熔断]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/91879932</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/91879932</guid><author>CCCdingding</author><pubDate>Thu, 13 Jun 2019 17:51:16 +0800</pubDate><description><![CDATA[目录



一、基本知识

二、工作过程

一、基本知识

背景：分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务

雪崩效应。 为了应对服务雪崩, 一种常见的做法是手动服务降级，而Hystrix的出现,给我们提供了另一

种选择。

出现雪崩原因：服务调用者不可用、重试增加流量、服务提供者不可用

服务不可用场景：硬件故障、程序Bug、缓存击穿、用户大量请...]]></description><category></category></item><item><title><![CDATA[Hystrix服务隔离]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/91879522</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/91879522</guid><author>CCCdingding</author><pubDate>Thu, 13 Jun 2019 17:48:50 +0800</pubDate><description><![CDATA[目录



一、用途

二、实现策略

2.1、线程隔离

2.2、单个依赖超时控制

2.3、熔断器控制

三、code 示例

一、用途

Hystrix（https://github.com/Netflix/Hystrix）是Netflix（https://www.netflix.com/global）的一个开源

项目，主要作用是通过控制那些访问远程系统、服务和第三方库的节点，从而对延迟...]]></description><category></category></item><item><title><![CDATA[Hystrix+AOP的完美结合]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/91878824</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/91878824</guid><author>CCCdingding</author><pubDate>Thu, 13 Jun 2019 17:42:57 +0800</pubDate><description><![CDATA[目录



一、AOP简介

1.1、定义

1.2、AOP五种通知类型

二、Hystrix和AOP的结合

（1）Hystrix监控

（2）Around切面点逻辑处理

（3）Around切面点需要关注的方法拦截

（4）切面点配置

一、AOP简介

1.1、定义

wiki：面向切面的编程

个人理解：利用切面思想，将与程序无关的业务和当前程序解耦开，并进行监控或者后续处理等功能。

...]]></description><category></category></item><item><title><![CDATA[hystrix服务隔离]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/91878239</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/91878239</guid><author>CCCdingding</author><pubDate>Thu, 13 Jun 2019 17:34:33 +0800</pubDate><description><![CDATA[目录



一、隔离方法

二、线程隔离

三、信号量隔离

一、隔离方法


	线程池隔离
	

	信号量隔离
	
二、线程隔离

原理：使用一个线程池来存储当前请求，线程池中线程对当前请求进行处理，可以设置任务的超时时间，对于

堆积的请求可以入线程池队列。

优点：采用线程池队列，因此可以解决流量洪峰的问题，起到了削锋的功能。并且可以异步调用，可以设置线

程池的大小，控制请求的并发量。
...]]></description><category></category></item><item><title><![CDATA[内部类局部方法调用为啥要final修饰？]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/89242285</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/89242285</guid><author>CCCdingding</author><pubDate>Fri, 12 Apr 2019 16:07:27 +0800</pubDate><description><![CDATA[目录

一、方法的局部变量被引用内部类为啥final修饰

二、Java 匿名类引用外部类成员变量为什么又不需要final修饰？



一、方法的局部变量被引用内部类为啥final修饰



void test() throws InterruptedException {
        //开始执行方法
        Student student = new Student();
   ...]]></description><category></category></item><item><title><![CDATA[MyBatis 基于源码的同等多数据源]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/88060877</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/88060877</guid><author>CCCdingding</author><pubDate>Fri, 01 Mar 2019 16:01:28 +0800</pubDate><description><![CDATA[目录



一、背景

二、方案描述

3.1、思考细节点

3.2、代码细节

三、总结

五、代码物料

一、背景

当前流行方案：

（1）当前mybatis不支持多数据源

（2）目前较通用方案是，写一个工厂类，进行数据源切换，并且数据源有主从之分master和slave

（3）不能直接将dao层绑定对应数据源上，需要做逻辑判断

读前需要了解知识：

（1）mybatis源码解析：h...]]></description><category></category></item><item><title><![CDATA[MyBatis 源码分析]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/87805368</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/87805368</guid><author>CCCdingding</author><pubDate>Fri, 22 Feb 2019 16:02:45 +0800</pubDate><description><![CDATA[一、学习之前思考

在学习mybatis之前，我是首先带着三个疑问去学习mybatis：

（1）数据库链接怎样管理：与数据库链接的线程池创建，sql执行等（个人理解再牛逼的orm框架，最后都需要转成

mysql（本次实例中是使用mysql数据）的原生的sql语句，最后执行的肯定是sql执行语句）

（2）java的dao层怎样操作sql语句：一个dao接口，为什么可以直接执行sql语句，

（...]]></description><category></category></item><item><title><![CDATA[虚拟机内存模型]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/87261757</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/87261757</guid><author>CCCdingding</author><pubDate>Thu, 14 Feb 2019 15:46:06 +0800</pubDate><description><![CDATA[一、虚拟内存模型



注：图中红色部分为线程共享，白色部分为线程私有

二、Java虚拟机栈

作用域：线程私有，生命周期同线程是一样的

存储数据：每个方法执行时会首先创建栈帧，存储局部变量表、操作数栈、动态链接和方法出口等信息。

其中局部变量表存储了基础数据类型（int、boolean、char、byte、long、short、float、double）和对象引用

异常类型：请求栈深度超...]]></description><category></category></item><item><title><![CDATA[TensorFlow开发Demo]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/86502982</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/86502982</guid><author>CCCdingding</author><pubDate>Wed, 16 Jan 2019 10:13:31 +0800</pubDate><description><![CDATA[一、模型基本知识


	卷积神经网络
	
	
	卷积
	
	
	采样
	
二、模型定义

本文以CNN卷积神经网络原型为示例：


	初始化输入层，转换成统一尺寸大小：对于本例子中全部resize成28*28大小
	
代码块

Python


  input_layer = tf.reshape(features[&quot;x&quot;], [-1, 28, 28, 1])


	定义第一层，卷积层，卷积核大小...]]></description><category></category></item><item><title><![CDATA[深度学习之TensorFlow]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/86502885</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/86502885</guid><author>CCCdingding</author><pubDate>Wed, 16 Jan 2019 10:08:38 +0800</pubDate><description><![CDATA[一、定义

TensorFlow ：是一个采用数据流图（data flow graphs），用于数值计算的开源软件库。

节点：一般用来表示施加的数学操作，但也可以表示数据输入（feed in）的起点/输出（push out）的终点，或者是读

取/写入持久变量（persistent variable）的终点。

线：表示&quot;节点&quot;之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的...]]></description><category></category></item><item><title><![CDATA[word2vecd原理]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/86502856</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/86502856</guid><author>CCCdingding</author><pubDate>Wed, 16 Jan 2019 10:07:45 +0800</pubDate><description><![CDATA[一、基础知识

sigmoid函数：



sigmoid函数图像：随着x的增大，则值趋向1

sigmoid的导函数则为：



和导函数分别为：



对数似然函数：当y=1时，假定这个样本为正类。如果此时hθ(x)=1hθ(x)=1,则单对这个样本而言的cost=0,表示这个样本的预测完全准确。那如果所有样本都预测准确，总的cost=0 
但是如果此时预测的概率hθ(x)=0hθ(x)=0，...]]></description><category></category></item><item><title><![CDATA[Synchronization 原理分析]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/86233395</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/86233395</guid><author>CCCdingding</author><pubDate>Thu, 10 Jan 2019 16:38:27 +0800</pubDate><description><![CDATA[目录



一、Synchronization原理分析

二、Synchronization数据存放格式

2.1、数据存放 

2.2、偏向锁

2.3、轻量级锁

2.3、重量级锁

2.4、性能场景比较

一、Synchronization原理分析

    Synchronization 锁原理是对象同步通过Monitor 来实现的，java每个对象都会有Monitor锁标...]]></description><category></category></item><item><title><![CDATA[二. Java集合类型源码分析]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/71657538</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/71657538</guid><author>CCCdingding</author><pubDate>Thu, 11 May 2017 19:20:25 +0800</pubDate><description><![CDATA[（1）Iterator（迭代器）
接口的鼻祖，里面只有一个方法，主要是为了继承该接口的实现类提供一个迭代器遍历功能：IteratorT> iterator()。
（2）Collection
     个人感觉是Java集合类型中最重要的接口，除了Map类型的集合类型，其余的集合类型几乎都继承该接口，其中接口申明的方法如下：
int size();//集合大小
boolean isEmpt]]></description><category></category></item><item><title><![CDATA[java 集合类结构分析]]></title><link>https://blog.youkuaiyun.com/CCCdingding/article/details/71643999</link><guid>https://blog.youkuaiyun.com/CCCdingding/article/details/71643999</guid><author>CCCdingding</author><pubDate>Thu, 11 May 2017 17:50:54 +0800</pubDate><description><![CDATA[禁止转载！！！！！]]></description><category></category></item></channel></rss>