其中的垃圾回收还经常在面试中问道(虽然我忘完了). 当然, 垃圾回收不只是JVM, Python等高级语言都用到了....简单说, GC完成的任务就两件事:
找到内存中已经无用的垃圾
将垃圾回收, 以便于之后可以再次利用
之前用C语言的时候, 使用 malloc申请堆上的内存, 是需要通过free函数进行释放的....否则大量内存空间得不到释放, 要出问题的.
而GC简单说就是帮你做了释放内存空间的操作, 使用的人只需要创建, 而不需要关心释放....GC算法的评价标准
GC有很多的算法来实现, 如何来评价一个GC算法的优劣呢? 总要有个判断的依据的吧.
1. 吞吐量
总听过过网络吞吐量吧, 就是每秒能够接受多少字节的数据....越往后速度越慢, 相应的空间越大, 读取数据时, 如果能够从最近的又最快的地方读取, 速度就会快很多.