zoukankan      html  css  js  c++  java
  • c# CLR核心机制-垃圾回收

    1. GLR的背景
    2. c#进程堆,线程栈的,值类型和引用类型的区别
    3. 内存的分配和收集问题就产生了GC 
    4. 回收什么样的对象,回收流程,回收算法,和回收策略

     阅读指引:CLR核心机制就是垃圾回收, 讲到进程推和线程栈,是因为gc是针对于进程堆来回收,线程栈是用完全部回收的

        

     

    1. GLR的背景

    CLR是.net fromwork   

    core CLR是全新一套的core CLRE为了跨平台  核心都是去实现GC和JIT

     

    2.c#进程堆,线程栈的,值类型和引用类型的区别

     

     

     从下面可以得出引用类型都是在堆里面的,为什么,因为线程栈,是线程随时可能被回收,如果引用类型放在栈里面,被回收了, 就等于一本字典没有索引页去找里面的内容

     

     值类型和引用类型的区别

     

    3内存的分配和收集问题就产生了GC 

    1.内存分配Allocator

    2.内存收集Collector

    非托管资源 如ado.net的链接,读写文件,为什么有的时候非托管资源没被包裹在using里面也会被释放,因为c#封装好了,但是如果遇到并发问题这里是会卡主的

    4.回收什么样的对象,回收流程,回收算法,和回收策略

     

     

    #对象越老,生成越长,相当于能逃过垃圾的追杀,那么久更容易逃过第二次

     

     

     

     

    4..net core  CLR变化

  • 相关阅读:
    2020软件工程作业02
    自我介绍
    Requests的使用
    爬虫基本原理
    2019春总结作业
    十二周作业
    十一周作业
    第十周作业
    intellij idea 的全局搜索快捷键方法
    Oracle多表关联
  • 原文地址:https://www.cnblogs.com/LZXX/p/13956991.html
Copyright © 2011-2022 走看看