- 博客(37)
- 资源 (1)
- 收藏
- 关注
转载 使用log4j进行日志记录
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们只需进行简单的配置即可将应用程序的日志信息输送的到控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等。Log4j中有三个主要的组件,它们分别是 Logger、Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger
2009-04-15 16:18:00
771
原创 查找某表的所有与之关联的表以及关联字段
Select b.table_name 主键表名, b.column_name 主键列名, a.table_name 外键表名, a.column_name 外键列名From (Select a.constraint_name, b.table_name,
2009-03-24 17:18:00
1053
原创 java 处理excel
无意中搜到一种用Java读写excel的工具。记录之以备以后使用:http://fastexcel.sourceforge.net/
2009-01-11 20:59:00
581
转载 Java 接口大全、面向接口编程、什么时候使用接口。选择Java接口还是抽象类
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你
2009-01-11 16:08:00
1372
原创 在java中利用enum实现swtich String类型
在有多个选择路径的情况下,利用Switch可以使程序更加简洁有效。但由于其只能对整数选择因子进行判断,所以限制了其在其他类型尤其是String的使用,本文利用JDK1.5新推出的enum,实现了一种可以对String类型进行Switch的方法。直接看代码:enum EnumExample { Teamreq,Matreq;}public class EnumTe
2009-01-06 15:51:00
4942
原创 1)在函数开始处检验传入参数的合法性
导读: 如: int CBufferPool::ResetBufferSize(int nNewSize) { //功能:改变缓冲区大小, //参数:nNewSize 缓冲区新长度 //返回值:缓冲区当前长度 //说明:保持原信息内容不变 nNewSize ASSERT(nNewSize >= 0); ASSERT(nNewSize ... }
2008-01-08 17:15:00
986
原创 Linux网络编程常用函数
导读: 计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺 序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需 要进行转换。 我们要讨论的第一个结构类型是:struct sockaddr,该类型是用来保存socket信息的: struct sockaddr { u
2008-01-08 14:44:00
526
原创 C++ STL简介
导读: 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:algo
2007-12-06 17:04:00
890
原创 随机数的产生
随机数在计算机实验中经常用到,可能大家都知道C语言中的随机函数random,可是random函数并不是ANSI C标准,所以说,random函数不能在gcc,vc等编译器下编译通过。那么怎么实现C语言中的随机函数呢?其实,除了random函数,还有一个rand函数,这个函数也是一个随机函数,他可以产生从0到rand_max的随机数。#include#includeint main(){
2007-12-06 16:53:00
905
1
原创 一个跨平台的 C++ 内存泄漏检测器
导读: 2004 年 3 月 01 日 内存泄漏对于C/C++程序员来说也可以算作是个永恒的话题了吧。在Windows下,MFC的一个很有用的功能就是能在程序运行结束时报告是否发生了内存泄漏。在Linux下,相对来说就没有那么容易使用的解决方案了:像mpatrol之类的现有工具,易用性、附加开销和性能都不是很理想。本文实现一个极易于使用、跨平台的C++内存泄漏检测器。并对相关的技术
2007-12-01 15:03:00
524
原创 关于工作与生活zz —— 转载
导读: 来自 端木,作者是 HP中国前总裁孙振耀。 我有个有趣的观察,外企公司多的是25-35岁的白领,40岁以上的员工很少,二三十岁的外企员工是意气风发的,但外企公司40岁附近的经理人是很尴尬的。我见过的40岁附近的外企经理人大多在一直跳槽,最后大多跳到民企,比方说,唐骏。外企员工的成功很大程度上是公司的成功,并非个人的成功,西门子的确比国美大,但并不代表西门子中国经理比国美的老
2007-12-01 14:51:00
674
原创 标准流类的成员函数getline,get,put
导读: 用getline()读取输入行 当程序使用cin输入时,cin用空白符和行结束符将各个值分开。根据所需输入的值,如需读取一整行文本并且分开不同的域,则要使用getline成员函数 getline(char*line,intsize,char=/n) 第二个参数是本次读取的最大字符个数,第三个参数是分隔字符,作为读取一行结束的标志。 下面的函数从键
2007-12-01 14:44:00
1201
原创 递归算法概述
递归是个比较简单也是比较常用的算法,它有两个基本原则:1)基本情形:至少有一种无需递归即可获得解决的情形,即终止条件。2)进展:任意递归调用必须向基本情形迈进。递归的实质是栈,因而,其缺点是递归不宜太多,典型的列子是在计算菲波纳契数,//compute the Nth Fibonacci number//Bad algorithmlong fib(int n)...{ if (n
2007-12-01 14:30:00
627
原创 关于取数组地址
在文《csdn一道C语言题的学习》中,有关于对数组地址的操作。对于一个数组struct A,A就是指向数组的首地址,这个是在编译时确定的,对于取址操作符&,在运行时确定,&A的值也是数组的首地址。即A与&A的值是相同的,不过两者的含义有所不同。区别如下:1)地址含义的不同,A又可以理解为&A[0],A+1,即表示&A[1];但是,对于&A+1,则表示是下个数组的首地址, 即A+sizeo
2007-12-01 12:10:00
2304
原创 csdn一道C语言题的学习
今天在CSDN上看到一道题,题目虽有钻牛角尖之嫌,不过仔细学习下还是很有帮助的,题目如下:求在vc条件下下面这个程序的运行结果!void main()...{ int a[5]=...{1,2,3,4,5}; int *ptr1=(int *)(&a+1); int *ptr2=(int *)((int )a+1);
2007-11-28 17:32:00
694
转载 scanf() 详解
scanf原型:参见《C语言大全》和K&C# include ;int scanf( const char *format, ... ); 函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式。 在 C99 中,format 用 restrict 修饰。format 指向的控制串由以下三类字符组成: ● 格式
2007-11-28 11:04:00
805
原创 链表内存的释放
链表是一种很常用的数据结构,如果在建立的时候为其每个节点分配了堆中的内存,则在程序结束前应该释放它,下面是常有的一段释放链表内存的程序:p = plist;//p和plist是指向一段相同地址空间的两个不同指针。while(p !=NULL)...{ q=p->next; free(p); p=q;}plist=NULL;//只是释放了其内存空间,指向链表的指针值并没有
2007-11-22 20:22:00
13326
原创 C语言之指针
指针对C 语言的重要性不言而喻,不过,对其理解却非常容易有偏差。下面结合两个例子,希望能对指针有更进一步的认识。void main(void)...{ char *p = (char *) malloc(10); strcpy(p,"hello"); printf("%s ",p); free(p); p = NUL
2007-11-21 18:21:00
435
转载 从两道经典试题谈C/C++中联合体(union)的使用
试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式?分析:作为一个计算机相关专业的人,我们应该在计算机组成中都学习过什么叫Little endian和Big endian。Little endian和Big endian是CPU存放数据的两种不同顺序。对于整型、长整型等数据类型,Big endian认为第一个字节是最高位字节(按照从低地址到
2007-11-20 16:57:00
760
原创 关于结构体的大小
经常会遇到要求sizeof(struct)的问题,由于要涉及到字节对齐的问题,而且不同平台结果也有所不同,所以,现对vc下的字节对齐总结一下:struct test...{ double m4; char m1; int m3;}在默认情况下,VC规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。下面列出常用类型
2007-11-19 17:31:00
1097
原创 switch 中嵌套 while之妙用
今天看到一段代码,代码的风格与实用性无可圈之处,不过,仔细研究下,可以学到一些东西,加深了对switch的理解,代码如下void copy(char* dst, char* src, int len)...{ switch(len & 7) ...{ default: while (len > 7) ...{ len -= 8;
2007-11-19 16:15:00
6089
原创 C语言之位域
随着硬件资源的不断丰富,似乎位域的应用越来越少。但在嵌入式编程中,灵活运用位域可能无论从时间还是空间都带来意想不到的想过,并且,在应聘笔试中,也经常会考到位域,所以好好学习下其使用还是有必要的。 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言
2007-11-19 16:02:00
812
原创 cisco笔试题
笔试题中有提到 语句*p++;,由于平时对c语言的优先级并不在意,所以对答案拿不准。回来查了下:++(后缀)的优先级比*高。所以*p++与*(p++)是相同的。语句的值就是*p,然后p的值+1;以后要注意优先级了。
2007-11-18 18:22:00
1111
转载 闲扯原码、反码、补码
闲扯原码、反码、补码 相 信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘 了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发 笑,我还是要思考。),于是得出了以下的结论。 数值在计算
2007-11-15 15:27:00
568
原创 写程序是种态度
马上就要毕业了,原以为我有不错的学习成绩,丰富的实习经验和项目经验,应该可以找个相当不错的工作。可从目前来说,我失败了。 失败有失败的好处,这样我能很好的检讨下自己,发掘自己的不足之处。我现在的想法就象文章标题所述那样“写程序是种态度”。这句话对我的触动比较大,我一直以为自己是个态度很端正的人,但现在看来,却不是这样。我总是把注意力放在宏观逻辑上了,基本功的
2007-11-14 11:27:00
619
转载 传输控制协议(Transmission Control Protocol, TCP)
传输控制协议(Transmission Control Protocol, TCP) TCP 协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。因为计算机网络在现代社会中已经是不可缺少的了,TCP协议
2007-10-31 10:46:00
1441
原创 最大邻近子序列和问题
问题描述:给定整数A1,A2,A3.....An(可能为负数),找出最大邻近子序列之和,如果全为负数,则为零?算法描述:分治算法是一种利用递归来解决问题的重要技术,由两部分组成: (1)分割,递归解决更小的问题(当然,基本情形除外) (2) 攻克,根据子问题的解决方案形成原始问题的解决方案。针对本问题,可以将整数序列划分为两半,于是最大邻近子序列可能以3中方式出现。情形1:完
2007-10-26 11:41:00
600
转载 C++之模板(Template)
模板是C++提供进行编程的一种类书工具。所以在看本文以前请先了解一下C++类书的概念及相关的知识。 1.模板的概念: 模板是实现类属机制的一种工具,它的功能非常强,它是无约束类属机制和约束类属机制的集合。 它可以让用户构造模板函数。 模板,对象, 函数之间的关系见下图: 2.函数模板与模板函数:先见下例:#include templ
2007-10-25 11:05:00
584
原创 关于友元
采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员 函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以 将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提供了工序的运行效率,但又破坏了类的封装性。1.友元函数友元函数是可以直
2007-10-08 11:09:00
765
原创 关于C++中的多态性
C++的多态性表现为两种情况:一,不同对象接收到相同消息时产生不同的动作;二,相同对象接收到相同信息时产生不同的动作。 第一种情况,用虚函数实现,调用基类的指针或引用。是一种动态联编的方式。(1)在派生类中重新定义虚函数时,函数名,参数个数与类型及参数的顺序必须与基类中的函数完全相同。(2)虚函数在类外实现时不能在加virtual关键字了。(3)虚函数为了实现虚特性需要增加一些数据
2007-09-21 17:07:00
557
原创 基于arm9和vxworks中的中断处理
中断是外部事件通知操作系统的最常用手段。中断处理机制是计算机多任务环境运行的基础,是系统实时性的保证VxWorks内核wind在任务调度、中断处理及网络处理等方面与其它嵌入式实时操作系统相比具有一定的优势。特别是其提供的微秒级的中断处理为VxWorks在嵌入式实时操作系统领域的旗舰地位奠定了基础。VxWorks下的中断处理机制中断处理的实时性设计VxWorks采用中断处理与普
2007-08-20 09:58:00
2876
转载 X,X11,XFREE,WM,KDE,GNOME等之间的关系
很多LINUX初学者分不清楚linux和X之间,X和Xfree86之间,X和KDE, GNOME等之间是什么关系.常常混淆概念,我想以比较易于理解的方式说明一下X,X11,XFREE,WM,KDE,GNOME等之间的关系.由于本人 水平有限可能存在错误,请高手指正.一,linux本身没有图形界面,linux现在的图形界面的实现只是linux下的应用程序实现的.图 形界面并不是linux
2006-11-13 19:24:00
804
转载 浅谈C中的malloc和free
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!
2006-09-19 17:28:00
854
转载 关于驱动程序中的ioctl
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混 了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就 是对设备的一些特性进行控制,例如串口的传输波特率
2006-08-31 09:46:00
1036
原创 指针数组的操作
简单的说指针数组就是二维数组,因而对于char **file,*(file+index)与file[index]是等同的。现在假如要对file[index]的某个字符进行操作,即*(file[index]+i)=/0;也可以写成*(*(file+index)+i)=/0.但是前者较为直观,而且操作简单。所以最好用前者。申请内存空间:file=(char **)malloc(256*size
2006-08-30 16:15:00
982
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人