一、基本概念 多态性:发送消息给某个对象,让该对象自行决定响应何种行为。 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。 java的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类...
分类:
编程语言 时间:
2014-07-30 23:31:55
阅读次数:
242
前言:我们知道对象分引用类型和值类型。浅克隆:复制一个现有对象,引用类型指向同一个内存块(string为最特殊的对象,这里当作值类型来看先)public class User { public int Age { get; set; } public strin...
分类:
其他好文 时间:
2014-07-30 20:12:14
阅读次数:
162
很多教科书判断对象是否存活的算法是这样的:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用。很多应届生和一些有多年工作经验的开发人员,他们对于这个问题给予的都是这个答案..
分类:
其他好文 时间:
2014-07-29 16:00:39
阅读次数:
208
在主流的商用程序语言中(Java和C#)都是使用根搜索算法(GCRootsTracing)判断对象是否存活的。这个算法的基本思路:通过一系列的名为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(ReferenceChain),当一个对象到GCRoots没有任何引用链相..
分类:
其他好文 时间:
2014-07-29 16:00:20
阅读次数:
187
一、网络上的一般说法1、ViewState 对象为Null。2、DateSet 空。3、sql语句或Datebase的原因导致DataReader空。4、声明字符串变量时未赋空值就应用变量。5、未用new初始化对象。6、Session对象为空。7、对控件赋文本值时,值不存在。8、使用Request....
分类:
其他好文 时间:
2014-07-27 23:16:39
阅读次数:
200
原先的ASP.NET转换为WebDeploy项目后,将所有的.CS文件打成一个包,页面aspx文件保留,项目开发人员拿到之后,进行build,开发没有问题,但是publishWebSite的时候,会出错.错误:Publication(web):未将对象引用设置到对象的实例。没有任何其他相关信息,打开aspnet_compiler.exe的error..
分类:
Web程序 时间:
2014-07-22 18:20:52
阅读次数:
284
一、网络上的一般说法1、ViewState 对象为Null。2、DateSet 空。3、sql语句或Datebase的原因导致DataReader空。4、声明字符串变量时未赋空值就应用变量。5、未用new初始化对象。6、Session对象为空。7、对控件赋文本值时,值不存在。8、使用Request....
分类:
其他好文 时间:
2014-07-20 22:38:29
阅读次数:
238
垃圾收集机制(GC)是JVM用于释放那些不再使用的对象所占用内存的程序和算法。GC并没有写入在java语言定制的标准中,因此并不是所有的JVM都有GC。GC的主要目的就是清除不再使用的对象。
垃圾回收的两种方法:
1.引用计数
引用计数表示一个对象被引用的所有次数,当引用计数为0时,则表示该对象没有被引用,可以将其删除。
2.对象引用树
目前比较常用的垃圾收集机制是对象引用树,即将对像的...
分类:
其他好文 时间:
2014-07-20 22:17:23
阅读次数:
283
当存在继承关系时,派生类的作用域嵌套在其基类的作用域之内。一个对象、引用或指针的静态类型决定了该对象的哪些成员是可见的。即使静态类型与动态类型可能不一致,但我们使用哪些成员仍然是由静态类型决定的。基类指针(引用)即使指向派生类对象,仍然不能通过该指针(引用)来访问派生类中定义的成员,即使是publi...
分类:
编程语言 时间:
2014-07-19 16:01:04
阅读次数:
279
Java中String是一个特殊的包装类数据有两种创建形式:String s = "abc";String s = new String("abc"); 第一种先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值 '...
分类:
编程语言 时间:
2014-07-16 19:24:30
阅读次数:
299