景程学院吧 关注:57贴子:724
  • 0回复贴,共1
什么是抽象?如何抽象?
抽取对象的共同特征,就是抽象
值类型与引用类型的区别
值类型分配在线程的堆栈上,可以从堆栈中快速访问数据。
引用类型实例分配在托管堆中,需要通过指向存储在内存堆中的数据的指针或地址来访问
值类型与引用类型在创建时内存分配上的不同。
值类型与引用类型销毁时内存释放方式上的不同。
值类型在内存释放时,堆栈顶端的指针将会移到最初开始的内存地址,这样所有刚才分配的内存空间都被清理掉了
用类型是在我们的程序达到某个特定的内存threshold (临界点)而我们需要更多的托管堆空间时,GC开始启动。
GC会完全停止所有运行中的线程,找到所有托管堆里没有被引用的对象并删除它们。同时GC将重新组织所有驻留在内存中活动的对象,并调整堆栈中对其引用的地址。
参数传递分为两种
按值传递
按引用传递
方法定义和方法调用必须同时显式的使用ref或者out,否则将导致编译错误。
CLR允许通过out或者ref参数来重载方法。
抽取事物的共同特征称之为抽象。
值类型实例分配在线程的堆栈上,并且不包含任何指向实例数据的指针,因为变量本身就包含了其实例数据。
引用类型实例分配在托管堆上,变量保存了实例数据的内存引用(指针)。
值类型与引用类型在创建时内存分配上的不同;值类型与引用类型销毁时内存释放方式上的不同。
GC(Garbage Collection:垃圾回收器)会清理没有指针指向的托管堆对象。
参数传递根据参数类型分为按值传递和按引用传递,默认情况下都是按值传递的。
值类型实例传递的是该值类型实例的一个拷贝,被调用的方法操作的是属于自己本身的实例拷贝,因此不影响原来调用方法中的实例值。
参数为引用类型时,传递和操作的是指向对象的引用。
传递参数加ref或out关键字,无论参数是值类型还是引用类型其传递方式都是参数的内存地址。


IP属地:天津1楼2013-11-25 15:27回复