- 博客(15)
- 资源 (13)
- 收藏
- 关注
原创 Adapter模式
Adapter的主要思想:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。 主要意思是:我们需要一种方法,为一个内容合适但接口不匹配的对象创建一个新的接口。 分析如下场景:有一个Shape类(抽象类),拥有name属性,和display方法(显式名字)。假设我们已经实现了椭圆子类,接着要实现圆子类,此时发现,已经有同事实现了
2009-06-29 16:49:00 623
转载 SIGHUP信号与控制终端
UNIX中进程组织结构为 session (会话)包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进程组可能会有一个进程组首进程。进程组首进程的进程ID与该进程组ID相等。这儿是可能会有,在一定情况之下是没有的。与终端交互的进程是前台进程,否则便是后台进程。 SIGHUP会在
2009-06-28 17:03:00 1376
原创 简单工厂,工厂方法和抽象工厂模式
1,简单工厂模式:将创建类实例的过程封装到工厂类的方法中。2,工厂方法:处了将创建类实例封装到一个工厂类外,还将类的实例化推迟到子类。用于当用户想得到某一种产品的类型时。比如,有一系列的飞机类,战斗机,运输机等,用户通过工厂可以得到某一个所需要的某个飞机类型,但是通过使用接口(抽象类),飞机类型的实例真正创建是在工厂类(接口)的子类(实现类)中完成的。这就是所谓的“实例化推迟到子类”。 pla
2009-06-25 15:44:00 519
原创 回溯——n皇后问题
思想:用回溯方法求解,首先要分析问题的求解空间。可用一棵n叉树表示这个问题的求解空间,在回溯遍历这个课二叉树的过程中形成合理的解。对于这棵n叉树,列序号i(0~n-1)是它的孩子,而每个孩子都有深度为n的子树(包括自身),这些子树的层次是n个皇后(也代表每个皇后的行序号,因为不同的皇后肯定不在同一行)。于是,遍历这个n叉树的每个孩子结点到叶子节点便得到一个合理解。遍历时,先从第一个孩子(第
2009-06-21 21:22:00 1035
转载 C++中头文件包含问题
C++中基础类互相引用带来的问题在一些大的工程中,可能会包含几十个基础类,免不了之间会互相引用 ( 不满足继承关系,而是组合关系 ) 。也就是需要互相声明。好了,这时候会带来一些混乱。如果处理得不好,会搞得一团糟,根据我的经验,简单谈谈自已的处理办法:编码时,我们一般会尽量避免 include 头文件,而是采用声明 class XXX 。 但有时候还是必须用 Include 头文件,那么
2009-06-17 22:57:00 1258
原创 回溯法——求子集
1 #include 2 #define N 5 3 int set[N]={1,2,3,4,5}; 4 int sub[N]; 5 int sub_set(int t) 6 { 7 if(t>N-1) 8 { 9 int i =0; 10 fo
2009-06-16 19:24:00 2208
原创 回溯法——求排列数
1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3 1 2 5 4 3 1 2 5 3 4 1 3 2 4 5 1 3 2 5 4 1 3 4 2 5 1 3 4 5 2 1 3 5 4 2 1 3 5 2 4
2009-06-16 19:23:00 1544 1
原创 回溯——0/1背包问题
回溯算法的要点:1,针对所给问题,定义问题的解空间。2,确定容易搜索的解空间的组织结构。3,通过剪枝优化搜索过程。下面通过求解0/1背包问题来分析使用回溯算法的过程:1,根据问题的描述,设所有的物件数是N,对应的重量和价值分别为w[0~N-1]和v[0~N-1],于是这个问题就转化成在这N件物件中选择一个子集,使其总价值最大,并且满足总重量不超过包的容量cw。因此此问题的解空间
2009-06-15 21:09:00 1558 1
转载 Linux平台gcc及动态库和静态库
对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。 一、GNU gcc的编译工具用法 我们先来写一个简单的C程序:hello.c #include void print_hello() { printf("Hello World/n");}int
2009-06-13 21:30:00 835
转载 动态链接库加载出错:cannot restore segment prot after reloc: Permission denied
作为菜鸟,几次想学LINUX的动态链接库,在网上也找了不少资源,却每次都被同一个问题挡在门外.就是在我执行程序时,总是遇到加载so文件时的错误.我按照网上说的,又是改LD_LIBRARY_PATH又是改ld.so.conf配置文件,结果都无济于事.后来找人一问,才知道原来不是它的错误,而是 Linux 内核中提供的强制访问控制 (MAC)系统SELINUX的原因. 在百
2009-06-13 17:28:00 2412 1
转载 TCPDUMP简介
TCPDUMP简介在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。 用过w
2009-06-12 11:22:00 504
转载 初始化匿名内部类的参数必须为final类型
那我们到底为什么要对参数加上final?其实对方法参数加final和方法内变量加上final的作用是相同的,即为了将它们传给内部类时保证调用的一致性:abstract class ABSClass{ public abstract void m();}现在我们来看,如果我要实现一个在一个方法中匿名调用ABSClass.应该: public static void test(final St
2009-06-09 15:37:00 931 1
转载 GCC生成静态库和动态库
Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。Gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。 一、库文件简介简单地说,库(Library)就是一组已经写好了的函数和变量、经过编译代码,是为了能够提高开发效率和运行效率而设计的。库分为静态库
2009-06-02 23:02:00 739
转载 环境变量和shell变量
14.1 本地变量本地变量在用户现在的shell 生命期的脚本中使用.这个值只在当前用户生命期有意义,如果在shell启动另一个进程或退出,此值将无效.使用变量时,如果用花括号将之括起来,可以防止shell 误解变量值.要设置一本地变量,格式为:$variable-name=value ${variable-name=value}14.2 显示变量使用echo 可以显示变量
2009-06-02 16:52:00 2436
转载 关于linux环境变量文件
etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执
2009-06-02 16:07:00 3251 2
linux系统进程间通信——共享内存(System V版本)
2010-01-09
支持并发的多人聊天程序
2009-11-14
基于socket的proxy
2009-10-25
JBoss下部署EJB3.0
2008-11-18
java web service 入门
2008-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人