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

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

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

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

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

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

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

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

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/30763402/p/1618170.html
Copyright © 2011-2022 走看看