堆外内存的优点
1.启动超大内存(上百GB)的jvm需要很长时间,GC停留时间也会很长(分钟级)。使用堆外内存的话可以极大减少堆内存。
2.高效的IO操作。堆外内存在写磁盘或网络传输时是零拷贝,而堆内存的话,至少需要拷贝一次。
3.堆外内存是进程间共享的。也就是说即使jvm进程崩溃也不会丢失数据。
堆外内存的弊端
1.堆内存的使用、监控、调试都要简单的多,堆外内存意味着更复杂、麻烦。
2.短生命周期的对象在堆内存中申请更廉价。
3.有些操作在堆内存上会快一点。
堆外内存的优点
1.启动超大内存(上百GB)的jvm需要很长时间,GC停留时间也会很长(分钟级)。使用堆外内存的话可以极大减少堆内存。
2.高效的IO操作。堆外内存在写磁盘或网络传输时是零拷贝,而堆内存的话,至少需要拷贝一次。
3.堆外内存是进程间共享的。也就是说即使jvm进程崩溃也不会丢失数据。
堆外内存的弊端
1.堆内存的使用、监控、调试都要简单的多,堆外内存意味着更复杂、麻烦。
2.短生命周期的对象在堆内存中申请更廉价。
3.有些操作在堆内存上会快一点。