<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Captain_MXD的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Captain_MXD</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Captain_MXD]]></copyright><item><title><![CDATA[ThreadLocal 用法]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/85726312</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/85726312</guid><author>Captain_MXD</author><pubDate>Thu, 03 Jan 2019 22:42:21 +0800</pubDate><description><![CDATA[
			有这样的需求：我们需要多个类或方法共享同一个变量，那我们可以把这样的变量声明成一个static即可。

			如果我们加入了多线程概念的话，这个变量被多个线程共享时，会出现竞争的情况。所以肯定会引发一系列的问题。

			 

			我们现在只讨论其中的一种，就是这个变量各个线程独自拥有，但每个线程里的类或方法共享这个变量。

			 

			ThreadLocal可以解决这个问题。

...]]></description><category></category></item><item><title><![CDATA[ArrayList 详情]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/85273809</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/85273809</guid><author>Captain_MXD</author><pubDate>Thu, 27 Dec 2018 10:38:09 +0800</pubDate><description><![CDATA[ArrayList实现了List接口，是顺序容器，即元素存放的数据与放进去的顺序相同，允许放入null元素，底层通过数组实现。除该类未实现同步外，其余跟Vector大致相同。每个ArrayList都有一个容量（capacity），表示底层数组的实际大小，容器内存储元素的个数不能多于当前容量。当向容器中添加元素时，如果容量不足，容器会自动增大底层数组的大小。前面已经提过，Java泛型只是编译器提供的...]]></description><category></category></item><item><title><![CDATA[二叉树相关编程题总结]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/80734316</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/80734316</guid><author>Captain_MXD</author><pubDate>Tue, 19 Jun 2018 15:15:26 +0800</pubDate><description><![CDATA[关于二叉树的五道面试题的总结求二叉树的最远两个结点的距离；由前序遍历和中序遍历重建二叉树；判断一棵树是否是完全二叉树；求二叉树两个节点的最近公共祖先；将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点，只能调整树中结点指针的指向。请仔细阅读代码和注释！！！&amp;lt;一&amp;gt; 求二叉树的最远两个结点的距离本题在上一篇博客中已经进行了详细的实现，下面给出本题的连接：求二叉树的最远两个结点的...]]></description><category></category></item><item><title><![CDATA[libevent学习笔记【使用篇】——DNS域名解析 evdns]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79525268</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79525268</guid><author>Captain_MXD</author><pubDate>Mon, 12 Mar 2018 12:30:54 +0800</pubDate><description><![CDATA[Libevent 提供了一些用于解析DNS域名的API， 以及一些用于实现DNS Server的接口。可移植的阻塞型域名解析Libevent 提供了标准库函数getaddrinfo的可移植版本，用于让阻塞性域名解析应用于可移植程序。（毕竟有些平台并不支持getaddrinfo函数，或者该函数相对于libevent的替代接口表现更差）。struct evutil_addrinfo {
    int...]]></description><category></category></item><item><title><![CDATA[python发送邮件（带附件）、发送给多人、抄送给多人的示例]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79447666</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79447666</guid><author>Captain_MXD</author><pubDate>Mon, 05 Mar 2018 16:38:18 +0800</pubDate><description><![CDATA[#!/usr/bin/env python  # -*-encoding: utf-8 -*-      import smtplib  from email.mime.multipart import MIMEMultipart  from email.mime.text import MIMEText    #image包可以发送图片形式的附件  # from email.mime.image...]]></description><category></category></item><item><title><![CDATA[python第三方库requests详解]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79358746</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79358746</guid><author>Captain_MXD</author><pubDate>Sat, 24 Feb 2018 09:39:45 +0800</pubDate><description><![CDATA[python第三方库requests详解Requests 是用Python语言编写，基于 urllib，采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便，可以节约我们大量的工作，完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的，所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python...]]></description><category></category></item><item><title><![CDATA[研发、发行和渠道]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79279751</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79279751</guid><author>Captain_MXD</author><pubDate>Wed, 07 Feb 2018 14:47:38 +0800</pubDate><description><![CDATA[游戏行业公司大体可以分为四类：研发商、发行商、游戏平台或渠道、其他辅助相关公司。
一般一款游戏在研发出来（也可能在demo阶段）时，发行商获得发行授权（发行商需要付出版权金加流水分成），然后发行商将游戏在各家渠道发布，并通过广告和市场活动来推广该产品，最终收益按照一定的比例三方分成，在其中会有一些其他辅助公司从中牟利。


果农（游戏研发商）种出了苹果（游戏），经销商（游戏发行商）想要收苹]]></description><category></category></item><item><title><![CDATA[python 中的切片]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79278316</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79278316</guid><author>Captain_MXD</author><pubDate>Wed, 07 Feb 2018 11:38:24 +0800</pubDate><description><![CDATA[print
str[0:3]
#截取第一位到第三位的字符
print
str[:]
#截取字符串的全部字符
print
str[6:]
#截取第七个字符到结尾
print
str[:-3]
#截取从头开始到倒数第三个字符之前
print
str[2]
#截取第三个字符
print
str[-1]
#截取倒数第一个字符
print
str[::-1]
#创造一]]></description><category></category></item><item><title><![CDATA[python中强大的format函数]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79274480</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79274480</guid><author>Captain_MXD</author><pubDate>Tue, 06 Feb 2018 20:53:04 +0800</pubDate><description><![CDATA[自python2.6开始，新增了一种格式化字符串的函数str.format()，此函数可以快速处理各种字符串。
语法

它通过{}和:来代替%。

请看下面的示例，基本上总结了format函数在python的中所有用法


 1 #通过位置
 2 print '{0},{1}'.format('chuhao',20)
 3 
 4 print '{},{}'.format('chu]]></description><category></category></item><item><title><![CDATA[流通股和总股本]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79115190</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79115190</guid><author>Captain_MXD</author><pubDate>Sat, 20 Jan 2018 16:41:47 +0800</pubDate><description><![CDATA[有很多小白股民对于股票的专业术语都看不懂，所以最近博主哈啦子连续分享了好几篇基础知识、专业术语等等，写完了之后，他们有人跟我反映，明白了很多。
那么再接再厉，之前博主哈啦子与小白交流的时候，我提到了股票盘子大小这些术语，他们就听不懂，所以昨天我分享了蓝筹股与成长股的来龙去脉，意思就是说蓝筹股是大盘股，成长股是小盘股，那么今天我在精细化一点，说一说股票盘子这个术语，新股民瞧一瞧，老股民可以忽略。]]></description><category></category></item><item><title><![CDATA[编程题目]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/79110411</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/79110411</guid><author>Captain_MXD</author><pubDate>Fri, 19 Jan 2018 20:17:39 +0800</pubDate><description><![CDATA[50道编程小题目，
解题代码：http://blog.youkuaiyun.com/wangnanwlw/article/category/6098159
【程序1】 

题目：古典问题：有一对兔子，从出生后第3个月起每个月都生一对兔子，小兔子长到第三个月后每个月又生一
对兔子，假如兔子都不死，问每个月的兔子总数为多少？【即斐波那契数列】
1.程序分析： 兔子的规律为数列1,1,2,3,5,8,1]]></description><category></category></item><item><title><![CDATA[委托、匿名方法、Lambda表达式的演进]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78506759</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78506759</guid><author>Captain_MXD</author><pubDate>Sat, 11 Nov 2017 15:28:40 +0800</pubDate><description><![CDATA[假设给我们一个泛型对象List，T为int类型，要求我们使用该对象方法FindAll(Predicate match)从中找出该List中的偶数，您如何实现？
　　说明一下：Predicate是一个泛型委托，它的原型为public delegate bool Predicate(T obj)，该委托传入一个T类型对象，经逻辑判断后返回布尔值。
委托
　　可能您首先想到的是用委托实现，实现方法]]></description><category></category></item><item><title><![CDATA[C#中的IP和IPEndPoint]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78501540</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78501540</guid><author>Captain_MXD</author><pubDate>Fri, 10 Nov 2017 17:04:17 +0800</pubDate><description><![CDATA[IP addresses in C#

在.Net网络库里面最大的优点就是IP地址和端口被成对处理，相比于UNIX中用的方法真是一个巨大的令人欢迎的进步。.NET定义了两个类来处理关于IP地址的问题。

One of the biggest advantages you will notice in the .NET network library is the way IP addres]]></description><category></category></item><item><title><![CDATA[C#委托Action、Action<T>、Func<T>、Predicate<T>]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78501459</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78501459</guid><author>Captain_MXD</author><pubDate>Fri, 10 Nov 2017 16:57:28 +0800</pubDate><description><![CDATA[CLR环境中给我们内置了几个常用委托Action、 Action、Func、Predicate，一般我们要用到委托的时候，尽量不要自己再定义一 个委托了，就用系统内置的这几个已经能够满足大部分的需求，且让代码符合规范。


一、Action
Action封装的方法没有参数也没有返回值，声明原型为：

1 public delegate void Action();

用法如下：
]]></description><category></category></item><item><title><![CDATA[Valgrind安装与使用]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78375199</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78375199</guid><author>Captain_MXD</author><pubDate>Sat, 28 Oct 2017 13:51:29 +0800</pubDate><description><![CDATA[Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。

Valgrind的最初作者是Julian Seward，他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。

Valgrind遵守GNU通用公共许可证条款，是一款自由软件。

 

官网

http://www.valgrind.org

 ]]></description><category></category></item><item><title><![CDATA[C++中两个类相互包含引用的问题]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78326103</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78326103</guid><author>Captain_MXD</author><pubDate>Tue, 24 Oct 2017 09:41:26 +0800</pubDate><description><![CDATA[在构造自己的类时，有可能会碰到两个类之间的相互引用问题，例如：定义了类A类B，A中使用了B定义的类型，B中也使用了A定义的类型
class A
{
    int i;
    B b;
}

class B
{
    int i;
    A* a;
}

请注意上面的定义内容，一般情况下是不能出现类A，类B相互引用都定义对象，即如下的样子：
class A
{]]></description><category></category></item><item><title><![CDATA[bufferevent 结构体]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78321298</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78321298</guid><author>Captain_MXD</author><pubDate>Mon, 23 Oct 2017 17:44:55 +0800</pubDate><description><![CDATA[转载请注明出处：http://blog.youkuaiyun.com/luotuo44/article/details/39344743

  和之前的《Libevent工作流程探究》一样，这里也是用一个例子来探究bufferevent的工作流程。具体的例子可以参考《Libevent使用例子，从简单到复杂》，这里就不列出了。其实要做的例子也就是bufferevent_socket_new、bufferev]]></description><category></category></item><item><title><![CDATA[网络库libevent在Visual Studio中的使用方法]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78315233</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78315233</guid><author>Captain_MXD</author><pubDate>Mon, 23 Oct 2017 09:00:29 +0800</pubDate><description><![CDATA[libevent是一个事件触发的网络库，适用于windows、linux、bsd等多种平台，内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based，而且libevent在使用上可以做到跨平台，而且根据libevent官方网站上公布的数据统计，似乎也有着非凡的性能。

1、下载编译libevent

　　下载]]></description><category></category></item><item><title><![CDATA[VS2015中配置Pthread]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78315224</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78315224</guid><author>Captain_MXD</author><pubDate>Mon, 23 Oct 2017 08:59:15 +0800</pubDate><description><![CDATA[一、安装平台

       Win7\8\10   64位           Microsoft Visual Studio 2015




二、下载

pthreads-w32-2-9-1

tp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip







解压后共]]></description><category></category></item><item><title><![CDATA[关于给javascript对象添加、删除、修改对象的属性]]></title><link>https://blog.youkuaiyun.com/Captain_MXD/article/details/78089719</link><guid>https://blog.youkuaiyun.com/Captain_MXD/article/details/78089719</guid><author>Captain_MXD</author><pubDate>Mon, 25 Sep 2017 21:31:47 +0800</pubDate><description><![CDATA[以下是自己总结的几种方法


利用动态特性



 1             function Person(){};
 2             var person = new Person();
 3             person.name = 'yy';
 4             person.gender = 'girl';
 5             c]]></description><category></category></item></channel></rss>