对于一个类,如果定义后(记作对象a),将另外一个对象b直接赋值(“a = b”)给它,则相当于将地址赋值给了这个对象。当另外一个对象b不再对这块地址应用时,a由于对这块地址仍在使用,这块地址的指向的栈空间仍然不被销毁。直道没有对象再对其引用,系统将按照回收机制对其进行回收。

Demo如下:

 public class ObjectRef{public static void Demo_Main(){PointD a, b, c;b = new PointD(100, 58);a = b;b = new PointD(200, 11);Console.WriteLine("a is now {0}, {1}", a.X, a.Y); // a is now 100, 58c = new PointD(300, 22);a = c;c.X = 500;Console.WriteLine("a is now {0}, {1}", a.X, a.Y); // a is now 500, 22
        }}public class PointD{int x;int y;public int X{get { return x; }set { x = value; }}public int Y{get { return y; }set { y = value; }}public PointD(int x, int y){this.x = x;this.y = y;}}

有关C#中的引用类型的内存问题相关推荐

  1. 浅析.NET中的引用类型和值类型(上)

    .NET中的类型分为值类型和引用类型,他们在内存布局,分配,相等性,赋值,存储以及一些其他的特性上有很多不同,这些不同将会直接影响到我们应用程序的效率.本文视图对.NET 基础类型中的值类型和引用类型 ...

  2. c语言malloc引用类型作参数,c语言中动态内存分配malloc只在堆中分配一片内存.doc...

    c语言中动态内存分配malloc只在堆中分配一片内存 .C语言中动态内存分配(malloc)只在堆中分配一片内存,返回一个void指针(分配失败则返回0),并没有创建一个对象.使用时需要强制转换成恰当 ...

  3. Swift 值类型和引用类型的内存管理

    1.内存分配 1.1 值类型的内存分配 在 Swift 中定长的值类型都是保存在栈上的,操作时不会涉及堆上的内存.变长的值类型(字符串.集合类型是可变长度的值类型)会分配堆内存. 这相当于一个 &qu ...

  4. Java中的引用类型(强引用、弱引用)和垃圾回收

    Java中的引用类型和垃圾回收 强引用Strong References 强引用是最常见的引用: 比如: StringBuffer buffer = new StringBuffer(); 创建了一个 ...

  5. [转载] 解析Java的JNI编程中的对象引用与内存泄漏问题

    参考链接: Java对象如何存储在内存中 JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互 ...

  6. jni jvm 内存泄漏_解析Java的JNI编程中的对象引用与内存泄漏问题

    JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互--在 Java 程序中调用 native ...

  7. 解析Java的JNI编程中的对象引用与内存泄漏问题

    JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互--在 Java 程序中调用 native ...

  8. Java/Android中的引用类型及WeakReference应用实践

    一.背景 一般意义上而言,Java/Android中的引用类型包括强引用.软引用.弱引用.虚引用.不同的引用类型具有各自适用的应用场景,并与JVM的GC直接相关. 作为Java/Android中的引用 ...

  9. 不应该在ToString()方法中修改引用类型

    今天写程序时发生了这样一个问题,调试的时候和运行时的结果不同,查了半天原来是因为调试的时候点击变量会自动调用ToString(),并且不会响应ToString()中的断点,而这个程序恰恰在ToStri ...

  10. 5 个 Android 开发中比较常见的内存泄漏问题及解决办法

    Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再 ...

最新文章

  1. oracle 序列号同步,关于序列同步的问题
  2. python程序员在公司都是做什么的-程序员是做什么的?工资待遇怎么样?
  3. java 合并 set_【Java必修课】各种集合类的合并(数组、List、Set、Map)
  4. 关于回调函数的那点事
  5. Kotlin实战指南三:流程控制
  6. 第六十八期:程序员与医生
  7. python中的异步与同步
  8. php 接口日志,PHP 开发 APP 接口--错误日志接口
  9. Qt creator5.7 OpenCV249之图片旋转(含源码下载)
  10. 斯坦福 CS183f YC 创业课 2017 资料整理
  11. java 设置组件填充_Java学习笔记(三)Java2D组件
  12. python中class什么意思_【转载】在python的class中的,self到底是什么?
  13. Java关键字(三)——static
  14. Oracle 最后通牒:要 Java 8 更新先交钱!
  15. aws ebs分类_AWS EBS – Amazon Elastic Block Storage
  16. 微信小程序-appId, 真机调试,上线
  17. Excel一个图中设置两个纵坐标
  18. 如何查看自己的分区是固态还是机械
  19. android多线程讲解与实例
  20. Microsoft Visual Studio 2008安装教程

热门文章

  1. 电子书分页,翻页效果,字体大小调整和基本功能实现
  2. Java第五次作业 ,面向对象高级特性(抽象类与接口)
  3. C# EasyORM
  4. 《嵌入式Linux基础教程学习笔记一》
  5. [导入]设置wap服务器
  6. iOS 链接库“libbaidumapapi.a”缺少此目标所需的一个或多个体系结构:arm64、armv7
  7. 《Java设计模式》之代理模式 -Java动态代理(InvocationHandler) -简单实现
  8. 【winfrom】Excel文件加载
  9. XMLHTTPRequest如何访问需要安全验证的网站
  10. 关于时间格式的解析问题