## 瓦尔哈拉计划与序列化问题
Cay Horstmann 的瓦尔哈拉计划旨在将 Java 对象表示为原始值以提高性能——本质上是将“引用”转换为直接数据。一个关键的演示涉及扁平化 `LocalDate` 对象数组,显著加快了处理速度。然而,在从 Git 仓库构建时,使用瓦尔哈拉早期访问版本获得的初步成功并不容易实现。
罪魁祸首?序列化。虽然瓦尔哈拉允许 `LocalDate` 可能适合 8 个字节(包括空值指示符),但标准的 `LocalDate` 实现使用 `writeReplace` 以不同的方式序列化数据,这与其内部表示不同,以实现向后兼容性。Java 25 构建中的一个临时优化——将 `LocalDate` 的月份和天字段更改为字节——实现了扁平化,但由于在序列化 `LocalDate.class` 对象本身时出现问题而被撤销。
核心问题在于 Java 的序列化协议,它在反序列化期间比较字段定义。即使序列化数据本身仍然兼容,当前类定义与序列化类定义之间的字段类型不匹配也会导致序列化类对象时失败。一个建议的解决方案是显式声明 `LocalDate` 没有可序列化字段,从而允许继续扁平化。这凸显了序列化的复杂性以及为长期兼容性设计稳定线路格式的重要性。
## PicoIDE:复古计算工具
PicoIDE由PicoGUS的开发者创建,是一款为经典PC设计的开源IDE/ATAPI驱动器模拟器。它允许用户从.bin/.cue/.iso(CD-ROM)和.img/.hda/.vhd/.hdf(HDD)镜像文件运行软件,从而有效地替代物理驱动器。
该设备支持PIO模式0-4和MWDMA 0-2,性能可与52倍速CD-ROM驱动器相媲美。它具有内置CD音频输出,以及可选的外壳,配备1.3英寸OLED屏幕、导航按钮、WiFi连接(用于镜像管理)和RGB活动LED。
目前模拟一个驱动器,未来的开发目标是支持同时使用两个设备。虽然硬件已最终确定,但未来的迭代*可能*会探索更多功能和不同于最初3.5英寸版本的形态。PicoIDE即将发布 – 注册以获取有关可用性和定价的通知。