Prevayler est une base de données en mémoire avec sauvegarde en fichier ( concept de Prevalence )
Joafip stocke tous les objets en fichier. Seul les objets nécessaire sont chargés en mémoire ( "lazy load" du graphe d'objet), puis élimine les objets de la mémoire ( avec éventuelle mise à jour du fichier ) quand les objets ne sont plus nécessaires. Le volume de données peut dépasser la taille de la mémoire.
il semble que Prevayler fournit un système de requête
joafip est basé sur la navigation dans les objets
Prevayler ne gère que des objets sérialisables
Joafip a des règles de persistance, les classes peuvent implémenter ou non Serializable/Externalizable.
joafip et Prevayler sont des framework de persistance
L'accés fichier est plus lent que l'accés à des objets stockés en mémoire:
chaque accées à un objet nécessite un chargement de son état en lisant son enregistrement associé dans le fichier.
chaque sauvegarde nécessite la visite du graphe d'objets pour découvrir les objets ajoutés/supprimés/modifiés pour ensuite mettre à jour le fichier.
Pour l'usage CPU, il y a un nettoyage en tâche de fond des enregistrements devenus inutiles (la fréquence peut être réglée), ce nettoyage est nécessaire quand il y a beaucoup de destructions et création d'objets.