zoukankan      html  css  js  c++  java
  • 引用类型、值类型 理解

    1,值类型继承自 ValueType,分配在线程上(除非值类型包裹在堆中,这个时候值类型就在堆上),用完自己会结束

    2,引用类型分布在堆上(始终分配在堆上),一个进程只有一个堆,所有的数据都是往里面放,所以需要垃圾回收。

      1)new 时,在堆中开辟内存,分配一个内存地址

      2)调用构造函数(因为在构造函数里可以使用this)

    3,装箱和拆箱通常是因为object

    4,堆里面的内存是连续分配的

    5,内存是链式分配,可能有碎片
    6,垃圾回收时间:发生在new对象的时候(还有程序退出的时候),new一个对象时,看看空间够不够,不够的话就要GC回收了

    7,static 变量不会被回收,静态持有的引用也不会被回收,GC.Collect()  主动回收  ,清理堆里的托管资源(C#创建的就是托管资源)就是GC

    托管资源:在堆里的资源

    非托管资源:不在堆中的资源,比如数据库连接

    8,析构函数(如: `Student 符号【`】)与dispose  :都是释放非托管资源

    区别:析构函数由系统自动释放

         dispose 则是使用者主动调用来释放

  • 相关阅读:
    NHibernate 过滤器(第十五篇)
    NHibernate 存储过程 第十四篇
    NHibernate 操作视图 第十三篇
    NHibernate Linq查询 扩展增强 (第九篇)
    NHibernate 之数据操作 (第五篇)
    NHibernate之一级缓存(第十篇)
    jQueryEasyUI
    linux的systemctl 命令用法 转
    linux dig命令 转
    OPTAUTH 两步验证详解
  • 原文地址:https://www.cnblogs.com/luyiwei/p/9211221.html
Copyright © 2011-2022 走看看