自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

趴趴熊的专栏

Linux Kernel/Filesystem 保持健康年轻的心态,I Love this game!

  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 tensorflow 解读开篇

tensorflow 解读开篇概述TensorFlow计算图描述Tensoroperator and opkernel1. op interface2. op kernel的实现调试篇参考概述深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,下面列出目前一些主流的深度学习开源工具。工具名称维护团体支持语言支持系统TensorFlowGoogleC++、P...

2019-05-09 14:38:03 287

原创 oprofile 安装指南

安装oprofile运行./configure,发现ubuntu 9.04缺少popt、ibertyconfigure: error: popt library not foundsudo apt-get install libpopt-dev 搞定configure: error: liberty library not foundsudo apt

2014-06-15 09:16:55 992 4

转载 一致性hash算法

[转]http://yacare.iteye.com/blog/1973022 1、   情景分析前一篇博文分析了HashMap源码,HashMap在许多场景中作为存储数据的不二选择。但是否使用HashMap就能解决所有在空间和时间的均衡问题??下面考虑使用HashMap的二个极端情景:原来有 N 台Server,所有数据通过一种 hash 算法(以hash(k

2014-01-03 19:35:41 640

转载 缓存设计的一些思考

转载:http://www.nosqlnotes.net/archives/222 互联网架构中缓存无处不在,某厂牛人曾经说过:”缓存就像清凉油,哪里不舒服,抹一下就好了”。高品质的存储容量小,价格高;低品质存储容量大,价格低,缓存的目的就在于”扩充”高品质存储的容量。本文探讨缓存相关的一些问题。LRU替换算法缓存的技术点包括内存管理和替换算法。LRU是使用最多的替换算法,每次淘汰

2013-12-11 21:37:11 634

转载 优秀开源组合:助你快速研发

[转载] http://blog.chinaunix.net/uid-20682147-id-3377371.html 离线计算Hadoop实时计算Storm资源管理和调度Mesosthrift RPC类库boost内存分配tmalloc性能瓶颈检测perftools内存检测工具valgrind分布式协调服务zookeeper日志glog命令行参

2013-12-10 17:07:04 561

原创 c++ static assert

boost static assert 64bit

2013-12-09 19:39:12 1090

原创 Oprofile性能优化 && FAQ

Linux oprofile 性能优化

2013-12-06 18:33:22 1118 1

转载 Linux文件系统从磁盘读页面

1. 引言 在我前面的博客中详细分析了Linux页面缓存的实现机制,包括各种数据结构以及之间的关联。本篇专栏中我们将会详细讨论文件系统如何从磁盘上读出一个页面。我们知道,文件系统以页面(page,默认大小4096字节)为单位缓存文件数据,而早期的Linux中是以buffer head结构组织文件缓存的。每个buffer head数据大小与文件系统块大小相同,在当前版本操作系统中,page和

2013-10-06 14:38:45 1932

转载 Linux文件写过程分析一(写过程中的锁)

【转】tracymacding的博客 http://tracymacding.blog.163.com/blog/static/212869299201301381838154/ Linux文件写过程分析一(写过程中的锁) 1. 前言本篇博客主要关注Linux文件的写过程在内核的处理流程,写过程的处理比较复杂,有许多细节问

2013-10-06 12:05:04 1635

转载 hash函数的选择

原创:http://blog.chinaunix.net/uid-24830931-id-3840085.html 对于不同的业务场景,可能需要选择各自合适的hash函数。对于url等变长字符串选为key的情况,可以考虑选择murmur hash:https://sites.google.com/site/murmurhash/murmur hash已经用于nginx, l

2013-09-28 10:56:28 2574

转载 大内核锁将何去何从

转载至此,并对原文作者表示敬佩~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~大内核锁将何去何从转载处的原文作者:universus    大内核锁这个简单且不常用的内核加锁机制一直是内核开发者之间颇具争议的话题。它在早期linux版本里的广泛使用,从2.4内核开始逐渐被各种各样的自旋锁替代,可是直到现在还不能完全将

2012-12-10 20:02:04 452

原创 原子操作

初次接触到原子操作这个概念是在接触Linux内核的时候。不同的平台实现的机制也不一样。什么是原子操作? 简单的说就是在执行过程中不会被别的代码路径所中断的操作。我们来看看X86平台的实现。原子操作的定义:typedef struct { volatile int counter; } atomic_t;volatile修饰字段告诉

2012-12-09 13:45:36 755

原创 Linux内核在线源码

Linux内核在线源码网址:http://code.woboq.org/linux/linux/   带有函数调用关系等 http://lxr.linux.no/    版本选择比较多

2012-12-02 21:36:39 8369

原创 读写锁分析

最近要做一个FS多线程优化的项目:初步想法是将原来的静态锁去掉,换成并发性能更好的读写锁。我这里只是做个知识储备。我们先看下源码:int__pthread_rwlock_init (rwlock, attr) pthread_rwlock_t *rwlock; const pthread_rwlockattr_t *attr;{ const struc

2012-12-02 21:21:59 1976

转载 AVL平衡树的旋转

AVL平衡树的旋转 平衡二叉树在进行插入操作的时候可能出现不平衡的情况,AVL树即是一种自平衡的二叉树,它通过旋转不平衡的节点来使二叉树重新保持平衡,并且查找、插入和删除操作在平均和最坏情况下时间复杂度都是O(log n)      AVL树的旋转一共有四种情形,注意所有旋转情况都是围绕着使得二叉树不平衡的第一个节点展开的。1. LL型    平衡二叉树某一节点的左孩子的左子树

2012-06-05 19:30:54 1229

转载 内核hlist链表

出处:http://hi.baidu.com/kwokwing0011/blog/item/cfde8337e575950191ef3912.html内核中的定义:struct hlist_head {    struct hlist_node *first;};struct hlist_node {    struct hlist_node *next,

2012-01-27 09:09:38 447

转载 快速排序及优化

转:http://rdc.taobao.com/team/jm/archives/252 quicksort可以说是应用最广泛的排序算法之一,它的基本思想是分治法,选择一个pivot(中轴点),将小于pivot放在左边,将大于 pivot放在右边,针对左右两个子序列重复此

2011-08-29 21:31:15 677

原创 qvfb图形引擎

<br />为实现自己的GUI,首先得有图形引擎与硬件交互,qvfb是一个模拟framebuffer的环境。<br />下载qvfb-1.1.tar.gz<br />安装步骤:<br />1)./configure<br />2) make<br />3) make install<br />在./configure时可能会出现如下问题:<br />1):Can't find X includes. Please check your installation and add the correct pat

2011-04-13 22:22:00 954

原创 交叉编译器环境搭建

       最近入手了S3c2410的开发板,想构建自己的开发环境,真正步入嵌入式开发。     当然最棘手的还是搭建嵌入式开发的环境。当然我也不是一帆风顺,在这里我也只是抛砖引玉,分享一下我所走的路。     我的环境是:Ubuntu  +  S3c2410. 刚开始尝试用光盘的交叉工具链,但在Ubuntu属于Debian,其打包方式和Red Hat的打包方式还不太一样,当然网友也提出用alien,把rpm包转换成deb包,sudo alien XXXX.rpm。尝试了一下,还是不行。于是决定另找一个工

2011-04-10 21:12:00 571

转载 CTO门的宝贵经验[转]

<br />   CTO门的宝贵经验<br />1.越界是最难查的,注意memcpy strcpy,strncpy这些函数使用前一定要检查边界<br />特别是你提供函数给别人用时,你的函数中用到了这些东西,一定要检查别人传给你的指针的边界<br />2、变量初始化<br /> 这种问题要养成好习惯,否则出来偶然性问题,非常难查<br />3、多线程指针管理<br /> 在多线程环境下使用指针时,最好采用引用计数,让最后一个放充引用计数时,指针删除,避免一个线程在使用指针,另外线程删除掉<br />4、多线

2010-12-25 10:22:00 456

原创 相思引

   12.25日 雪后  圣诞节雨一程,雾一程,身向那畔心不行,夜上初华灯。风一程,雪一程,挑灯相思梦不成,雪落已无声。

2010-12-25 09:41:00 588

原创 无题2

     杭城11月27日  乱 江城有佳人, 杭城才相稔。 心弦几拨紊, 情已悄留痕。

2010-11-27 08:10:00 442

原创 藏头诗一首

<br /> <br />         11月13日,for ltt<br />钱江河畔忽闻音,<br />杨柳依依听风吟。<br />西子长亭接短亭,<br />韶华追忆醉人心。

2010-11-14 09:12:00 1206

原创 似水年华

<br />我们喜欢的, <br />要么错过了, <br />要么已经名花/草有主了; <br />喜欢我们的, <br />总觉得缺少一种感觉。 <br />于是我们报着追求真感情的态度, <br />寻找爱情, <br />可是总觉得交际面太窄, <br />没有办法认识理想的类型; <br />于是我们报着宁缺毋滥的态度, <br />自由着, <br />孤单着。 <br />有时候我们想寂寞的时候有个可以想念的人, <br />有时候我们想孤单的时候有个可以说话的人, <br />有时候我们想难

2010-10-25 22:00:00 479

原创 杭城十月

<br />   杭城十月<br />         10月杭城,心旷神怡<br />窗外雨淅沥,<br />入秋夜微凉。<br />落花轻坠地,<br />暗香悄四溢。<br /> <br /><br /> <br /> 

2010-10-17 12:51:00 1041

原创 无题

<br /> 无题<br />      10月14日,杭州,小雨<br />脉脉终无语,浅浅惹人醉。<br />心中有结郁,落寞我如君。

2010-10-14 21:16:00 383

原创 美好的事情

         淡淡的美好,汇流成河,成为幸福。-----匿名        1.听到最喜欢的歌 2.与喜欢的人相拥在沙发上看一部电影(。。。) 3.赢得一场真正有竞争力的比赛 4.哈哈大笑(没心没肺的那种) 5.结交新朋友或与老朋友在一起(朋友不在多,在精!) 6.甜美的好梦(好久不做了) 7.在去年穿过的冬装外套里找到20块钱(有一次发现10块钱) 8.看日出(当然看夕阳也( ^_^ )不错嘛) 9.躺在床上听屋外的雨声(点点滴滴,深入人心)

2010-10-06 08:43:00 504

原创 我们二十三四...

<br /><br />我们二十三四,告别了熬夜和赖床,开始了朝九晚五的生活;<br />我们二十三四,开始工作,接触形形色色的人和事;<br />我们二十三四,留恋学校,即使是那个你口中很差的大学;<br />我们二十三四,开始讨厌喧闹,喜欢亲近自然,健康生活;<br />我们二十三四,偶尔寂寞,偶尔莫名的失落;<br />我们二十三四,没有了年少轻狂,多了成熟稳重;<br />我们二十三四,有时想哭,却脸上还在笑;<br />我们二十三四,在乎某个人,却装作不在乎;<br />我们二十三四,有时很闲,却

2010-09-29 17:30:00 493

原创 【转】如何融入一个城市

买一份城市地图,然后走通它。开车、打车、坐车、骑车或徒步,都行。 想快速熟悉本城地标,就报名参加本城一日游。 把手机号换成本城的号码,全球通、神州行、动感地带、中国联通,都行。印在名片上,并知会所有熟人。 在本城的银行开一张实名存折,你在本城的财富积累从此起步。 找一份工作。至少你从此有了一个收信地址。 若暂时没找到工作,或想休息一阵,就去附近邮局租一个专属于你的邮箱,这样也能有固定的通信地址。 上街去,找到对味的时装店、餐饮店、运动场所、休闲场所,并不时光顾帮衬;它们有机会成为你的精神能得到

2010-09-26 22:22:00 787

原创 无题

            近阶段,接手Lua插件开发。今天,被主管叫去聊天,无需做作,畅所欲言。交谈之 中,回顾工作,真的发现自己没有做出什么成就,原来自己坚持的:工作就是工作,提高自己 才是主要的思想,在主管,别人面前是那么苍白。提高自己的目的是什么?还不是为了做好 工作,做出一番成就。       主管并没有想象中的那么冷漠,不易接近。反而让我感到了希望,像初中,高中老师一 样那种feelingO(∩_∩)O~。      机会总是垂青有准备的人,也许我还

2010-09-14 19:14:00 415

转载 HTTP POST GET 本质区别详解

<br />原文出处:http://blog.csdn.net/gideal_wang/archive/2009/07/02/4316691.aspx<br />一 原理区别 <br />    一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交<br />Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE <br />URL全称是资源描述符,我们可以这样认为:一个UR

2010-08-24 19:04:00 413

原创 C++ 封装POSIX线程

<br />       我们通常有这样的需求:需要在C++中用多线程处理可以并行处理的问题,且把线程函数封装在类中,而把线程函数封装在类中,导致了this指针作为默认的参数被传进了函数中,从而和线程函数参数不能匹配,不能通过编译。 <br />一般有以下几种解决方案:<br />1. 将线程函数作为全局函数, 从而避免了this指针作为隐含参数的作怪行为,但这样线程函数却无法访问类中的私有变量,此为一大缺憾。<br />解决方案: 是把所有的私有变量变为全局变量,这样极大程度上破坏了类的封装性。<br /

2010-08-22 08:17:00 980

原创 vector和map的erase问题

<br />STL map的不经意的小问题<br />// erasing from map#include <iostream>#include <map>#include <iterator>using namespace std;int main (){ map<char,int> mymap; map<char,int>::iterator it; // insert some values: mymap['a']=10; mymap['b'

2010-08-16 23:08:00 1954

转载 桥接模式(Bridge Pattern)

 桥接模式(Bridge Pattern)作者:TerryLee<br />出处:http://terrylee.cnblogs.com  <br />在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。<br />意图<br />将抽象部分与实现部分分离,使它们都可以独立的变化。[GOF 《设计模式》]<br />结构图<br /><br /

2010-06-26 21:22:00 600

转载 Command模式

<br />  <br />来自http://tech.ddvip.com   2008年10月10日    社区交流<br />     <br />     一、Command模式定义:<br />  将一个请求封装为一个对象,从而使你不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。<br />  二、模式解说<br />  Commad模式是一种对象行为模式,它可以对发送者(sender)和接收者(receiver)完全解耦(decoupling)。("发送者" 是请求操作

2010-06-24 20:37:00 505

原创 工厂模式

<br />将程序中创建对象的操作,单独出来处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。<br />结构图:<br /> <br />示例代码:<br />#ifndef _PRODUCT_H#define _PRODUCT_Htypedef int ProductId;#include <iostream>using namespace std;enum {typeA=1,typeB,typeC};class Product{

2010-06-09 16:40:00 422

原创 策略模式

<br />在工作中老是看到一大串的 switch,if…else语句,这样的程序分支太多,可谓是丑陋的代码。用策略模式可以部分解决这种问题。我们定义一系列的策略,这样就可以根据客户改变策略。比如做网络协议的时候,客户有自己的协议,我们只需把客户的协议封装好,替换原有的策略,也就是原来的协议就好了,而不用大量的switch判断。<br />       结构图:<br /><br />示例代码:<br />#ifndef _CONTEXT_H#define _CONTEXT_H#include "S

2010-06-09 12:21:00 376

原创 设计模式之观察者模式

<br />个人觉得观察者模式是继单件模式最常用也是最有用的模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。这是一种重要的解耦方式。<br />结构图:<br /> <br /><br />代码:<br />#ifndef _OBSERVER_H#define _OBSERVER_Hclass Subject;class Observer {public: // virtual ~Observer();

2010-06-07 22:35:00 425

原创 适配器[Adapter]

        Adapter简单的比喻就是把二相插座装换成三相插座,也就是接口转换器。意图使原来不兼容的接口可以和其他接口配合使用。类图:     自己写的简单代码实例:// Shape.h#include class Shape{ public: virtual void draw() { std::c

2010-05-27 22:50:00 520

原创 单件模式[Singleton]

      单件模式是项目中用的最多的,创建一个实例且仅有一个实例,提供一个全局的对象访问。     下面是它的结构图:            单件模式的优点:          1)比如说有些情况只能创建一个实例,像系统只能有一个打印假脱机,有些软件支持多个        实例:QQ,VC。。。,而有些软件不支持多个实例,像迅雷,有道词典。。。        2)其实创建

2010-05-26 22:36:00 449

HDU AC code

自己AC的一些杭州电子科技大学的代码,仅供参考。

2009-10-02

空空如也

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

TA关注的人

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