<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenxiaoti的博客]]></title><description><![CDATA[技术小白的历程]]></description><link>https://blog.youkuaiyun.com/chenxiaoti</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenxiaoti]]></copyright><item><title><![CDATA[从源码分析HashMap在JDK8与JDK7的变化]]></title><link>https://blog.youkuaiyun.com/chenxiaoti/article/details/82945946</link><guid>https://blog.youkuaiyun.com/chenxiaoti/article/details/82945946</guid><author>chenxiaoti</author><pubDate>Mon, 08 Oct 2018 19:51:57 +0800</pubDate><description><![CDATA[简述
在之前的文章中有详细描述过基于JDK7中HashMap与HashTable的差异，而在JDK8出现后，HasMap在实现上有了很大的变化。有所耳闻的就是里面出现了红黑树结构，而且效率更高了。接下来就通过JDK8种HasMap的源码实现来分析其中的变化。
HashMap内部类变化
JDK7中hashMap用来存储真正的Key-Value键值对只有一个Entry的内部类：
static clas...]]></description><category></category></item><item><title><![CDATA[HashTable和HashMap的区别]]></title><link>https://blog.youkuaiyun.com/chenxiaoti/article/details/82900630</link><guid>https://blog.youkuaiyun.com/chenxiaoti/article/details/82900630</guid><author>chenxiaoti</author><pubDate>Mon, 01 Oct 2018 11:06:48 +0800</pubDate><description><![CDATA[HashTable

]]></description><category></category></item><item><title><![CDATA[CPU缓存与Java内存模型]]></title><link>https://blog.youkuaiyun.com/chenxiaoti/article/details/82776128</link><guid>https://blog.youkuaiyun.com/chenxiaoti/article/details/82776128</guid><author>chenxiaoti</author><pubDate>Wed, 19 Sep 2018 20:45:47 +0800</pubDate><description><![CDATA[CPU多级缓存
局部性原理：
1)时间局部性：如果某个数据被访问，那么在不久的将来它很可能再次被访问；
2)空间局部性：如果某个数据被访问，那么它相邻的数据很快也可能被访问。

缓存一致性（MESI）
定义了四种cache life的四种状态：





状态
描述




M(Modified)
这行数据有效，数据被修改了，和内存中的数据不一致，数据只存在于本Cache中。


E(Exclus...]]></description><category></category></item><item><title><![CDATA[线程安全]]></title><link>https://blog.youkuaiyun.com/chenxiaoti/article/details/82705466</link><guid>https://blog.youkuaiyun.com/chenxiaoti/article/details/82705466</guid><author>chenxiaoti</author><pubDate>Fri, 14 Sep 2018 16:46:46 +0800</pubDate><description><![CDATA[定义：当多个线程访问某个类时，不管运行时环境采用何种调度方式或者这些进程将如何交替执行，并且在主调代码中不需要任何额外的同步或协同，这个类都表现出正确的行为，那么就称这个类是线程安全的。



原子性

提供了互斥访问，同一时刻只能有一个线程来对它进行操作。 
JDK中Atomic包来完成原子性； 
锁：synchronized（依赖JVM），Lock（依赖特殊CPU指令，代码实现，Reentra...]]></description><category></category></item></channel></rss>