- 博客(137)
- 资源 (27)
- 收藏
- 关注
原创 ThreadLocal 用法
有这样的需求:我们需要多个类或方法共享同一个变量,那我们可以把这样的变量声明成一个static即可。 如果我们加入了多线程概念的话,这个变量被多个线程共享时,会出现竞争的情况。所以肯定会引发一系列的问题。 我们现在只讨论其中的一种,就是这个变量各个线程独自拥有,但每个线程里的类或方法共享这个变量。 ThreadLocal可以解决这个问题。...
2019-01-03 22:42:21
701
转载 ArrayList 详情
ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。前面已经提过,Java泛型只是编译器提供的...
2018-12-27 10:38:09
299
转载 二叉树相关编程题总结
关于二叉树的五道面试题的总结求二叉树的最远两个结点的距离;由前序遍历和中序遍历重建二叉树;判断一棵树是否是完全二叉树;求二叉树两个节点的最近公共祖先;将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。请仔细阅读代码和注释!!!<一> 求二叉树的最远两个结点的距离本题在上一篇博客中已经进行了详细的实现,下面给出本题的连接:求二叉树的最远两个结点的...
2018-06-19 15:15:26
644
转载 libevent学习笔记【使用篇】——DNS域名解析 evdns
Libevent 提供了一些用于解析DNS域名的API, 以及一些用于实现DNS Server的接口。可移植的阻塞型域名解析Libevent 提供了标准库函数getaddrinfo的可移植版本,用于让阻塞性域名解析应用于可移植程序。(毕竟有些平台并不支持getaddrinfo函数,或者该函数相对于libevent的替代接口表现更差)。struct evutil_addrinfo { int...
2018-03-12 12:30:54
916
转载 python发送邮件(带附件)、发送给多人、抄送给多人的示例
#!/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...
2018-03-05 16:38:18
4113
转载 python第三方库requests详解
python第三方库requests详解Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python...
2018-02-24 09:39:45
512
转载 研发、发行和渠道
游戏行业公司大体可以分为四类:研发商、发行商、游戏平台或渠道、其他辅助相关公司。一般一款游戏在研发出来(也可能在demo阶段)时,发行商获得发行授权(发行商需要付出版权金加流水分成),然后发行商将游戏在各家渠道发布,并通过广告和市场活动来推广该产品,最终收益按照一定的比例三方分成,在其中会有一些其他辅助公司从中牟利。果农(游戏研发商)种出了苹果(游戏),经销商(游戏发行商)想要收苹
2018-02-07 14:47:38
937
转载 python 中的切片
printstr[0:3]#截取第一位到第三位的字符printstr[:]#截取字符串的全部字符printstr[6:]#截取第七个字符到结尾printstr[:-3]#截取从头开始到倒数第三个字符之前printstr[2]#截取第三个字符printstr[-1]#截取倒数第一个字符printstr[::-1]#创造一
2018-02-07 11:38:24
391
转载 python中强大的format函数
自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串。语法它通过{}和:来代替%。请看下面的示例,基本上总结了format函数在python的中所有用法 1 #通过位置 2 print '{0},{1}'.format('chuhao',20) 3 4 print '{},{}'.format('chu
2018-02-06 20:53:04
331
转载 流通股和总股本
有很多小白股民对于股票的专业术语都看不懂,所以最近博主哈啦子连续分享了好几篇基础知识、专业术语等等,写完了之后,他们有人跟我反映,明白了很多。那么再接再厉,之前博主哈啦子与小白交流的时候,我提到了股票盘子大小这些术语,他们就听不懂,所以昨天我分享了蓝筹股与成长股的来龙去脉,意思就是说蓝筹股是大盘股,成长股是小盘股,那么今天我在精细化一点,说一说股票盘子这个术语,新股民瞧一瞧,老股民可以忽略。
2018-01-20 16:41:47
6640
转载 编程题目
50道编程小题目,解题代码:http://blog.youkuaiyun.com/wangnanwlw/article/category/6098159【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?【即斐波那契数列】1.程序分析: 兔子的规律为数列1,1,2,3,5,8,1
2018-01-19 20:17:39
702
转载 委托、匿名方法、Lambda表达式的演进
假设给我们一个泛型对象List,T为int类型,要求我们使用该对象方法FindAll(Predicate match)从中找出该List中的偶数,您如何实现? 说明一下:Predicate是一个泛型委托,它的原型为public delegate bool Predicate(T obj),该委托传入一个T类型对象,经逻辑判断后返回布尔值。委托 可能您首先想到的是用委托实现,实现方法
2017-11-11 15:28:40
313
转载 C#中的IP和IPEndPoint
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
2017-11-10 17:04:17
6484
转载 C#委托Action、Action<T>、Func<T>、Predicate<T>
CLR环境中给我们内置了几个常用委托Action、 Action、Func、Predicate,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范。一、ActionAction封装的方法没有参数也没有返回值,声明原型为:1 public delegate void Action();用法如下:
2017-11-10 16:57:28
469
转载 Valgrind安装与使用
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。 官网http://www.valgrind.org
2017-10-28 13:51:29
386
转载 C++中两个类相互包含引用的问题
在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型class A{ int i; B b;}class B{ int i; A* a;}请注意上面的定义内容,一般情况下是不能出现类A,类B相互引用都定义对象,即如下的样子:class A{
2017-10-24 09:41:26
386
转载 bufferevent 结构体
转载请注明出处:http://blog.youkuaiyun.com/luotuo44/article/details/39344743 和之前的《Libevent工作流程探究》一样,这里也是用一个例子来探究bufferevent的工作流程。具体的例子可以参考《Libevent使用例子,从简单到复杂》,这里就不列出了。其实要做的例子也就是bufferevent_socket_new、bufferev
2017-10-23 17:44:55
663
转载 网络库libevent在Visual Studio中的使用方法
libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。1、下载编译libevent 下载
2017-10-23 09:00:29
728
转载 VS2015中配置Pthread
一、安装平台 Win7\8\10 64位 Microsoft Visual Studio 2015二、下载pthreads-w32-2-9-1tp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip解压后共
2017-10-23 08:59:15
1694
转载 关于给javascript对象添加、删除、修改对象的属性
以下是自己总结的几种方法利用动态特性 1 function Person(){}; 2 var person = new Person(); 3 person.name = 'yy'; 4 person.gender = 'girl'; 5 c
2017-09-25 21:31:47
997
转载 lua 使用工具
function split(s, delim) local start = 1 local t = {} while true do local pos = string.find (s, delim, start, true) if not pos then break end
2017-09-25 18:17:41
610
转载 vim的基本配置与github上的两个高票配置
简介vim是一种功能强大的文本编辑器。使用vim编辑文本,只需在键盘上操作就可以,根本无需用到鼠标。就拿光标移动来说,与重复击键、一个字符一个字符或一行一行移动相比,按一次键就能以词、行、块或函数为单位移动,效率高得多。有时一些重复删除、粘帖的操作,也只需一条命令就可以完成,甚至你可以用键映射来简化或组合多种命令来提高效率。配置vim提供一个vimrc的配置文件来配置vim,并且自己可
2017-09-25 17:55:22
1205
转载 Linux安装配置SVN服务器
Linux安装配置SVN服务器1. 安装SVN服务器:检查是否已安装# rpm -qa subversion安装SVN服务器# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql验证安装# cd /etc/httpd/modules# ls | grep svnm
2017-09-25 14:28:27
235
转载 linux下搭建SVN服务器完全手册
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum一,安装必须的软件包. yum install subversion (SVN服务器) mysql-server (用于codestriker) httpd mod_dav_
2017-09-25 14:15:43
292
转载 论撤消重做、回放系统的优雅实现:命令模式
【游戏设计模式】之二 论撤消重做、回放系统的优雅实现:命令模式标签: 游戏编程模式2016-12-05 15:08 480人阅读 评论(0)收藏举报分类: 游戏开发基础(1) 目录(?)[+]本系列文章由@浅墨_毛星云 出品,转载请注明出处。 文章链接: http://bl
2017-09-18 11:27:00
622
转载 享元模式
目录享元模式模式动机模式定义模式结构时序图代码分析模式分析实例优点缺点适用环境模式应用模式扩展总结5.1. 模式动机面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。享元模式正是为解决这一类问题而诞生的。享元模式通过共享技术实现相同或相似对象
2017-09-15 18:12:11
299
转载 建造者模式
一个人活到70岁以上,都会经历这样的几个阶段:婴儿,少年,青年,中年,老年。并且每个人在各个阶段肯定是不一样的呀,我觉得可以说世界上不存在两个人在人生的这5个阶段的生活完全一样,但是活到70岁以上的人,都经历了这几个阶段是肯定的。实际上这是一个比较经典的建造者模式的例子了。1.初识建造者模式建造者模式实际上是常用的设计模式。顾名思义,builder的意思是建造者或者建筑工人,谈到建
2017-09-15 16:09:11
311
转载 Shell中实现字符串反转方法
在做关键词清洗过程中,需要将一类不符合某个字结尾的词过滤出来,思路是把这一批词按最后一个字排序,于是想到了先把这些词反转一下,如把12345转为54321,好像以前在夜息的文章里看过用shell可以实现,就百度了一下,找到几个可行的解决方法,现记录一下。shell实现字符串反转,一句命令搞定!复制代码 代码如下:cat keywords.txt|while read line;do
2017-09-15 12:21:43
795
转载 SHELL字符串处理技巧(${}、##、%%)
在SHELL编程中,经常要处理一些字符串变量。比如,计算长度啊、截取子串啊、字符替换啊等等,常常要用到awk、expr、sed、tr等命令。下面给大家介绍个简单的字符串处理方法,用不着嵌套复杂的子命令。${#VALUE}:计算VALUE字符串的字符数量。${VALUE%.*}或${VALUE%%.*}:删除VALUE字符串中以分隔符“.”匹配的右边字符,保留左边字符。${VALUE#*.}
2017-09-15 11:25:17
649
转载 shell中的算术运算
Linux shell基本运算shell程序中的操作默认都是字符串操作,在要运行数学运算符的时候可能得到意想不到的答案:var=1var=$var+1echo $varoutput:1+1从这个例子中可以看出shell字符串连接的操作,需要注意的是空格。在shell中可以使用let来指示下面是算术表达式,let表达式内变量不用加$var=1let
2017-09-15 10:55:47
365
转载 javaScript中的匿名函数
匿名函数没有实际名字,也没有指针,怎么执行滴? 其实大家可以看看小括号的意义就应该可以理解。小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的function返回值等于小括号的返回值,不难理解 (function(){})()可以将没有名字的函数执行了把…关于匿名函数写法,很发散~ 最常见的用法: 复制代码 代码如下:(function() {
2017-09-14 10:25:51
302
转载 迭代器模式
C++实现迭代器模式版权声明:本文为博主原创文章,未经博主允许不得转载。说实话这个迭代器模式实现起来有点模糊 [cpp] view plain copy print?/* 迭代器模式:提供一种方法顺序访问一个聚合对象中个各个元素,而不暴露该对像的内部表示. 模式的动机: (1)一个聚合对象,如一个列表(List)或者
2017-09-14 10:12:26
229
转载 简单工厂和工厂方法模式的区别
一:简单工厂模式 1,概念简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。顾名思义工厂就是生产东西的,有原料(参数),模子(对象)就能生产出很多个具有相同功能的对象啦。2,uml图 3,代码示例[csharp] view plain copy print?"font-size:18px;"> class Progr
2017-09-14 09:54:52
642
转载 策略模式
目录策略模式模式动机模式定义模式结构时序图代码分析模式分析实例优点缺点适用环境模式应用模式扩展总结5.1. 模式动机完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也
2017-09-13 21:20:25
223
转载 中介者模式
目录中介者模式模式动机模式定义模式结构时序图代码分析模式分析实例优点缺点适用环境模式应用模式扩展总结2.1. 模式动机在用户与用户直接聊天的设计方案中,用户对象之间存在很强的关联性,将导致系统出现如下问题:系统结构复杂:对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。对象可重用性差:由于一个对象和
2017-09-13 18:06:44
561
转载 备忘录模式
备忘录模式备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。介绍意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。何时使用:很
2017-09-13 10:35:24
287
转载 代理模式
目录代理模式模式动机模式定义模式结构时序图代码分析模式分析实例优点缺点适用环境模式应用模式扩展总结6.1. 模式动机在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。通过
2017-09-12 17:47:44
277
转载 Lua和C++交互api学习
lua_setfield(L, -2, "mxd"); void lua_setfield (lua_State *L, int index, const char *k)操作: arr = Stack[index] //index是表在栈中的索引 arr[k] = Stack.top() //给表赋值
2017-09-12 16:14:49
360
转载 Lua和C++交互
转自:http://cn.cocos2d-x.org/tutorial/show?id=1474一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈
2017-09-12 14:54:16
339
重构_改善既有代码的设计
2017-03-20
Android 4.1 ARM EABI v7a System Image
2016-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人