lealone 8.0的 row 对象已经优化到极致,今天做了个优化把 version 字段也去除了,现在的 row 对象只有3个字段:long 类型的 key、指向列值的数组、指向行锁的引用。现在一个 row 对象占用的内存比老版本少了小几十个字节,加载大量记录能省不少内存。java 开发的数据库占用的内存比 mysql 还少了!
@zhh-4096
数据库的一条记录从硬盘读出来反序列化成一个 java 对象,这个对象占用的内存直接决定了数据库是否吃内存,只要能把这个对象减去一个不必要的字段就能优化内存使用,去掉一个 int 字段,加载1000万条记录就能省38M内存。jdk 最新版本也在 jvm 内部压缩了每个对象头占用的内存空间。
