这个机制详细讲起来比较复杂
你可以理解为 在虚拟机运行的时候 它会不定期的清理一些临时变量或者没用的对象
这个释放内存 而这些释放后的内存就重新分配给新的对象和变量 这种机制就是避免了过多的占用内存
这个里面有个垃圾回收算法
显性调用的话 可以System.gc() 就可以了 但一般不建议这么做
调用这个方法的两个条件 1 当没有任何应用线程运行时 2 当堆内存不够的时候
避免这种的几个方法
我认为主要有三个 1 良好的算法 比如数组的建立 byte[] b =new byte[1024*1024]
如果数据没那么大 就没必要这么设 很浪费资源 还有就是内存溢出问题
2 尽量少用静态 因为静态一旦初始化就一直存在
3 有些 比如 int 能用就用基本数据类型 不要用它的对象 Integer {:soso_e100:} |