c#-gc.collect() 怎么用,和using有什么关系?用了using是不是就不用回收了?

问题描述

gc.collect() 怎么用,和using有什么关系?用了using是不是就不用回收了?
gc.collect() 怎么用,和using有什么关系?用了using是不是就不用回收了?

解决方案

http://blog.sina.com.cn/s/blog_719b647c0100n8z5.html

解决方案二:
C#中有托管代码和非托管代码

简单的来说就是 使用using之后你自己不用回收了 只不过是.net的内部运行机制帮你自行回收了

典型的应用就是打开数据库连接的时候
你使用using 就可以不用释放数据库连接 否则的话就要自己手动释放连接

解决方案三:
主要你不了解GC 你应该看看 什么是GC 以及其作用
http://kb.cnblogs.com/page/106720/
GC工作方式
http://blog.csdn.net/tb12315/article/details/7883663

Using
一个是导某个命名空间一个是在数据访问层中可以自动关闭和释放连接

时间: 2024-08-29 01:24:50

c#-gc.collect() 怎么用,和using有什么关系?用了using是不是就不用回收了?的相关文章

gc.collect能不能指定回收哪个对象?C#中什么方法可以指定回收一个对象?

问题描述 gc.collect能不能指定回收哪个对象?C#中什么方法可以指定回收一个对象? gc.collect能不能指定回收哪个对象?C#中什么方法可以指定回收一个对象? 解决方案 不可以,你不能控制gc回收什么对象,事实上也没有意义. 解决方案二: 这是系统提供的回收内存的接口,不是回收某个变量的.你最好是看看帮助文档. 解决方案三: gc只能触发垃圾回收 至于回收什么对象 系统有自己的回收机制

.NET中的内存管理,GC机制,内存释放过程

引言 作为一个.NET程序员,我们知道托管代码的内存管理是自动的..NET可以保证我们的托管程序在结束时全部释放,这为我们编程人员省去了不少麻烦,我们可以连想都不想怎么去管理内存,反正.NET自己会保证一切.好吧,有道理,有一定的道理.问题是,当我们用到非托管资源时.NET就不能自动管理了.这是因为非托管代码不受CLR(Common Language Runtime)控制,超出CLR的管理范围.那么如何处理这些非托管资源呢,.NET又是如何管理并释放托管资源的呢? 自动内存管理和GC 在原始程序

Form中的ActiveX控件无法被GC回收

问题描述:在windows窗体中加入一ActiveX控件,例如axCanlendar,显式释放控件的资源,清除对它的引用后,该控件仍然无法被GC所回收. --------------------------------------------------------------------------------------------------------------------------------------------------------------------- 问题重现:在F

System.gc

  Java中的内存分配是随着new一个新的对象来实现的,这个很简单,而且也还是有一些可以"改进"内存回收的机制的,其中最显眼的就是这个System.gc()函数. 乍一看这个函数似乎是可以进行垃圾回收的,可事实并不是那么简单.其实这个gc()函数的作用只是提醒虚拟机:程序员希望进行一次垃圾回收.但是它不能保证垃圾回收一定会进行,而且具体什么时候进行是取决于具体的虚拟机的,不同的虚拟机有不同的对策.   java提供了从语言角度能够强制jvm进行垃圾回收,在我们的程序中可以通过调用Sy

GC 是什么? 为什么要有GC?

问题描述 GC是什么?为什么要有GC? 解决方案 解决方案二:JAVA/.NET中的垃圾收集器.Java是由C++发展来的.它摈弃了C++中一些繁琐容易出错的东西.其中有一条就是这个GC.而C#又借鉴了JAVA. 在老式的C/C++程序中,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值.由于内存是有限的,所以当程序不再需要使用某个变量的时候,就需要销毁该对象并释放其所占用的内存资源,好重新利用这段空间.在C/C++中,释放无用变量内存空间的事情需要由程序员自己来处理.就是说当程序员

C#技术漫谈之垃圾回收机制(GC)

GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现.Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理. 但后来的日子里Lisp却没有成气候,采用内存手动管理的语言占据了上风,以C为代表.出于同样的理由,不同的人却又不同的看法,C程序员认为内存管理太重要了,所以不能由系统来管理,并且讥笑Lisp程序慢如乌龟的运行速度.

.net GC知识点滴

垃圾回收算法:     托管堆:CLR要求的资源从托管堆分配,任何对象只要没有应用程序的根引用它,都会在某个时刻被垃圾回收器回收     基于代的机制,提高回收的性能,在程序的生命期中,新建的对象是新一代,而创建的比较早的对象是老一代,第0代是最近分配的对象,CLR 使用了0,1,2三代进行管理 GC和调试 GcAndDebug.cs (例子代码) 本地资源 终结(finalization)是CLR提供的一种机制,允许对象在垃圾回收器回收其内存之前执行一些得体的清理工作,任何包装了本地资源的类型

从C#垃圾回收(GC)机制中挖掘性能优化方案

GC,Garbage Collect,中文意思就是垃圾回收,指的是系统中的内存的分配和回收管理.其对系统性能的影响是不可小觑的.今天就来说一下关于GC优化的东西,这里并不着重说概念和理论,主要说一些实用的东西.关于概念和理论这里只做简单说明,具体的大家可以看微软官方文档. 一.什么是GC                                                                                              GC如其名,就是垃圾收集

jvm系列(三):GC算法 垃圾收集器

概述 垃圾收集 Garbage Collection 通常被称为"GC",它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了. jvm 中,程序计数器.虚拟机栈.本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是动态的. 对象存活判断 判断对象是否存活一般有两种方式: 引用计数:每个对象有一个引用计数属性