zoukankan      html  css  js  c++  java
  • 内存管理

         CLR管理内存的区域主要分三大块:

        1 线程的堆栈,用语分配值类型实例。堆栈主要由操作系统管理,而不受垃圾回收机制的控制,当值类型实例所在的方法结束时,其存储单元自动释放。栈执行效率高,但储存容量有限。

        2  GC堆,用于分配小对象实例。如果引用对象类型的实例大小小于850000字节,实例将被分配在GC堆上,当有内存分配或者回收时,垃圾收集器可能会对GC堆进行压缩

       3  LOH(Large Object Heap)堆,顾名思义,对分配大的引用对象实例,不小于850000字节,分配到LOH堆上的实例不会被压缩,而且只在完全GC回收时被回收。

    ------------------------------------------------------------------------------

    对于值类型来说,一般都是创建到线程堆栈上,单也不是一定的。当值类型作为类的字段时,值类型作为实例成员 的一部分也被创建在托管堆上,装箱发生时,值类型字段也会拷贝在托管堆上。

       对于分配在堆栈上的局部变量来说,操作系统维护着一个堆栈指针来指向下一个自由空间的地址,并且堆栈的内存是由高位向地位向下填充。

  • 相关阅读:
    UVA247 电话圈 Calling Circles
    Python开发之路
    Day 8-模块
    Homework
    Day 7- 装饰器
    Day 6-文件操作的其他方法 迭代器 生成器
    数据-进制
    Day 5-变量与高阶函数
    Day 4-集合、百分号拼接及函数
    Day 3-Python列表、元祖、词典
  • 原文地址:https://www.cnblogs.com/30763402/p/1618170.html
Copyright © 2011-2022 走看看