自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 第一次简单的JVM学习

第一次简单的JVM学习 此次调试源于某一个Java进程貌似有内存泄露, 用top命令查看内存发现:启动时占用600M内存, 一天过去后涨到1.3G, 之后每天多涨200M, 到了几周后就到了峰值-Xmx4096m, 于是开始担心会不会这个应用跑着跑着outofmenory了 这个Java进程的启动参数为:java -server -Xms4096m -Xmx4096m -X

2014-09-27 08:58:47 855

原创 Lucene 实例 -- 基本用法

Lucene 实例 -- 基本用法摘自:http://www.lucenetutorial.com/lucene-in-5-minutes.html简而言之,Lucene的基础使用分为两个步骤1, 创建索引2, 查询创建索引又分为以下几步:1, 创建索引的存储位置(Directory类)2, 创建索引写者(IndexWriter)3, 创建索引文档(

2014-06-10 08:11:02 853

原创 小强升职记 笔记

小强升职记 笔记GTD之路 合理运用时间 时间一般消耗在三种情况下:有意义的工作时间无意义的浪费时间真正的休息时间 而我们平常人往往会把大量的时间消耗在没有任何意义的事情上.比如早上来到办公室看一会微博,本来打算看10分钟,结果发现某些微博里有你更想了解的信息,于是不知不觉就看了半小时甚至更多. 这些被无意消耗掉的时间称之为: 时间黑洞他们的

2014-05-31 09:28:22 1176

原创 修改Eclipse代码补全Bug

作为一个IDE控,我喜欢持续不断地配置IDE以此达到开发速率的提升. 很早就发现Eclipse有一个bug,当我选择按任何字母都提升代码的情况下,会出现一个问题: 比如我输入 String s这个时候Eclipse就会提示让我变量名设置成string,可是如果此时我按下空格或者=,这个string就直接上屏了. 解决方案 http://tieba.baidu.com

2014-05-25 19:17:38 3941

原创 运行Lucene demo

新期待, 新气象 虽然告别了我为之钻研已久的C++/Linux/网络内心有点舍不得, 不过我总是告诫自己, 语言方面不要死扣的太深, 思想为上, 语法为下. 我是无聊的分割线 新单位用Lucene, 我按照官网搭了下环境, 也加深了对Java的理解 1. 安装JDK,JRE1.1 JDK和JRE的区别JRE主要是Java运行环境, JDK是开发包, JDK同

2014-05-25 17:15:16 1005

原创 system函数与LD_PRELOAD变量

一次简单的调试经历产品里使用了jemalloc来

2014-04-24 21:05:29 1946

原创 纵横交错地考查C++功底 [3]

问题现象:在公司里运行UnitTest的时候,发现运行时出现undefined symbol: 问题,后来经过检查发现是链接的时候多加了一个编译选项,导致链接并没有检查到没有link进去的库.// so.hvoid func();// so.c#include "so.h"#include "stdio.h"void func(){ printf("func\n"

2014-03-11 14:58:06 920

原创 纵横交错地考查C++功底 [2]

记一次调试C++问题的记录简化的代码如下:// test.cppclass AAAA{public: virtual void func() = 0; virtual void f2(); // no implementation};class BBBB: public AAAA{public: void func() {} void f2() {}};in

2014-03-07 12:15:54 730

原创 TCP接收端包顺序问题

今天我突然在思考一个TCP的问题:如果TCP丢包,那么recv能不能收到失去那个包的数据流.比如发送端发送A,B,C,D四个包,协议栈可能会发送A,BC,D,也就是把BC合成一个包发出去如果BC包丢失,那么接收端调用recv的时候会怎么样?我原本以为会收到A,D包,因为TCP貌似无法知道A和D包之间有没有别的包存在然后查阅网上资料得知TCP协议栈在收到一个包的时候会同时

2014-02-28 10:18:53 5655

原创 mem_fun和bind1st

研究了一下mem_fun和bind1st,bind2st区别代码如下,随后解释:class A{public: bool f(int i) { return i == 20; }};int main(){ vector v; v.push_back(10); v.push_back(20); v.push_back(30); A a; int c =

2014-02-26 16:04:10 962

原创 一次调试c++ bug的记录

这个bug的现象是从数据库中取出的一个值莫名被修改了,后来经过层层排查,发现公司代码中过度使用强制转换:为了所谓的面向对象和继承体系,在代码中写了无数次父类子类的强制转换这样的代码,一不小心就出bug了我记得effective c++上曾说到这点,(顺effective c++者昌,逆effective c++者亡)以下是出错代码的简化版,实际代码比这个复杂得多,牵涉到父类/子

2014-02-18 21:09:29 1111

原创 纵横交错地考查C++功底

转自http://blog.sina.com.cn/s/blog_491874bb010009m0.htmlstruct First{ virtual void FirstRun(void) = 0;};struct Second{ virtual void SecondRun(void) = 0;};struct Last: public Firs

2014-02-16 19:42:41 886

原创 Ubuntu12.04安装YouCompleteMe插件

1. 升级Vim 到7.42. 安装llvm & clang3. 下载 Vundle4. 编译ycm_core & ycm_support_libs5. 配置.ycm_extra_conf.py详细命令 TBD

2014-02-13 14:21:02 9233 3

原创 mysql触发器

最近在看数据库相关的东西,工作中貌似没怎么碰到,对于一些细节方面记得不是很深,于是复习之,记录中例子create trigger newperson before insert on person for each row set new.id = 'id001';Before与After区别:before:(insert、update)可以对new进行修改,aft

2014-02-03 10:19:09 797

原创 云深不知处

多年前写的老文,昨天无意间挖到了,贴出来回忆一下云深不知处本故事情节纯属虚构,如有雷同,纯属巧合剑,普通的剑剑快,不寻常的快剑影,悄无声息剑还是那把剑人却已不是那个人了这个小镇的西边有一个姓伊的门派,在那个门派的庭院附近,有个老头子经常卖猪肉给那门派,一身的旧衣服和那脏兮兮的环境,外加脸上岁月的划痕,让他从来没在众人的脑海中留过一丝印象.有一

2013-12-19 15:19:54 1061

原创 默写八皇后

在看Scala视频时,有个例子说是用Scala写八皇后,我突然想我现在能不能马上写出八皇后呢?于是打开IDE开始练习共计20分钟不到其中有十分钟是在写如何判断某一点上能否放一个皇后(横竖斜)这个速度还算是可以#include #include #include "string"#include "iostream"#include "fstream"#in

2013-12-17 13:27:21 869

原创 Coursera作业之哈夫曼编码树

https://class.coursera.org/progfun-003/assignment/view?assignment_id=15前言废话:此次作业比前几次花的时间更多,共用了大概6小时,其中有一道的瞄了一眼网友的思路(貌似他的solution还是错的,但是毕竟我还是瞄了一眼,给我了一些灵感和启发)还有一道题目是看了助教对于此题的一个小提示通过这几次的做题目,突

2013-12-15 00:07:38 2560

原创 coursera作业之面向对象的集合

第三次作业https://class.coursera.org/progfun-003/assignment/view?assignment_id=9题目:给定抽象基类TweetSet,表示一系列Tweet(就是墙外的那个推特)消息的集合(其实它的实现是一个二叉树)并给出了两个子类的部分函数实现,其中Empty类似于是一个空的Node, NonEmpty 是一个非空No

2013-12-11 21:49:17 1582

原创 coursera作业之(集合)函数对象

第二次作业这次作业做了大约两小时,大部分时间是花在了map和exists上其中map,我一开始的答案是  def map(s: Set, f: Int => Int): Set = {    x=>s(f(x)) // ERROR  }但是这样的话,因果关系就反掉了,假如s = {9}, f: x=>x/3那么最终的返回值其实是x=>s(x/3),也

2013-12-09 16:48:56 1316

原创 coursera作业之递归函数

第一次作业昨天看了一小时多的Scala视频,在一边练英语听力一边学函数式编程的情况下把第一周的课程看完了.于是开始做练习,发现函数式编程大部分都是使用递归,这让一直算法不好的我有很大的压力,但我想,连着简简单单的几个在线课程的练习都不会做的话,我的算法也算是废了.https://class.coursera.org/progfun-003/assignment/view?assignm

2013-12-08 13:14:46 2028

原创 c++笔记

构造函数不管子类有没有定义构造函数时,都会默认调用父类的构造函数拷贝构造函数如果子类没有定义拷贝构造,那么会默认调用父类的如果子类定义了拷贝构造,那么不会默认调用父类,必须自己显式调用这也就是为什么如果子类自己定义了拷贝构造函数,即使继承自 boost::noncopyable,仍然可以拷贝的道理了以下代码编译OKclass B: boost::nonc

2013-11-24 08:59:37 642

原创 c++调试UnitTest(问题代码在so库里)的方法

前言废话:今天在公司里练习了如何用gdb来调试code,感觉还是挺复杂的,特别是code的问题出在so里虽然上周通过肉眼发现了问题到底在哪里,但是这毕竟是最傻的方法,作为c++ coder,我们要用native的工具来辅助自己完成debug工作等到下次,我就会真正地用gdb来做调试了^_^precondition:所有的包都是-g编译出来的要调试的问题在so库里已经

2013-11-04 16:10:19 1326

原创 在神仙打架中学习

这几周一直在看muduo网络库的那本书,本以为是本好书,想不到仍然被人吐槽,因为曲高和寡,能吐槽这本书的人能力也一定非凡.正所谓神仙打架,凡人学习http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763104597711923dc3479968f5325c3933fcf331d5

2013-11-03 21:41:15 817

原创 学习多线程同步之智能指针巧用

muduo发明了一种技巧(不知道是不是业界常用的)用MutexLockGuard来保护智能指针shared_ptr,以此实现类似于读写锁的功能:shared_ptr > _data;1) 当reader要获取_data时,shred_ptr引用计数+12) 当writer要写_data时,判断是否当前线程是_data的唯一拥有者,如果不是,那么拷贝一份_data,更新新的_da

2013-10-27 16:59:27 1760

原创 多线程学习之锁和事件

相关API:pthread_cond_signal/SetEventpthread_cond_wait/WaitForSingleObject0) windows上叫做事件Event,Linux上叫做条件变量cond1) 事件的状态分为有信号(signaled)和无信号(unsignaled),有时也成为置位和重置2) 当事件unsignaled时,wait会阻塞直到事件s

2013-10-27 13:04:50 834

转载 生产者消费者程序

// 网上摘录的生产者消费者程序#include #include #include #include #include #define N 2 // 消费者或者生产者的数目#define M 10 // 缓冲数目int in = 0; // 生产者放置产品的位置int out = 0; // 消费者取产品的位置int buff[M] ={ 0 }; // 缓冲初始

2013-10-26 15:17:49 1553

原创 坐井观天

今天看了muduo那本书,获益匪浅啊,原本以为自己看了effective系列,侯捷的所有著作和译著,exceptional系列也有所涉猎,c++能力算是可以了,再加上平时喝同事们扯扯,发现工作多年的人c++都不一定比我了解,于是坐井观天,夜郎自大了起来.但是阅读了这本书的前20页之后发现,自己的c++功底在工业级别的c++代码这个level上仍然属于c++主义初级阶段.很多工作上才会遇到的诸如

2013-10-26 14:16:56 668

原创 简单程序Perl C++的效率比较

之前要处理一个25W行的文件,用shell,慢的简直不能忍,即使优化了把那种通过管道启动新程序的脚本,如echo 'aaa' |grep xxx这种去掉,也用了7分钟,于是乎,我又拿起了2年前用的perl重写一份,耗时0.6秒 !!!real    0m0.647suser    0m0.560ssys    0m0.032s本着我是c++爱好者的兴趣,我用c+

2013-10-16 11:39:07 1286

原创 单链表的排序思路

今天看了一下单链表的排序,目前有两种方法:1. 值替换另指针x,y同时指向head,之后y=y->next,当找到一个大于pilot时,与x的值替换,同时x=x->next,当y到底的时候,x的位置就是中间位置,以此递归2. 链表替换另x=head,y=tail,之后x=x->next,当x的值大于pilot时,添加此node到y,然后y=y->next,当x到原先的head时,x

2013-09-28 18:05:13 913

原创 快速排序的坑

写了程序这几年,连个快速排序都默写不出来,我真是担心我的前途未来以下是一些细节要注意的地方,不过我相信很多人如果默写快排的话也会死在这几点上的#1:&& (i #2:这行最重要了,如果这个判断不加的话,当i==j且pData[i]==middle的时候就死循环了#4:不加就死循环了PS:网上查了一些快排的算法,很多也是错的void Qui

2013-09-20 09:01:20 756

原创 ISC cron tool code analysis

typedef struct _user { struct _user *next, *prev; /* links */ char *name; time_t mtime; /* last modtime of crontab */ entry *crontab; /* this person's crontab */} user;typedef struct _cron_

2013-08-18 09:35:02 660

原创 生病无追求ing

这几个月光顾着玩游戏,光顾着感受着与人打交道的冷暖伤寒,技术上的进步真是一点也没有.产品架构也仅仅了解了一点点,领域知识几乎为零.C++的进步也为零,难道是因为过去的C++功底实在是过于深厚所致?进了新部门反而学不到什么语言级的知识,貌似周围的同事还不如我扎实?猜测而已.

2013-08-09 09:46:30 644

原创 戏如人生

戏如人生2013.5.19 伴随着无聊的PG项目的终结,我也开始感到无所事事起来,就在很偶然的机会里,继续了魔力的旅程,也开启了,新人生感悟的篇章.想写这篇文章很久了,却总是难以起头,因为想说的感悟实在是太多了,联系到自身,性格,命运,经历,待人处事和社会上的交际等等一切,玩一个游戏,竟然能有如此多的感悟,也算是个奇遇了.待人篇:古人云,投以木桃,报以琼瑶.在虚拟世界里,混子虽不少

2013-08-04 11:21:21 713

原创 吐槽文章,明文不显示

5paw5Lq655y85Lit55qERQoK56m/552A6ams55SyLOWGmeeCueS4nOilvyzmnaXnpa3lpaDmiJHpgqPokazpgIHkuo7mraTnmoTpgqPmrrXlsoHmnIguCuadpei/memHjOaXtumXtOW+iOefrSzlrp7kuaDkuIDlubQs5YWl6IGM5LiA5bm0LOato+Wlvei1tuS4iuS6

2013-07-13 14:56:59 1525

原创 vim高亮关键字

之前我改了某网友的一个脚本,以此实现高亮c\c++里的一些关键字,如类名,linux下的一些函数等,后来发现索引生成的太慢,在我虚拟机里竟然要3分钟左右,于是我怀疑可能是vim脚本所致,后来我就用c++重写了一份,速度变为了只有半秒,秒杀vim脚本啊.https://github.com/terryzhu/myconfiguration/blob/master/.vim/plugin/high

2013-05-12 16:39:31 3872

原创 原有日记向Evernote迁移

目的: 以前用了一个很不知名的日记软件,现在想把旧的日记迁移到Evernote上去现状: 我的原有的日记有两种格式1) 格式如下:2012/12/12日记内容,XXXXX日记内容,XXXXX2012/12/13另一篇日记内容,XXXXX2) 格式如下:有N个rtf文件,每个文件名都是类似于Diary110202.rtf日记内容就是普通的文本步

2013-05-08 08:52:53 1639

原创 [五一随想] 生活长乐

此文与IT无关 = =最近因为一直眼睛非常疲劳,却苦于找不到解决之法,因为工作日每天八小时的工作时间盯着电脑看是逃不掉的,然后呢,休息天不玩电脑就感觉一整天没啥事情做,除了看会书.(╯﹏╰)b,宅男的悲哀啊. 但欲求上进的我岂能在这大好的九天长假里无所事事呢,于是列出减肥计划,目标是3斤.看来我果然是毅力非凡之人,轻松加愉快地完成了目标,记录在evernote上.完成之后呢,继续没

2013-05-05 11:30:48 955

原创 写好代码 [comments after India project]

这几天项目里事情不忙,我就向DY询问对我的一些comments,想不到由此引发了他给我开小灶讲解如何把代码写得更加优雅.记下笔记:1. Code could be written shorter, functionality is easy to implement, but we need to write it well.2. Refactor had better not

2013-04-28 11:07:57 715

原创 C\C++\Java字符串拼接比较

C\C++\Java字符串拼接比较:昨天买好小米盒子,自己折腾了一会然后就教会老妈怎么玩,怎么看还珠格格之后,我闲来无事,突然想起了上次一个项目处理字符串遇到的性能问题,然后就仔细考虑了一下,越考虑发现需要注意的越多,于是开了ubuntu虚拟机测试一下(我的host机器是i7 Q740 四核八线程):C语言版本是直接用strncpy,纯内存字节流操作C++第一个版本用到了std::

2013-04-13 15:18:32 3667

原创 Gentoo学习笔记

Gentoo learning notes原文在:https://github.com/terryzhu/gentoonote准备工作准备环境我本机电脑是Intel Core i7 四核八线程,固态硬盘,给虚拟机分配的是8G硬盘,256M内存,两个核给它后来发现硬盘8G太少,装完KDE图形界面之后就只剩下2G不到了,内存也太小,只用Terminal时

2013-04-02 20:32:51 1855 2

Windows程序设计

基础篇 1. 开始 2. Unicode简介 3. 视窗和讯息 4. 输出文字 5. 图形基础 6. 键盘 7. 滑鼠 8. 计时器 9. 子视窗控制项 10. 功能表及其他资源 11. 对话方块 12. 剪贴簿 图像篇 13. 使用印表机 14. 点阵图和Bitblt 15. 与装置无关的点阵图 16. 调色盘管理器 17. 文字和字体 18. Metafile 19. 多重文件介面 20. 多工和多执行绪 21. 动态连结程式库 22. 声音与音乐 23. 领略Internet

2009-07-24

Design Patterns in Practice

侯捷到我们学校上课时候的讲义材料,我明年才能上,所以里面内容也不是很清楚,好像是讲高级STL的

2009-07-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除