老了,向后兼容性导致java承担了巨大的历史包袱,很多改进非常迟缓。
比如备受诟病的Java 对象模型,普通对象 (Object) 需存储对象头(16-24字节)+ 引用(4-8字节),导致小对象(如 Point、Complex)内存利用率极低,并且对象通过堆内存引用访问,导致CPU 缓存局部性差(频繁 cache miss)以及无法利用寄存器优化。
而JEP 401: Value Classes and Objects就是为了改进这个问题,搞了好几年了,貌似已经进入Preview阶段。
在比如另外一个容易把新手搞混的(尤其是从C#或者C++转过来的)Java泛型:擦除法实现,并且不支持基本类型。这个改动会涉及很多方面,比如JEP 218: Generics over Primitive Types以及上面的JEP 401都与此有关。
【 在 dawndawn001 的大作中提到: 】
: Java为啥不行了?
--
FROM 223.166.244.*