gc是什么意思?

在计算机程序设计领域GC指垃圾回收(Garbage Collection),是一种内存管理机制。

GC(Garbage Collection)垃圾回收

JAVA/.NET中的垃圾回收器。Java是由C 发展来的。它摈弃了C 中一些繁琐容易出错的东西。其中有一条就是这个GC。而C#又借鉴了JAVA。

在C/C 程序中,程序员在内存中主动开辟一段相应的空间来存值。由于内存是有限的,所以当程序不再需要使用该内存空间时,就需要销毁对象并释放其所占用的内存资源,好重新利用这段空间。在C/C 中,释放无用内存空间的事情需要由程序员自己来处理。就是说当程序员认为空间没用了,就手动地释放其占用的内存。但是这样显然非常繁琐,如果有所遗漏,就可能造成资源浪费甚至内存泄露。当软件系统比较复杂,变量多的时候程序员往往就忘记释放内存或者在不该释放的时候释放内存了。

有了GC,程序员就不需要再手动的去控制内存的释放。当Java虚拟机(VM)或.NETCLR发觉内存资源紧张的时候,就会自动地去清理无用对象(没有被引用到的对象)所占用的内存空间(这里的说法略显粗略,事实上何时清理内存是个复杂的策略)。如果需要,可以在程序中显式地使用System.gc() / System.GC.Collect()来强制进行一次立即的内存清理。Java提供的GC功能可以自动监测对象是否超过了作用域,从而达到自动回收内存的目的,Java的GC会自动进行管理,调用方法:System.gc() 或者Runtime.getRuntime().gc();

值得注意的是RUST语言没有GC机制,依靠所有权来进行内存管理。

GC(Grid Communication)网格通信

网格是一种新兴的技术,正处在不断发展和变化当中。目前学术界和商业界围绕网格开展的研究有很多,其研究的内容和名称也不尽相同因而网格尚未有精确的定义和内容定位。比如国外媒体常用“下一代互联网”、“Internet2”、“下一代Web”等来称呼网格相关技术。但“下一代互联网(NGI)”和“Internet2”又是美国的两个具体科研项目的名字,它们与网格研究目标相交叉,研究内容和重点有很大不同。企业界用的名称也很多,有内容分发(Contents Delivery)、服务分发(Service Delivery)、电子服务(e-service)、实时企业计算(Real-Time Enterprise Computing,简称RTEC)、分布式计算Peer-to-Peer Computing(简称P2P)、Web服务(Web Services)等。中国科学院计算所所长李国杰院士认为,网格实际上是继传统互联网、Web之后的第三次浪潮,可以称之为第三代互联网应用。

网格是利用互联网把地理上广泛分布的各种资源(包括计算资源、存储资源、带宽资源、软件资源、数据资源、信息资源、知识资源等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等),虚拟组织最终实现在这个虚拟环境下进行资源共享和协同工作,彻底消除资源“孤岛”,最充分的实现信息共享。

上一篇
木有了

相关文章

微信 WeChat新浪微博TwitterTelegram搜索linkclock