今天天晴

导航

2013年3月2日 #

装箱与拆箱的作用(来自百度)

摘要: 拆箱是把“引用”类型转换成“值”类型; 装箱是把“值”类型转换成“引用类型”; 原因是有时某些方法的参数要求使用“引用”类型,而你想把“值”类型的变量通过这个参数传入,就需要使用这个操作。 拆箱和装箱 其实就是类型转换装箱:低类型-->高类型 例:object i="aa"; 这个是 string --> object 叫装箱 拆箱:高类型-->低类型 例:String i=(String)object; 这个是 string --> int 叫拆箱 例如: bool aa=true; object bb=aa; //装箱 bool cc=(bool 阅读全文

posted @ 2013-03-02 22:32 今天天晴 阅读(222) 评论(0) 推荐(0)

浅析值类型与引用类型的内存分配[转载]

摘要: 1、 值类型和引用类型的区别1. 值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。2. 值类型存取速度快,引用类型存取速度慢。3. 值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用4. 值类型继承自System.ValueType,引用类型继承自System.Object5. 栈的内存分配是自动释放;而堆在.NET中会有GC来释放C#中基本数据类型是值类型,结构体、枚举也是值类型。而数组、类、接口、字符串都是引用类型。作者:林立大家都知道要学好编程,深入了解值类型和引用类型是必不可少的。在这里我给大家简单分析一下它们内存分配的 阅读全文

posted @ 2013-03-02 22:07 今天天晴 阅读(231) 评论(0) 推荐(0)

栈和堆的区别【总结】

摘要: 1.1内存分配方面:堆:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。1.2申请方式方面:堆:需要程序员自己申请,并指明大小。在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符,但是注意p1、p2本身是在栈中的。因为他们还是可以认为是局部变量。栈:由系统自动分配。 例如,声明在函数中一个局部变量 阅读全文

posted @ 2013-03-02 22:02 今天天晴 阅读(166) 评论(0) 推荐(0)

Java中long和Long有什么区别

摘要: Java的数据类型分两种: 1.基本类型:long,int,byte,float,double,char 2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,String,其它一切java提供的,或者你自己创建的类。其中Long又叫 long的包装类。而Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。什么叫包装类? 在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。 比如我们也可以定义一个类: class L 阅读全文

posted @ 2013-03-02 21:54 今天天晴 阅读(221) 评论(0) 推荐(0)