现在位置: 首页 > trickle发表的所有文章
  • 05月
  • 21日
综合 ⁄ 共 33337字 评论关闭
1. 内存池设计 1.1 目的 在给定的内存buffer上建立内存管理机制,根据用户需求从该buffer上分配内存或者将已经分配的内存释放回buffer中。 1.2 要求 尽量减少内存碎片,平均效率高于C语言的malloc和free。 1.3 设计思路 将buffer分为四部分,第1部分是mem_pool结构体;第2部分是内存映射表;第3部分是内存chunk结构体缓冲区;第4部分是实际可分配的内存区。整个buffer结构图如图1所示: 图1 内存buffer结构图 第1部分的作用是可以通过该mem_pool结构体控制整个内存池。 第2部分的作用是记录第4部分,即实际可分配的内......
阅读全文
  • 03月
  • 04日
综合 ⁄ 共 7825字 评论关闭
将以下代码copy到 用户目录下新建文件为  .vimrc 保存即可生效,如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份) "========================================================================= " DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console " " Last Change: 2010年08月02日 15时13分 " " Version: 1.80 " "========================================================================= set nocompatible " 关闭 vi 兼容模式 syntax on " 自动......
阅读全文
笔者不知道该用哪个词来形容ValueStack、ActionContext等可以在Struts2中用来存放数据的类。这些类使用的范围不同,得到的方法也不同,下面就来一一介绍。     声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出。本文发表于ITEYE,谢绝转载。 1. ValueStack     ValueStack在中文版的《Struts2深入浅出》一书中译作“值栈”。其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中,然后使用动态的表达式来读取bean的属性,或者对bean进行一些其他操作。由......
阅读全文
  • 05月
  • 28日
操作系统 ⁄ 共 1720字 评论关闭
在虚拟机上操作Linux有一些痛苦。。没有了熟悉的Ctrl+C 和 Ctrl+v还有可爱的滚动条。。。 据说用远程控制就可以解决这些问题 ^_^ 我们马上行动吧!! 什么是SSH SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。 SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的"通道"。SSH客户端与服务器端通讯时,用户名及口令均进......
阅读全文
  • 05月
  • 27日
综合 ⁄ 共 4545字 评论关闭
Ubuntu下安装VMware-Tools不像在Windows下安装容易,昨晚整了挺长时间终于安上了.方法在下面. 感谢提供方法的大侠! VMware Tools位置:VMware的安装路径/VMware/VMware Workstation/linux.iso 启动后按Esc选择recovery mode登陆.然后点击"虚拟机"→"安装VMware Tools". [root@rd01 ~]# mount /cdrom # 有时可能加载不了,这时就要先将系统关闭,再手动指定 ISO 映像: [root@rd01 ~]# cd /cdrom [root@rd01 ~]# ls -a [root@rd01 ~]# cp VMwareTools-5.5.1-19175.tar.gz /tmp [root@rd01 ~]# cd /tmp [root@rd01 ~]# tar zxpf VMwa......
阅读全文
  • 05月
  • 24日
综合 ⁄ 共 19238字 评论关闭
     感觉这篇文章不错,直接转了 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。 RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。由于JRMP是专为Java对象制定的,......
阅读全文
  • 05月
  • 11日
综合 ⁄ 共 55088字 评论关闭
基础知识: 1.C++或Java中的异常处理机制的简单原理和应用。   当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。   2. Java的接口和C++的虚类的相同和不同处。   由于Java不......
阅读全文
  • 05月
  • 04日
综合 ⁄ 共 27047字 评论关闭
    简述 一 列文件清单 二:执行程序 三:显示数据 四:断点(breakpoint) 五.断点的管理 六.变量的检查和赋值 七. 单步执行 八.函数的调用 九.机器语言工具 十.信号 GDB的使用方法 简述 一 列文件清单 ·         List ·              (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和> )和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再......
阅读全文
  • 04月
  • 27日
综合 ⁄ 共 45616字 评论关闭
文章目录 1、单一职责原则 2、抽象工厂模式 6、适配器模式 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实......
阅读全文
  • 04月
  • 02日
综合 ⁄ 共 4585字 评论关闭
From: http://blog.163.com/zhangjie_0303/blog/static/99082706201081105654484/   动态链接库dll,静态链接库lib, 导入库lib 目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。   静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj有错,即静态lib只是壳子。   动态库一般会有对应的导入......
阅读全文
  • 02月
  • 07日
综合 ⁄ 共 7091字 评论关闭
CString 成员函数详解:   1.CString 的构造函数:       // 缺省构造函数       CString()                                                    例:       CString    csStr;          // 复制构造函数       CString(const CString& stringSrc)             例:        CString    csStr("ABCDEF  中文 123456");        CString    csStr2(csStr);          // 用字符初始化       CString(TCHAR ch, int nRepeat = 1)        例:       CString    csStr('a', 5);            // csStr = "aaaaa"          // 用字符......
阅读全文
  • 01月
  • 31日
综合 ⁄ 共 4463字 评论关闭
  下标处理问题   主要是针对于插入排序算法写的程序,其他情况可以借鉴这些思路。   数学上或者通常意义上,下标都是从1开始的,但是在多数编程语言里面数组下标都是从0开始的,这就很恼火了,简单一个下标处理起来却异常麻烦!请看 例如: (1)典型的数组下标越界问题 假设有个数组:a[0] a[1],我们要用插入法排序,把a[1]插入到a[0]前面,插入法是这样写的 while( a[j]>temp)       // j=0; temp=a[1]; {a[j+1]=a[j--];} a[j+1]=temp; 其原理是把比temp(即a[1])小的元素挨个往后移,腾出前面的一个位置将temp插进去,但......
阅读全文