垃圾收集:内存地分配以及无用内存的回收完全实现了自动管理。
    垃圾收集机制的原理:找出哪些不在继续使用的变量,然后释放其占用的内存。
    实现过程:垃圾收集器回按照固定的时间间隔(或代码执行中预定的收集时间)周期性地执行这一操作。

    垃圾分辨原理:首先函数中局部变量。局部变量只在函数执行地过程中存在。直至函数执行结束,局部变量就没有存在地必要,因此可以释放他们的内存以供将来使用。

    具体实现地两个策略:标记清除 引用计数

    • 标记清除

    垃圾收集器在运行的时候回个存储在内存中的所有变量都加上标记(当然,可以使用任何标记方式)。然后,他会去掉环境中的变量以及环境中的变量引用的变量的标记。而在此之后在被加上标记地变量被视为准备山粗的变量,原因是环境中地变量已经无法访问到这些变量了。最后,垃圾收集器完成内存清除工作。销毁哪些带标记的值并回收他们所占用的内存空间。

    • 引用计数(不太常见)

    含义是跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型值赋给该变量时,则这个值地引用次数就是1.如果同一个值又被赋给另一个变量,则该值地引用次数加1。当这个值地引用次数变为0时,则说明没有办法在访问这个值了,因为就可以将其占用的内存空间会收回来。这样,当垃圾收集器下次在运行时,他就会释放哪些引用次数为0 地值所占地内存。(但是有一个严重的问题:循环引用。两个对象之间引用后,离开作用域,但是引用次数永远不会为0.这种情况不会回收。如果这个函数被重复多次调用,就会导致大量内存得不到回收)