摘要:
一直以为Integer的自动装箱池的大小是-128~127,今天看了jdk1.6的源代码,发现其实并不一定的。大家都知道java有8种基本类型,它们都有自己的包装类。而Byte,Character,Short,Integer,Long都有一个自动装箱池,我一开始以为除了Character的自动装箱池的大小为0~127以外,其他都是-128~127。但是我在看jdk源代码的时候发现Integer的自动装箱池的实现跟其他几个包装类并不一样,我们先来看看Integer类好Short两个包装类的实现。Integer类的自动装箱池的实现: private static class IntegerCach 阅读全文
摘要:
c语言的指针,c++的指针和引用,java的引用。三种语言两种东西把我搞得头昏脑胀的。今天总算理出头绪了!指针就是存放地址的变量,这一点毫无疑问,c语言和c++都是一样。java宣称对外无指针,其实java的引用相当于c语言的指针,指向对象的地址。但是,c++的引用就不同了,c++的引用必须在定义时初始化,而且不能改变的。因为程序编译时会将变量和地址在符号表中做一个映射。指针变量在符号表上对应的地址值为指针变量的地址值(不是指针所指向的地址),而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,所以指针可以改变其指向的对象(指针变量中的值可以改),而引用对象则不能修改。c+ 阅读全文
摘要:
今天c#又给了我一个大大的惊喜,今天我打算给DateTime 的对象初始化一个空指针null,写了这样一行代码:DateTimeupdateTime = null; 在面向对象的一般情况中,给一个对象赋值空指针是很正常的,而且是有时候为了释放类存是必须的。可是,到了c#中,它就不行了。错误信息是:“无法将 NULL 转换成“System.DateTime”,因为它是一种值类型。” DateTime居然是值类型的。那么怎么将DateTime类型置空呢,经过google找到了解决办法:Nullable<DateTime> now = null; 或者DateTime? now = nu 阅读全文
摘要:
今天本来只是想实现一个简单的单击按钮变颜色的功能,结果碰到<item> tag requires a 'drawable' attribute or child tag defining a drawable的错误。这句话的意思很简单,就是说item标签下需要drawable属性。因为本人刚接触android,只有求助google了。答案千奇百怪,有人还建议将selector的xml文件放到layout文件夹中。我很佩服国内同胞谨记毛主席的教导“实践是检验真理的唯一标准”。勇于尝试,不过不懂原理而盲目的去折腾效率是很低的。在逛了无数国内论坛无果后,我尝试进了一个英文 阅读全文
摘要:
这是一篇关于svn服务器配置的文章 阅读全文