GC

垃圾回收(Garbage Collection)

  1. 什么是垃圾回收(Garbage Collection)?它的作用是什么?
  2. .NET中的垃圾回收器是如何工作的?
  3. 什么是代(Generation)?.NET中的垃圾回收器有几代?
  4. 什么是根对象(Root Object)?垃圾回收器如何确定根对象?
  5. 什么是托管堆(Managed Heap)?它的结构是什么?
  6. 什么是大对象堆(Large Object Heap, LOH)?它的特点是什么?
  7. 什么是垃圾回收的模式(Workstation GC vs. Server GC)?它们的区别是什么?
  8. 什么是并发垃圾回收(Concurrent GC)?它的优点是什么?
  9. 什么是强制垃圾回收(Forced Garbage Collection)?如何触发?
  10. 什么是终结器(Finalizer)?它的作用是什么?

垃圾回收的性能优化

  1. 垃圾回收对应用程序性能的影响是什么?
  2. 如何减少垃圾回收的频率?
  3. 什么是对象池(Object Pooling)?它的作用是什么?
  4. 如何避免大对象堆(LOH)的碎片化?
  5. 什么是弱引用(Weak Reference)?它的作用是什么?
  6. 什么是IDisposable接口?它的作用是什么?
  7. 什么是using语句?它的作用是什么?
  8. 如何实现IDisposable接口?
  9. 什么是Dispose模式?如何正确实现它?
  10. 什么是GC.Collect()?为什么应该避免手动调用它?

内存泄漏

  1. 什么是内存泄漏(Memory Leak)?它是如何发生的?
  2. 在.NET中,内存泄漏的常见原因有哪些?
  3. 如何检测内存泄漏?
  4. 什么是事件处理程序(Event Handler)导致的内存泄漏?如何避免?
  5. 什么是静态变量(Static Variable)导致的内存泄漏?如何避免?
  6. 什么是缓存(Cache)导致的内存泄漏?如何避免?
  7. 什么是未释放的资源(Unmanaged Resources)导致的内存泄漏?如何避免?
  8. 什么是循环引用(Circular Reference)?它会导致内存泄漏吗?
  9. 如何使用工具(如Visual Studio Diagnostic Tools、dotMemory)检测内存泄漏?
  10. 什么是WeakReference?它如何帮助避免内存泄漏?

避免内存泄漏的最佳实践

  1. 如何正确释放非托管资源?
  2. 如何避免事件处理程序导致的内存泄漏?
  3. 如何避免静态变量导致的内存泄漏?
  4. 如何避免缓存导致的内存泄漏?
  5. 如何避免大对象堆(LOH)的碎片化?
  6. 如何正确使用IDisposable接口?
  7. 如何正确使用using语句?
  8. 如何避免循环引用导致的内存泄漏?
  9. 如何避免未释放的资源导致的内存泄漏?
  10. 如何避免过度使用终结器(Finalizer)?

工具与调试

  1. 如何使用Visual Studio Diagnostic Tools检测内存泄漏?
  2. 如何使用dotMemory检测内存泄漏?
  3. 如何使用PerfView分析内存使用情况?
  4. 如何使用WinDbg分析内存泄漏?
  5. 如何使用GC.GetTotalMemory()方法监控内存使用情况?
  6. 如何使用GC.GetGeneration()方法查看对象的代?
  7. 如何使用GC.WaitForPendingFinalizers()方法等待终结器执行?
  8. 如何使用GC.AddMemoryPressure()GC.RemoveMemoryPressure()方法?
  9. 如何使用GC.TryStartNoGCRegion()GC.EndNoGCRegion()方法?
  10. 如何使用GC.GetGCMemoryInfo()方法获取GC内存信息?

高级主题

  1. 什么是SafeHandle?它的作用是什么?
  2. 什么是CriticalFinalizerObject?它的作用是什么?
  3. 什么是ConditionalWeakTable<TKey, TValue>?它的作用是什么?
  4. 什么是Memory<T>Span<T>?它们如何帮助减少内存分配?
  5. 什么是ArrayPool<T>?它的作用是什么?
  6. 什么是MemoryCache?它的作用是什么?
  7. 什么是ObjectPool<T>?它的作用是什么?
  8. 什么是MemoryFailPoint?它的作用是什么?
  9. 什么是GCSettings?它的作用是什么?
  10. 什么是GCNotification?它的作用是什么?
posted @ 2025-02-24 15:20  aynulily  阅读(22)  评论(0)    收藏  举报