- 浏览: 242740 次
- 性别:
- 来自: 宁波
最新评论
文章列表
摘选自:《设计模式Java手册》
工厂方法模式的核心思想
一个方法能够创建一个对象,这本身并不意味着该方法是工厂方法模式的一个例子。总而言之,实现了工厂方法模式的特征是:
该方法创建了一个新对象
该方法的返 ...
- 2012-03-28 17:32
- 浏览 552
- 评论(0)
转自:http://blog.csdn.net/wanbin021614/article/details/1771384
记得以前写过一段这样的代码:
String[]arr={"a","b","c"}
- 2012-03-28 16:22
- 浏览 516
- 评论(0)
网上有很多类似的解决方案,很多是使用
if ((fileName != null) && (fileName.toLowerCase().indexOf("gb2312") != -1)){
fileName = MimeUtility.decodeText(fileName);
}
来解决,但对应gbk编码的附件名,这里仍不能正确处理。解决的方法很简单,加入对gbk的判断即可
fileName = bodyPart.getFileName();
//解决中文附件名的问题
if ((fileName != null) && ( ...
- 2012-03-28 15:21
- 浏览 634
- 评论(0)
Convert NSString to int
1
NSString*aNumberString =@"123";
2
inti = [aNumberString intValue];
Convert int to NSString
1
intaNumber = 123;
2
- 2012-03-26 22:13
- 浏览 532
- 评论(0)
转自:http://sun77.blog.163.com/blog/static/97986573201052141212753/
VSTO实战开发-Outlook
add-ins开发(5)
下载课程
- 2012-03-23 11:57
- 浏览 843
- 评论(0)
转自:http://hi.baidu.com/zuccxy/blog/item/037fb71eebf0848186d6b6cd.html
我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数,
一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的。
但在多线程情况下, ...
- 2012-03-19 21:12
- 浏览 863
- 评论(0)
转自:《C和指针》中文版,p396
我们现在可以推断出为什么参数要按照列表反序压入到堆栈中。被调用函数使用帧指针加一个偏移量来访问参数。当参数以反序压入到堆栈时,参数列表的第一个参数便位于堆栈中这堆参数的顶部,它距离帧指针的偏移量是一个常数。事实上,任何一个参数距离帧指针的偏移量都是一个常熟,这和堆栈中压入多少个参数并无关系。
如果参数以相反的顺序压入到堆栈会怎样呢(即按照参数列表顺序)?这样一来,第一个参数距离帧指针的偏移量就和压入到堆栈中的参数数量有关。编译器可以计算出这个值,但还是存在一个问题 -- 实际传递的参数数量和函数期望接受的参数数量可能并不相同。在这种情况下, ...
- 2012-03-13 14:35
- 浏览 606
- 评论(0)
网上很多文章介绍如何在VMWare中安装MacOS,可介绍安装VM Tools时总是喜欢几句话带过,使我失败了很多次才安装成功。
成功方法:
1. 在VMWare中点击edit this virtual machine
2. 添加CD/DVD,使用iso,找到那个darwin.iso
3. 在setting里面,点击CD/DVD里面的advanced,将其设为SCSI 0:12。
其中,第三步比较关键,SCSI的值一定要设在HJMac.iso的后面,比如HJMac.iso设为0:10,这里咱设为0:12就可以了。
4. 开机后,在Finder中就可以找到Darwin.iso,进行安装 ...
- 2012-03-11 16:06
- 浏览 990
- 评论(0)
参考:《C和指针》
strlen()的方法签名中的返回值类型为size_t,size_t实际上是一个无符号整型。因此,下面的代码就会有问题:
if( strlen(x) - strlen(y) >= 0 ) ... ;
if( strlen(x) - 10 >= 0) ... ;
这样,if语句永远都会执行,因为无符号数不存在负值。实际上,C中很多string相关函数返回值都是无符号数,在使用时要小心谨慎。
- 2012-03-09 10:51
- 浏览 1632
- 评论(0)
参考:《C和指针》
隐式类型转换
C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符型和短整型操作数在使用之前被转换为普通整型,这种转换称为“整型提升”。缺省整型长度一般是计算机最合适的长度,因此精度提升不会降低速度,并且实现起来也很容易。
在下面的例子中,a和b首先转换成整型进行计算,然后将结果截短并赋值给c
char a, b, c;
c = a + b;
算术转换
如果某个运算符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则操作就无法进行。下面的层次体系称为寻常算术转换。
...
- 2012-03-06 16:32
- 浏览 598
- 评论(0)
本文是《C和指针》的2.7中的第5题的gcc解
题目:下面这条语句的结果是什么?
int x/*comment*/y;
首先,创建一个包含此语句的C文件,如:
#include <stdio.h>
int main(){
int x/*comment*/y;
xy = 0;
printf("xy =%d\n", xy);
}
其次,使用gcc -E tmp.c来查看预处理后的文件
出来的结果很长,前面有很大一段代码,我们直接看最后那部 ...
- 2012-03-05 17:26
- 浏览 708
- 评论(0)
简介:
尽管学习和使用C++是件困难的事情,但C++提供了很多优秀的feature,如本文要讨论的const关键字。
因为违反const规则会触发编译时错误。尽管有些人认为使用const关键字是多此一举,但我认为const关键字还是很有用的。
Const的多种用途
和C++中大多数关键字一样,const在不同的语境下也有不同的用途。使用const关键字声明的变量在初始化后就不能再修改了,如下所示:
int x = 4; // a normal variable that can be modified
x = 10; // legal
c ...
- 2012-03-04 23:36
- 浏览 741
- 评论(0)
最简单常用的vim下:set fileencoding 即可显示当前文件的编码格式
查看文件编码
在Linux中查看文件编码可以通过以下几种方式:
1.在Vim中
可以直接查看文件编码
- 2012-03-03 22:46
- 浏览 933
- 评论(0)
CPU:T7700
在使用vmware安装MacOS X时,发现需要打开VT。但我在BIOS中打开之后,检测还是有问题。后来发现在修改这个选项后计算机不能热启动,使用先关机,再开机这种冷启动的方式才能使VT生效。
摘自:《高质量C/C++程序设计》
一个有趣的 现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响,只由成员对象在类中声明的次序决定。这是因为类的声明是唯一的,而类的构造函数可以有多个,因此会有多个不同次序的初始化表。如果成员对象按照初始化表的次序进行构造,这将导致析构函数无法得到唯一的逆序。[Eckel, p260-261]
- 2012-02-29 20:42
- 浏览 673
- 评论(0)