
6 neoDatis odb
delva
senior engineer
展开
-
neodatis.odb 第一篇 存储对象的偏移地址
数据库文件存储对象的偏移地址 DB_HEADER_VERSION_POSITION is: 0DB_HEADER_DBID_POSITION is: 1DB_HEADER_NUMBER_OF_CLS_POSITION is: 33DB_HEADER_FIRST_CLS_OID is: 37DB_HEADER_LAST_CLOSE_STATUS_POSITION is: 45DB_原创 2008-04-27 07:18:00 · 1011 阅读 · 0 评论 -
neodatis.odb 第二篇 一切都是比特
org.neodatis.odb.core.io.ByteArrayConverter 这个类的作用是 :Converts array of bytes into native objects and native objects into array of bytespublic class ByteArrayConverter { …… /** * bit 二进制位(或称比特)原创 2008-05-03 17:22:00 · 159 阅读 · 0 评论 -
neodatis.odb 第三篇 保存对象到文件的过程
保存对象的大致过程odb.store(object) =>LocalStrageEngine.internalStore(object)=>FileSystemInterface.writeLong(long i, boolean writeInTransaction, String label, int writeActionType) FileSystemInterface.wri原创 2008-05-11 01:49:00 · 959 阅读 · 0 评论 -
neodatis.odb 第七篇 学习odb日志1
odb研究日志 2008.5.2 开始分析源代码 ODB - ODBAdapter- LocalODB、RemoteODBClient、SameVMODBClientIStorageEngine- LocalStorageEngine MockStorageEngine、ServerStorageEngie Sto原创 2008-08-05 00:49:00 · 202 阅读 · 0 评论 -
neodatis.odb 第四篇 查询
Objects objs=odb.getObjects(Entity.class) =>ObjectReader.getObejcts(){A=CollectionQueryResultAction} =>ObjectReader.getObejctInfos() =>GenericQueryExecutor.executeFullScan()【A.Start():result原创 2008-05-17 03:44:00 · 4993 阅读 · 0 评论 -
neodatis.odb 第五篇 保存
ODB odb = null; Sport soccer = new Sport("足球"); SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd"); Player 亨利 = new Player("蒂埃里·亨利", format.parse("1977-8-17"), soccer); try { odb原创 2008-05-28 13:57:00 · 1186 阅读 · 0 评论 -
neodatis.odb 第六篇 更新和删除
研究neoDatis odb 有一个月了。上周六晚上,对存储的研究基本结束。相对于db4o,odb的实现相对简单。这有利于代码研究。但odb的更新和删除动作的处理,就难以满意了。odb把更新对象作为一个新对象追加在文件结尾,删除对象则视为已删除,文件并不做删除和移动。这种处理方式很简单,无需将文件中间扣出去一段,然后再向前移动。但这么做的一个恶果是,如果我有30万数据要删除,然后再导入20原创 2008-06-02 13:28:00 · 1203 阅读 · 0 评论