由于netty基于java开发的,其内存管理往往容易被忽略,需要慎重考虑。
为了提高数据读取发送效率,采用了direct模式和heap模式,后者在java堆上分配,可以由gc收集释放;前者是堆外内存(可以理解为基于内存new的),需要手动及时释放。
direct内存管理也是采用计数器的方法,retain增加一次应用,release减少一次,当计数为0时,将释放内存。
由于netty基于java开发的,其内存管理往往容易被忽略,需要慎重考虑。
为了提高数据读取发送效率,采用了direct模式和heap模式,后者在java堆上分配,可以由gc收集释放;前者是堆外内存(可以理解为基于内存new的),需要手动及时释放。
direct内存管理也是采用计数器的方法,retain增加一次应用,release减少一次,当计数为0时,将释放内存。