<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[run bird 的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csharpxuexi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csharpxuexi]]></copyright><item><title><![CDATA[生成器 迭代器]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/79405384</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/79405384</guid><author>csharpxuexi</author><pubDate>Wed, 28 Feb 2018 21:44:51 +0800</pubDate><description><![CDATA[生成器    生成器 generator。在Python中，这种一边循环一边计算的机制，称为生成器。    生成器的生成方式：用()生成列表生成式---表达式生成器，如(x*x for x in range(10))包含yield的函数---函数生成器   生成器的访问方法：for s in (x*x for x in range(10))a=(x*x for x in range(10));ne...]]></description><category></category></item><item><title><![CDATA[python import 模块理解]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/79319046</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/79319046</guid><author>csharpxuexi</author><pubDate>Mon, 12 Feb 2018 22:24:12 +0800</pubDate><description><![CDATA[python的世界 ，一切均是对象，是命名空间。为了用别的命名空间的资源，就需要import出场了。imort osimort os as windowfrom os import pathfrom os import *import后，你就有权利用这个变量了。python世界里，函数名也是变量，from os import *后， os模块里的所有变量，函数都可以直接用了。import引入的只是...]]></description><category></category></item><item><title><![CDATA[python 文件操作]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/79314592</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/79314592</guid><author>csharpxuexi</author><pubDate>Mon, 12 Feb 2018 09:23:23 +0800</pubDate><description><![CDATA[shutilhttps://www.douban.com/note/566371221/https://automatetheboringstuff.com/chapter9/shutil 名字来源于 shell utilities，有学习或了解过Linux的人应该都对 shell 不陌生，可以借此来记忆模块的名称。该模块拥有许多文件（夹）操作的功能，包括复制、移动、重命名、删除等等0. chut...]]></description><category></category></item><item><title><![CDATA[python3 打开网页方法]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/79307269</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/79307269</guid><author>csharpxuexi</author><pubDate>Sat, 10 Feb 2018 22:09:10 +0800</pubDate><description><![CDATA[目前已知有两种方法自动打开网页，selenium webdriver 和webbrowser。selenium webdriver首先需要安装selenium和webdriverpip install selenium安装相应浏览器的driver.exe，以chrome为例。下载chromedriver.exe文件，放到chrome的application目录下，与chrome.exe相同的目录，...]]></description><category></category></item><item><title><![CDATA[排序算法]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/79215027</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/79215027</guid><author>csharpxuexi</author><pubDate>Wed, 31 Jan 2018 11:27:55 +0800</pubDate><description><![CDATA[好精致的排序算法介绍，不自觉的转载了。
http://blog.youkuaiyun.com/T7SFOKzorD1JAYMSFk4/article/details/79134998]]></description><category></category></item><item><title><![CDATA[不用+号，实现a+b]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/78867740</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/78867740</guid><author>csharpxuexi</author><pubDate>Thu, 21 Dec 2017 21:04:32 +0800</pubDate><description><![CDATA[基础分析参见：http://blog.youkuaiyun.com/fjqcyq2/article/details/45251381


同样两个数相加2458+8457，用10进制表示的结果与二进制表示的结果是一样的。
那么在10进制中，2458+8457的相加过程是怎样的呢？
2458
+ 8457
----------------------------------------
1011]]></description><category></category></item><item><title><![CDATA[中位数]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/78850234</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/78850234</guid><author>csharpxuexi</author><pubDate>Wed, 20 Dec 2017 10:23:16 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/liuyuan185442111/article/details/48396413]]></description><category></category></item><item><title><![CDATA[AbstractQueuedSynchronizer学习]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/78715697</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/78715697</guid><author>csharpxuexi</author><pubDate>Tue, 05 Dec 2017 08:36:39 +0800</pubDate><description><![CDATA[JUC中AbstractQueuedSynchronizer的使用类 简易了解：
http://blog.youkuaiyun.com/yanyan19880509/article/details/52345422

http://blog.youkuaiyun.com/yanyan19880509/article/details/52349056

http://blog.youkuaiyun.com/yanyan198]]></description><category></category></item><item><title><![CDATA[分布式应用框架Akka快速入门]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/78625150</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/78625150</guid><author>csharpxuexi</author><pubDate>Fri, 24 Nov 2017 15:29:31 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/jmppok/article/details/17264495




1.什么是Akka


Akka 是一个用 Scala 编写的库，用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。

官方网站 （http://akka.io/）的介绍是：

Akka is a toolkit and]]></description><category></category></item><item><title><![CDATA[Java NIO：浅析I/O模型]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/51252638</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/51252638</guid><author>csharpxuexi</author><pubDate>Tue, 26 Apr 2016 18:09:16 +0800</pubDate><description><![CDATA[也许很多朋友在学习NIO的时候都会感觉有点吃力，对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前，我们今天先来讨论一些比较基础的知识：I/O模型。下面本文先从同步和异步的概念 说起，然后接着阐述了阻塞和非阻塞的区别，接着介绍了阻塞IO和非阻塞IO的区别，然后介绍了同步IO和异步IO的区别，接下来介绍了5种IO模型，最后介绍了两种和高性能IO设计相关的设计模式（Reactor和Pr]]></description><category></category></item><item><title><![CDATA[Zookeeper-Zookeeper client]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778093</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778093</guid><author>csharpxuexi</author><pubDate>Wed, 11 Nov 2015 09:58:40 +0800</pubDate><description><![CDATA[当我写完Zookeeper leader选举后，准备看看Zookeeper的存储和处理客户端请求的时候发现，如果能看看Zookeeper的API是不是在理解后面的过程更好些呢。
Zookeeper的client是通过Zookeeper类提供的。前面曾经说过，Zookeeper给使用者提供的是一个类似操作系统的文件结构，只不过这个结构是分布式的。可以理解为一个分布式的文件系统。我们可以通过Zook]]></description><category></category></item><item><title><![CDATA[Zookeeper-Zookeeper leader选举]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778077</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778077</guid><author>csharpxuexi</author><pubDate>Wed, 11 Nov 2015 09:57:41 +0800</pubDate><description><![CDATA[在上一篇文章中我们大致浏览了zookeeper的启动过程，并且提到在Zookeeper的启动过程中leader选举是非常重要而且最复杂的一个环节。那么什么是leader选举呢？zookeeper为什么需要leader选举呢？zookeeper的leader选举的过程又是什么样子的？本文的目的就是解决这三个问题。
首先我们来看看什么是leader选举。其实这个很好理解，leader选举就像总统选举]]></description><category></category></item><item><title><![CDATA[Zookeeper-Zookeeper启动过程]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778051</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778051</guid><author>csharpxuexi</author><pubDate>Wed, 11 Nov 2015 09:56:42 +0800</pubDate><description><![CDATA[在上一篇，我们了解了zookeeper最基本的配置，也从中了解一些配置的作用，那么这篇文章中，我们将介绍Zookeeper的启动过程，我们在了解启动过程的时候还要回过头看看上一篇中各个配置参数在启动时的位置。
Zookeeper的启动入口在org.apache.zookeeper.server.quorum.QuorumPeerMain。
在这个类的main方法里进入了zookeeper的启动]]></description><category></category></item><item><title><![CDATA[Zookeeper-Zookeeper的配置]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778047</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778047</guid><author>csharpxuexi</author><pubDate>Wed, 11 Nov 2015 09:55:47 +0800</pubDate><description><![CDATA[前面两篇文章介绍了Zookeeper是什么和可以干什么，那么接下来我们就实际的接触一下Zookeeper这个东西，看看具体如何使用，有个大体的感受，后面再描述某些地方的时候也能在大脑中有具体的印象。本文只关注分布式模式的zookeeper，因为这也是在生产环境的唯一部署方式，单机的zookeeper可以在测试和开发环境使用，但是单机环境的zookeeper就不再是zookeeper了。
安装配置]]></description><category></category></item><item><title><![CDATA[Zookeeper-Zookeeper可以干什么]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778033</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778033</guid><author>csharpxuexi</author><pubDate>Wed, 11 Nov 2015 09:54:46 +0800</pubDate><description><![CDATA[在Zookeeper的官网上有这么一句话：ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 
这大概描述了Zookeeper主要可以干哪些]]></description><category></category></item><item><title><![CDATA[Zookeeper--Zookeeper是什么]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778003</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49778003</guid><author>csharpxuexi</author><pubDate>Wed, 11 Nov 2015 09:53:50 +0800</pubDate><description><![CDATA[Google的三篇论文影响了很多很多人，也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce，于是我们有了Hadoop；根据GFS，于是我们有了HDFS；根据BigTable，于是我们有了HBase。而在这三篇论文里都提及Google的一个lock service---Chubby，哦，于是我们有了Zookeeper。
随着大数据的火热，Hxx们已经变得耳熟能详，现]]></description><category></category></item><item><title><![CDATA[java string]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/49761827</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/49761827</guid><author>csharpxuexi</author><pubDate>Tue, 10 Nov 2015 16:39:42 +0800</pubDate><description><![CDATA[转自：http://mccxj.github.io/blog/20130615_java-string-constant-pool.html

String印象
String是java中的无处不在的类，使用也很简单。初学java，就已经有字符串是不可变的盖棺定论，解释通常是:它是final的。
不过，String是有字面量这一说法的，这是其他类型所没有的特性(除原生类型)。另外，java中]]></description><category></category></item><item><title><![CDATA[JAVA中mark()和reset()用法]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/44858829</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/44858829</guid><author>csharpxuexi</author><pubDate>Fri, 03 Apr 2015 19:14:47 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/zhang-qiang/articles/2050885.html
根据JAVA官方文档的描述，mark(int readlimit)方法表示，标记当前位置，并保证在mark以后最多可以读取readlimit字节数据，mark标记仍有效。如果在mark后读取超过readlimit字节数据，mark标记就会失效，调用reset()方法会有异常。 ]]></description><category></category></item><item><title><![CDATA[装饰模式]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/44834005</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/44834005</guid><author>csharpxuexi</author><pubDate>Thu, 02 Apr 2015 16:44:05 +0800</pubDate><description><![CDATA[装饰模式又名包装(Wrapper)模式。
作用：装饰模式以对客户端透明的方式扩展对象的功能，是继承关系的一个替代方案。在不使用创造更多子类的情况下，将对象的功能加以扩展。

与过滤器模式的区别在于：装饰强调功能的增加，而过滤器模式强调功能访问的控制。
JDK中应用：Java I/O]]></description><category></category></item><item><title><![CDATA[表单重复提交]]></title><link>https://blog.youkuaiyun.com/csharpxuexi/article/details/44566427</link><guid>https://blog.youkuaiyun.com/csharpxuexi/article/details/44566427</guid><author>csharpxuexi</author><pubDate>Mon, 23 Mar 2015 17:20:26 +0800</pubDate><description><![CDATA[重复提交场景
a 在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交
b 表单提交后用户点击【刷新】按钮导致表单重复提交
c 用户提交表单后，点击浏览器的【后退】按钮回退到表单页面后进行再次提交
前端
1 标志位。在JS处理函数体中判断标志位。只对于场景a有用
2 修改元素的属性，disabled。只对于场景a有用
3 jquery.one()。（"$a"）.on]]></description><category></category></item></channel></rss>