<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[biexiaofei的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/biexiaofei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; biexiaofei]]></copyright><item><title><![CDATA[python3  关于多重继承时MRO列表的顺序]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/86484177</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/86484177</guid><author>biexiaofei</author><pubDate>Mon, 14 Jan 2019 21:21:21 +0800</pubDate><description><![CDATA[MRO（Method Resolution Order），中文名：方法解析顺序，用于显示python3在多继承时，子类调用父类的路径。
解决了多继承时遇到的二义性的问题。

二义性问题:
1、有两个基类A和B，A和B都定义了方法f()，C继承A和B，那么调用C的f()方法时会出现不确定。
2、有一个基类A，定义了方法f()，B类和C类继承了A类（的f()方法），D类继承了B和C类，那么出现一个问题...]]></description><category></category></item><item><title><![CDATA[Mysql （InnoDB引擎）聚集索引和辅助索引]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/78261273</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/78261273</guid><author>biexiaofei</author><pubDate>Tue, 17 Oct 2017 15:44:11 +0800</pubDate><description><![CDATA[聚集索引：InnoDB存储引擎表是索引组织表，即按照主键的顺序存储数据。 
聚集索引（clustered index）就是按照每张表的主键构造一棵B+树，树中的叶子节点存放着表中的行记录数据，因此，也将聚集索引的叶子节点称为数据页；非叶子节点中存放着仅仅是键值和指向叶子节点的偏移量。每个叶子节点（数据页）都通过一个双向链表进行连接。 
由于实际的数据页只能按照一棵B+树进行排序，因此数据库中每张表只]]></description><category></category></item><item><title><![CDATA[Java中的对象锁和类锁]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77878364</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77878364</guid><author>biexiaofei</author><pubDate>Thu, 07 Sep 2017 10:43:08 +0800</pubDate><description><![CDATA[Java中的锁：（简要描述） 
多线程的线程同步机制实际上是靠锁的概念来控制的。在Java程序运行时环境中，JVM需要对两类线程共享的数据进行协调： 
1）保存在堆中的实例变量 
2）保存在方法区中的类变量这两类数据是被所有线程共享的。 
（程序不需要协调保存在Java 栈当中的数据。因为这些数据是属于拥有该栈的线程所私有的。）别人讲的：
Java内存管理：http://blog.youkuaiyun.com/]]></description><category></category></item><item><title><![CDATA[LinkedHashMap简单解析]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77159389</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77159389</guid><author>biexiaofei</author><pubDate>Mon, 14 Aug 2017 11:08:46 +0800</pubDate><description><![CDATA[源码版本1.71、内部结构 
节点的结构： 
整体结构： 
![这里写图片描述(http://img.blog.youkuaiyun.com/20170814110220120?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlleGlhb2ZlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70]]></description><category></category></item><item><title><![CDATA[HashMap源码分析]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77141097</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77141097</guid><author>biexiaofei</author><pubDate>Sun, 13 Aug 2017 11:17:59 +0800</pubDate><description><![CDATA[本文参考：http://blog.youkuaiyun.com/happy_horse/article/details/52316865关于HashMap，你应该知道的几个知识点：HashMap多线程的条件竞争； 
不可变对象的好处； 
为什么String, Interger这样的wrapper类适合作为键；1、HashMap内部结构组成及实现 
HashMap是基于哈希表（使用了拉链法解决Hash冲突的哈希表]]></description><category></category></item><item><title><![CDATA[Java深拷贝与浅拷贝]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77132236</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77132236</guid><author>biexiaofei</author><pubDate>Sun, 13 Aug 2017 00:28:54 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/wangnanwlw/article/details/52300117一、引言对象拷贝(Object Copy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的，主要是为了在新的上下文环境中复用对象的部分或全部 数据。Java中有三种类型的对象拷贝：浅拷贝(Shallow Copy)、深拷贝(Deep Copy)、延]]></description><category></category></item><item><title><![CDATA[LinkedList源码分析]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77103429</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77103429</guid><author>biexiaofei</author><pubDate>Fri, 11 Aug 2017 21:27:58 +0800</pubDate><description><![CDATA[本文源代码版本为1.7LinkedList：以双向链表实现。链表无容量限制，但双向链表本身使用了更多空间，也需要额外的链表指针操作。 
注意：构建的链表不带头节点。链表的节点代码：private static class Node<E> 
{
  E item;
    Node<E> next;
    Node<E> prev;    Node(Node<E> prev, E element,]]></description><category></category></item><item><title><![CDATA[java中fail-fast 和 fail-safe的区别]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77099989</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77099989</guid><author>biexiaofei</author><pubDate>Fri, 11 Aug 2017 16:42:28 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/ch717828/article/details/46892051在我们详细讨论这两种机制的区别之前，首先得先了解并发修改。 
1.什么是同步修改？ 
当一个或多个线程正在遍历一个集合Collection，此时另一个线程修改了这个集合的内容（添加，删除或者修改）。这就是并发修改 
(这两种机制主要是针对迭代器而言的)
什么是 fail-fast 机]]></description><category></category></item><item><title><![CDATA[ArrayList源码分析]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77056908</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77056908</guid><author>biexiaofei</author><pubDate>Thu, 10 Aug 2017 16:19:48 +0800</pubDate><description><![CDATA[本文分析的源码版本是1.7 
ArrayList继承了AbstractList并实现了List,RandomAccess, Cloneable, java.io.Serializable 接口， 
AbstractList提供了List接口的默认实现（个别方法为抽象方法）。 
List接口定义了列表必须实现的方法。 
RandomAccess是一个标记接口，接口内没有定义任何内容。 
实现了Clo]]></description><category></category></item><item><title><![CDATA[HashMap与Hashtable区别]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77051350</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77051350</guid><author>biexiaofei</author><pubDate>Thu, 10 Aug 2017 15:11:05 +0800</pubDate><description><![CDATA[（1）两者最主要的区别在于Hashtable是线程安全，而HashMap则非线程安全。Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步，因此相对而言HashMap性能会高一些。 
我们平时使用时若无特殊需求建议使用HashMap，多线程环境下若使用HashMap需要使用Collections.synchronizedMap()方法来获取一个线程安全的集合。 
（2]]></description><category></category></item><item><title><![CDATA[集合继承关系图解]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/77031003</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/77031003</guid><author>biexiaofei</author><pubDate>Thu, 10 Aug 2017 09:37:31 +0800</pubDate><description><![CDATA[参考：http://www.cnblogs.com/jing99/p/7057245.html集合的特点：用来存储不同类型的对象（基本数据类型除外），存储长度可变。 
Java集合中实际存放的只是对象的引用，每个集合元素都是一个引用变量，实际内容都放在堆内存或者方法区里面，但是基本数据类型是在栈内存上分配空间的，栈上的数据随时就会被收回的。集合框架图： 
上述类图中，实线边框的是实现类，比如Arra]]></description><category></category></item><item><title><![CDATA[Integer源码分析]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/76994656</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/76994656</guid><author>biexiaofei</author><pubDate>Wed, 09 Aug 2017 15:17:33 +0800</pubDate><description><![CDATA[参考：http://www.hollischuang.com/archives/1058类定义public final class Integer extends Number implements Comparable<Integer>从类定义中我们可以知道以下几点： 
1、Integer类不能被继承 
2、Integer类实现了Comparable接口，所以可以用compareTo进行比较并且I]]></description><category></category></item><item><title><![CDATA[String源码分析]]></title><link>https://blog.youkuaiyun.com/biexiaofei/article/details/76914412</link><guid>https://blog.youkuaiyun.com/biexiaofei/article/details/76914412</guid><author>biexiaofei</author><pubDate>Tue, 08 Aug 2017 16:04:21 +0800</pubDate><description><![CDATA[参照：http://www.hollischuang.com/archives/99的文章String类实现了Serializable, Comparable, CharSequence接口.public final class String implements java.io.Serializable, Comparable<String>, CharSequence{}其中，String被fi]]></description><category></category></item></channel></rss>