<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[angelliu2007的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/angelliu2007</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; angelliu2007]]></copyright><item><title><![CDATA[Innodb Change Buffer]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299275</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299275</guid><author>angelliu2007</author><pubDate>Fri, 28 Jun 2019 15:43:00 +0800</pubDate><description><![CDATA[Change Buffer属于Innodb内存中的一块结构，它主要用来缓存对二级索引数据的修改（insert, update, delete）操作当二级索引不在Buffer pool中的时候，这些写操作会在稍后合并到二级索引当二级索引被其他读请求加载到buffer pool的时候。


不同于聚簇索引，二级索引通常不是唯一的，插入二级索引的顺序是相对随机的，删除和更新操作也可能会...]]></description><category></category></item><item><title><![CDATA[Innodb整体架构]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299272</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299272</guid><author>angelliu2007</author><pubDate>Fri, 28 Jun 2019 13:19:00 +0800</pubDate><description><![CDATA[如下图展示了Innodb内存中和磁盘的结构：

内存中结构主要有如下几种：

buffer pool
change buffer
adaptive hash index (自适应的hash索引)
Log buffer

磁盘中的结构主要有下面几类：

Tables
Indexs
Tablespaces
Innodb Data Dictionary
Doub...]]></description><category></category></item><item><title><![CDATA[InnoDB Multi-Versioning]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299274</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299274</guid><author>angelliu2007</author><pubDate>Fri, 28 Jun 2019 10:52:00 +0800</pubDate><description><![CDATA[InnoDB 是一个数据多版本的存储引擎，它会保持它修改的数据的旧版本数据以此来支持事务特性，比如并发操作和事务的回滚。这些旧版本数据存储在一个叫做rollback segment的数据结构中（回滚段），当事务回滚的时候，Innodb会使用回滚段的数据来执行事务的撤销操作，也会使用这些老版本的数据来做旧版本的一致性读操作（可重复读的隔离级别下需要用到）。
在Innodb内部会增加三个字...]]></description><category></category></item><item><title><![CDATA[数据事务隔离级别]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299269</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299269</guid><author>angelliu2007</author><pubDate>Thu, 20 Feb 2014 15:04:00 +0800</pubDate><description><![CDATA[在标准SQL规范中，定义了4个事务隔离级别，不同的隔离级别对事务的处理不同。
未授权读取
也称为读未提交（Read Uncommitted）：允许脏读取，但不允许更新丢失。如果一个事务已经开始写数据，则另外一个事务则不允许同时进行写操作，但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。
授权读取
也称为读提交（Read Committed）：允许不可重复读取，但不允...]]></description><category></category></item><item><title><![CDATA[oracle查询中会使索引无效的情况总结]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299271</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299271</guid><author>angelliu2007</author><pubDate>Tue, 18 Feb 2014 11:20:00 +0800</pubDate><description><![CDATA[总结一下oracle中会使索引无效的情况
1 无where条件；
2 索引列进行运算时；
3 使用like，并且通配符在前的情况；
4字符型字段为数字时在where条件里不添加引号；
5not in ,not exist；
6 当变量采用的是times变量，而表的字段采用的是date变量时.或相反情况；
7单独引用复合索引里非第一位置的索引列；
8如果column...]]></description><category></category></item><item><title><![CDATA[java内存区域介绍]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299270</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299270</guid><author>angelliu2007</author><pubDate>Sat, 15 Feb 2014 23:21:00 +0800</pubDate><description><![CDATA[java虚拟机在执行java程序的过程中会把它所管理的内存划分为不同的区域，这些区域有各自不同的用途，以及创建和销毁时间，java虚拟机所管理的区域有：方法区、虚拟机栈、本地方法栈、堆、程序计数器等。
1 程序计数器：
　　程序计数器是一块较小的内存空间，它的作用可以看做是当前线程执行的字节码的行号指示器，由于虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现，在任何...]]></description><category></category></item><item><title><![CDATA[多线程之callable学习]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299268</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299268</guid><author>angelliu2007</author><pubDate>Mon, 20 Jan 2014 23:43:00 +0800</pubDate><description><![CDATA[最近在看多线程方面的内容，注意到java中原来除了Runnable和Thread之外还有Callable的方式实现多线程，并且Callable还能得到子线程的返回值，这是前面两种方式所不具有的。
　　Callable是一个借口，并且支持泛型，我们编写多线程只需要实现这个接口，并且重写call方法，要得到Callable的返回值就要使用Future对象，Callable负责计算结果，Fu...]]></description><category></category></item><item><title><![CDATA[java多线程执行时主线程的等待]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299266</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299266</guid><author>angelliu2007</author><pubDate>Mon, 20 Jan 2014 17:11:00 +0800</pubDate><description><![CDATA[1、通过thread.join()方式，注意：如果有多个子线程，需要将全部的线程先start，然后再join。代码示例如下：
public class Main{ public static void main(String[] args) { long start = System.currentTimeMillis();...]]></description><category></category></item><item><title><![CDATA[数据库锁机制]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299263</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299263</guid><author>angelliu2007</author><pubDate>Fri, 17 Jan 2014 22:51:00 +0800</pubDate><description><![CDATA[　　数据并发会引起很多问题，数据库通过锁机制来解决并发访问的问题，虽然不同的数据库在实现细节上存在差别，但是原理都差不多，下面介绍一下数据库的锁机制
　　按锁定的对象不同分为表锁定和行锁定，表锁定对整个表进行锁定，行锁定针对特定的行进行锁定，从并发事务锁定的关系上看，可以分为共享锁定和独占锁定，共享锁定会防止独占锁定，允许其他的共享锁定，而独占锁定既防止其他的独占锁定，也防止其他的共享...]]></description><category></category></item><item><title><![CDATA[数据库事务学习]]></title><link>https://blog.youkuaiyun.com/angelliu2007/article/details/102299265</link><guid>https://blog.youkuaiyun.com/angelliu2007/article/details/102299265</guid><author>angelliu2007</author><pubDate>Fri, 17 Jan 2014 22:10:00 +0800</pubDate><description><![CDATA[数据库事务有严格的定义，他必须满足四个特性：简称ACID，原子性（Atomic）,一致性（Consistency），隔离性（Isolation）和持久性(Dutabiliy),在这些特性中，“一致性”是最终的目标，其他的特性都是为了这个目标的措施和手段
原子性：表示组成一个事务的多个数据库操作是一个不可分割的原子单元，只有所有的操作执行成功，整个事务才提交，事务中任务一个数据库操作失败...]]></description><category></category></item></channel></rss>