自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (6)
  • 收藏
  • 关注

转载 memcached命令

Standard ProtocolNo ReplyStorage CommandssetaddreplaceappendprependcasRetrieval Commandsgetgetsdeleteincr/decrStatisticsstatsstats itemsstats slabsstats sizesflush_all

2015-04-02 19:48:33 489

转载 Memcached常用命令及使用说明

Memcached常用命令及使用说明一、存储命令存储命令的格式:12<command name> <data block>参数说明如下:set/add/replace查找关键字客户机使用它存储关于键

2015-04-02 19:46:36 564

转载 Memcached源码分析之网络模型篇

Memcached源码分析之网络模型篇博客分类: linuxcNetwork memcached 采用多线程的工作方式, 主线程接收连接, 然后把连接平摊给工作线程, 工作线程处理业务逻辑, memcached 使用 libevent 处理网络事件, 主线程和工作线程都有一个 event base, 这是 libevent 的核心数据

2015-04-02 19:45:03 432

转载 Memcached源码分析之内存管理篇

Memcached源码分析之内存管理篇博客分类: linuxc使用命令 set(key, value) 向 memcached 插入一条数据, memcached 内部是如何组织数据呢 一 把数据组装成 itemmemcached 接受到客户端的数据后, 把数据组装成 item, item 的格式如下:    图1

2015-04-02 19:43:42 458

转载 vim + taglist + ctags + cscope 简单使用

vim + taglist + ctags + cscope 简单使用博客分类: linuxvimtaglistctagscscopectags用来跳转, taglist用来列出当前文件的变量, 函数, 宏. cscope用来查找符号一 使用ctags1 在源码目录创建tag文件cd /home/ken

2015-04-02 19:41:29 472

转载 Memcached原理深度分析详解

Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,加深对memcached的使用方式

2015-04-02 19:29:19 608

转载 Android WebView的Js对象注入漏洞解决方案

1,使用场景我们很多时候要使用WebView来展示一个网页,现在很多应用为了做到服务端可控,很多结果页都是网页的,而不是本地实现,这样做有很多好处,比如界面的改变不需要重新发布新版本,直接在Server端修改就行了。用网页来展示界面,通常情况下都或多或少都与Java代码有交互,比如点击网页上面的一个按钮,我们需要知道这个按钮点击事件,或者我们要调用某个方法,让页面执行某种动作,为了实现这些

2015-03-17 19:01:40 588

转载 S3C6410 NAND启动流程

S3C6410 NAND启动流程分类: 嵌入式ARM-Linux2013-01-30 23:40 861人阅读 评论(4) 收藏 举报nand启动s3c6410        S3C6410和2440的NAND启动流程大体一样,也有一些区别。这篇文章主要目的是梳理下S3C6410 NAND启动流程,也给这几天的学习来个总结。        S3C6410

2015-03-17 18:46:59 521

转载 linux的物理内存与线性地址空间布局--2

linux的物理内存与线性地址空间布局--22009-12-21 21:48 2358人阅读 评论(1) 收藏 举报linuxstruct存储x86算法   Linux内存线性地址空间大小为4GB,分为2个部分:用户空间部分(通常是3G)和内核空间部分(通常是1G)。在此我们主要关注内核地址空间部分。

2015-03-17 18:46:09 449

转载 android – 多屏幕适配相关

android – 多屏幕适配相关作者: 曲天日期: 2011/10/271、基本概念屏幕大小(screen size) – 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸)。android把屏幕分为以下4种:small,normal,large,extra large。怎么判断?屏幕密度(Screen Density) -  一块实际的屏幕区域

2015-03-17 18:45:31 451

转载 FragmentTabHost切换Fragment时避免重复加载UI

使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。        解决办法:在Fragment onCreateView方法中缓存View[java] view plaincopy    private Vi

2015-03-17 18:43:41 577 1

转载 JVM垃圾收集算法及垃圾收集器

今天来总结一下最近学习到的JVM垃圾收集算法和垃圾收集器。原来以为这部分知识,对于一个Java程序员的用处不大,可是如果你的运营Web项目,出现了性能问题,那么这部分知识可以帮助你从运维的角度来优化你的项目。      首先,先讲一下JVM的垃圾收集算法,因为这是学习垃圾收集器的前堤。各种垃圾收集器也都是基于这些算法来实现的。JVM垃圾收集算法      JVM垃圾收集算法

2015-02-13 13:37:06 484

转载 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算(终结版)

首先,说下概念(网上很多帖子几个地方都搞混了,理一下):dip : device independent pixels ,设备无关像素。 我看很多帖子写的五花八门的,关于d的,什么display啊各种都有,既然是设备无关,我还是觉得device靠谱。   dp就是dippx : 像素不多说dpi :dots per inch , 直接来说就是

2014-12-25 13:20:07 776

转载 Android 获取屏幕尺寸与密度

遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适。有的同事提出了依据分辨率来区分不同的屏幕,但是单WVGA就支持好几种不同的分辨率,QVGA又支持好几种。。。而且更神奇的时候,有时候,通过代码获取屏幕分辨率竟然得到了 320 x 427 ,Android文档是不支持这种分辨率的,所以依据分辨率来区分不同的屏幕

2014-12-25 13:18:31 533

转载 JVM监控工具

JVM监控工具Java的安装包自带了很多优秀的工具,善用这些工具对于监控和调试Java程序非常有帮助。常用工具如下:jps 用途:jps用来查看JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。常用参数:-l: 输出完成的包名称;-m: 输出程序的命令行输入参数;-v: 输出完整的JVM参数。jstack 用途

2014-11-04 16:58:29 610

转载 Java之内存分析和String对象

Java之内存分析和String对象  Java中内存分析:  栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)。  堆(heap):存放所有new出来的对象。  常量池(constant pool):在堆中分配出来的一块存储区域,存放储显式的String常量和基本

2014-09-25 13:03:15 663

转载 内核分配不连续页 - vmalloc

内核分配不连续页 - vmalloc分类: Linux Kernel2013-07-14 11:42 864人阅读 评论(0) 收藏 举报 当buddy系统还有大量的连续物理内存时,我们可以通过__pages_alloc成功分配很大的一块连续物理内存空间,随着系统运行时间加长,buddy系统内很难中找到一块大的连续物理内存空间,因此__pages_alloc可能会失败,即便

2014-09-09 14:07:20 695

转载 linux2.4.19下__ioremap和get_vm_area的粗略理解

linux2.4.19下__ioremap和get_vm_area的粗略理解文章来源:http://gliethttp.cublog.cn  对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB.进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间.用户空间地

2014-09-09 13:51:04 1038

转载 linux的物理内存与线性地址空间布局--2

linux的物理内存与线性地址空间布局--22009-12-21 21:48 2358人阅读 评论(1) 收藏 举报linuxstruct存储x86算法   Linux内存线性地址空间大小为4GB,分为2个部分:用户空间部分(通常是3G)和内核空间部分(通常是1G)。在此我们主要关注内核地址空间部分。 

2014-09-09 13:49:52 723

转载 linux的物理内存与线性地址空间布局--1

linux的物理内存与线性地址空间布局--1分类: Linux内核2009-12-21 21:21 5686人阅读 评论(4) 收藏 举报linux存储linux内核嵌入式平台x86目录(?)[+]在支持MMU的32位处理器平台上,Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚

2014-09-09 13:48:17 625

转载 S3C6410 NAND启动流程

S3C6410 NAND启动流程分类: 嵌入式ARM-Linux2013-01-30 23:40 862人阅读 评论(4) 收藏 举报nand启动s3c6410        S3C6410和2440的NAND启动流程大体一样,也有一些区别。这篇文章主要目的是梳理下S3C6410 NAND启动流程,也给这几天的学习来个总结。        S3C6410

2014-09-05 16:16:31 572

转载 Java threadpool机制深入分析

Java threadpool机制深入分析博客分类: javaconcurrencymultithreadingjava 简介    在前面的一篇文章里我对java threadpool的几种基本应用方法做了个总结。Java的线程池针对不同应用的场景,主要有固定长度类型、可变长度类型以及定时执行等几种。针对这几种类型的创建,java中有一个专

2014-09-03 16:51:59 795

转载 java collections集合类总结:概述

java collections集合类总结:概述博客分类: javacollectionsumljava collections简介    在java的包java.util和java.util.concurrent里面定义了java的集合类框架。我们大部分日常使用到的数据结构都可以在这里找到一个对应的实现。在以往的学习过程中可能会接触过一些具

2014-09-03 16:51:18 624

转载 java concurrency: ConcurrentHashMap

java concurrency: ConcurrentHashMap博客分类: javaconcurrencymultithreading引言    以前有几次碰到过一个有意思的多线程问题,当时的场景看起来比较简单。有两个线程,他们都需要写数据到统一的一个数据结构里,因为这两个线程是相互独立的,在他们执行的过程中我们将每个线程的一组名值对输出。

2014-09-03 16:41:43 732

转载 Java HashMap的死循环

疫苗:Java HashMap的死循环2013年5月10日陈皓发表评论阅读评论41,563 人阅读    在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的Has

2014-09-03 16:39:32 604

转载 Static 变量存储在JVM中的位置[转]

方法区 在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来的。类(静态)变量也存储在方法区中。 jvm实现的设计者决定了类型信息的内部表现形式。如,多字节变量在类文件是以big-endian存储的,但在加载到方法区后,其存放形式由jvm根据不同的平台来具体定义。 jvm在运行应用时要大量使用存储在方法区中的类型信息。在

2013-09-06 19:43:03 7372 1

原创 mongodb源码分析-数据插入

(-)mongdb启动代码流程-------db.cpp-----main--mongoDbMain----initAndListen------_initAndListen---------Listen------------createServer(options, new MyMessageHandler() );------------start

2013-08-21 19:31:28 1444

原创 mongodb主从复制部分源码分析基础

(一) mongodb 官网对主从复制锁部分的说明How does concurrency affect a replica set primary?In replication, when MongoDB writes to a collection on the primary, MongoDB also writes to the primary’s oplog, whi

2013-08-13 17:19:12 951

原创 mongodb副本集源码实现-基础

副本集源码实现1. 启动流程db.cppmainmongoDbMaininitAndListen_initAndListenListencreateServer(options, new MyMessageHandler() );startReplication这里主要分析startReplication函数2.startReplicatio

2013-08-13 17:17:56 1066

原创 CToolBarCtrl和CToolBar区别

<br /> CStatusBar 和CStatusBarCtrl以及CToolBar和CToolBarCtrl均是继承自CWnd类。<br />CToolBar和CStatusBar都是在control bars 类中的封装,而CStatusBarCtrl和CToolBarCtrl都是在controls 类<br />中的封装。<br />CToolBarCtrl和CStatusBar由于它们只是简单地封装了API而没有增加附加的功能,<br />所以由它们所创建的工具栏和状态栏不会比API版本增加更多的

2011-04-13 16:03:00 1439

原创 CToolBarCtrl和CToolBar区别

<br /> CStatusBar 和CStatusBarCtrl以及CToolBar和CToolBarCtrl均是继承自CWnd类。<br />CToolBar和CStatusBar都是在control bars 类中的封装,而CStatusBarCtrl和CToolBarCtrl都是在controls 类<br />中的封装。<br />CToolBarCtrl和CStatusBar由于它们只是简单地封装了API而没有增加附加的功能,<br />所以由它们所创建的工具栏和状态栏不会比API版本增加更多的

2011-04-13 16:03:00 845

原创 CListCtrl 风格

<br />http://blog.csdn.net/wuyijc/archive/2009/02/26/3938871.aspx

2011-04-08 08:50:00 493

原创 Microsoft Message Queuing介绍

<br />http://blog.csdn.net/tyrone1979/archive/2007/09/26/1802063.aspx

2011-04-08 08:50:00 512

原创 利用MFC的Csocket类实现网络通信

<br />近年来,利用Internet进行网际间通讯,在WWW浏 览、FTP、Gopher这些常规服务,以及在网络电话、多媒体会议等这些对实时性要求严格 的应用中成为研究的热点,而且已经是必需的了。Windows环境下进行通讯程序设计的最基本<br />    近年来,利用Internet进行网际间通讯,在WWW浏 览、FTP、Gopher这些常规服务,以及在网络电话、多媒体会议等这些对实时性要求严格 的应用中成为研究的热点,而且已经是必需的了。Windows环境下进行通讯程序设计的最基本方法是应用Win

2011-04-08 08:47:00 900

原创 如何解决绘图过程中的闪烁

<br />在VC中进行绘图过程处理时,如果图形刷新很快,<br />经常出现图形闪烁的现象。利用先在内存绘制,然后<br />拷贝到屏幕的办法可以消除屏幕闪烁,具体的方法是先在内存<br />中创建一个与设备兼容的内存设备上下文,也就是开辟一快内<br />存区来作为显示区域,然后在这个内存区进行绘制图形。在绘制完成后利用<br />BitBlt函数把内存的图形直接拷贝到屏幕上即可。<br />具体的代码实现为:<br /><br />(1)创建内存区域<br />CDC* pMem=new CDC;  

2011-04-08 08:45:00 951 1

原创 如何解决绘图过程中的闪烁

<br />在VC中进行绘图过程处理时,如果图形刷新很快,<br />经常出现图形闪烁的现象。利用先在内存绘制,然后<br />拷贝到屏幕的办法可以消除屏幕闪烁,具体的方法是先在内存<br />中创建一个与设备兼容的内存设备上下文,也就是开辟一快内<br />存区来作为显示区域,然后在这个内存区进行绘制图形。在绘制完成后利用<br />BitBlt函数把内存的图形直接拷贝到屏幕上即可。<br />具体的代码实现为:<br /><br />(1)创建内存区域<br />CDC* pMem=new CDC;  

2011-04-08 08:44:00 718

原创 如何解决绘图过程中的闪烁

<br />在VC中进行绘图过程处理时,如果图形刷新很快,<br />经常出现图形闪烁的现象。利用先在内存绘制,然后<br />拷贝到屏幕的办法可以消除屏幕闪烁,具体的方法是先在内存<br />中创建一个与设备兼容的内存设备上下文,也就是开辟一快内<br />存区来作为显示区域,然后在这个内存区进行绘制图形。在绘制完成后利用<br />BitBlt函数把内存的图形直接拷贝到屏幕上即可。<br />具体的代码实现为:<br /><br />(1)创建内存区域<br />CDC* pMem=new CDC;  

2011-04-08 08:43:00 1232

原创 VC中CRectTracker在CScrollView中的问题解决办法

<br />在没有滚动条的程序中按照网上介绍的方法使用CRectTracker时没有任何问题,然而在滚动视图中如果还是按照该步骤来的话就会出现千奇百怪的错误,其中的原因主要是坐标的传入问题。一般GDI函数使用的坐标都是逻辑坐标,而CrectTracker中的Draw和其他成员函数使用的都是设备坐标(Device Coordinates), 这其中就会产生很多问题。据给简单例子,当滑动滚动条时,假设没有鼠标拖曳操作,则tracker应该是随滚动条一起移动的,但此时tracker的坐标矩形保存的是设备坐标,是不

2011-04-08 08:41:00 733

原创 多字节与宽字节相互转换的方法

<br />也就是WideCharToMultiByte和MultiByteToWideChar函数的使用方法。<br />多字节向宽字节转换:<br />wstring converToWideChar( const string& str )<br />{<br /> int  len = 0;<br /> len = str.length();<br /> int  unicodeLen = ::MultiByteToWideChar(CP_UTF8,0,str.c_str(),-1,NULL,0);

2011-04-08 08:41:00 772

原创 MFC让文档/视图结构程序支持滚动条

<br />要通过滚动条显示文档,还必须知道文档滚动到了什么位置;一旦用户拖动滚动条时要告诉视图改变在文档中<br /><br />的位置。所有这些,由MFC的CSrollView类来完成。而程序员要做的工作是:<br /><br />1、从CScrollView类中派生自己的视图类,以支持滚动条<br /><br />2、提供文档大小,确定滚定范围和设置初始值<br /><br />3、协调文档位置和屏幕坐标<br /><br />一、有CScrollView类派生视图类<br /><br />使用App

2011-04-08 08:40:00 1223

Linux_内核源代码分析

高清的linux方面的好书籍,linux 代码分析,但是是第二版中文版,目前市场最新的为第三版

2011-12-20

vim中文用户手册

非常好的vim资料.中文用户手册。机不可失,失不再来

2011-12-20

java7虚拟机规范

最新的java7虚拟机规范,希望给大家的工作和学习带来帮助

2011-10-31

空空如也

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

TA关注的人

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