Bonjour, peut etre ai-je mal compris tout les propos que ma question
précédente, mais j'ai l'impression que tout le monde s'est attaché à
répondre sur comment charger des données mais pas trop (gerer la
profondeur, le cache, etc.).
Ma question, c'est l'inverse : comment libérer des données autrement
qu'avec une affectation de null qui peut poser des dangers en cas d'update.
Autrement dit, je vais parcourir mon graphe plusieurs fois totalement.
Il ne peut en aucun cas être chargé en mémoire, et je ne souhaite pas
forcément le modifier.
Je veux pouvoir en charger une partie puis au fur et a mesur du parcours
qu'hibernate gere la libération de la mémoire pour autoriser le
chargement de nouvelle parties. Le chargement ne pose en effet aucun
problème.
La question c'est comment libérer de la mémoire automatiquement ???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lionel
Pif wrote:
Bonjour, peut etre ai-je mal compris tout les propos que ma question précédente, mais j'ai l'impression que tout le monde s'est attaché à répondre sur comment charger des données mais pas trop (gerer la profondeur, le cache, etc.).
c'est un peu le principe d'une base de données: on fait une requete qui remonte uniquement certaines données. On ne charge pas tout en mémoire pour ensuite parcourir ce qui a été chargé. As tu rééllement besoin de faire cela ?
Autrement dit, je vais parcourir mon graphe plusieurs fois totalement. Parcourir l'intégralité de l'arbre dans quel objectif ?
Atteindre une donnée ? Faire un traitement particulier sur tous les noeuds ?
La question c'est comment libérer de la mémoire automatiquement ???
La solution à mon avis c'est plutot de ne pas charger ce dont tu n'as pas besoin.
Pif wrote:
Bonjour, peut etre ai-je mal compris tout les propos que ma question
précédente, mais j'ai l'impression que tout le monde s'est attaché à
répondre sur comment charger des données mais pas trop (gerer la
profondeur, le cache, etc.).
c'est un peu le principe d'une base de données: on fait une requete qui
remonte uniquement certaines données.
On ne charge pas tout en mémoire pour ensuite parcourir ce qui a été chargé.
As tu rééllement besoin de faire cela ?
Autrement dit, je vais parcourir mon graphe plusieurs fois totalement.
Parcourir l'intégralité de l'arbre dans quel objectif ?
Atteindre une donnée ?
Faire un traitement particulier sur tous les noeuds ?
La question c'est comment libérer de la mémoire automatiquement ???
La solution à mon avis c'est plutot de ne pas charger ce dont tu n'as pas
besoin.
Bonjour, peut etre ai-je mal compris tout les propos que ma question précédente, mais j'ai l'impression que tout le monde s'est attaché à répondre sur comment charger des données mais pas trop (gerer la profondeur, le cache, etc.).
c'est un peu le principe d'une base de données: on fait une requete qui remonte uniquement certaines données. On ne charge pas tout en mémoire pour ensuite parcourir ce qui a été chargé. As tu rééllement besoin de faire cela ?
Autrement dit, je vais parcourir mon graphe plusieurs fois totalement. Parcourir l'intégralité de l'arbre dans quel objectif ?
Atteindre une donnée ? Faire un traitement particulier sur tous les noeuds ?
La question c'est comment libérer de la mémoire automatiquement ???
La solution à mon avis c'est plutot de ne pas charger ce dont tu n'as pas besoin.
Pif
le principe d'une BD : la requette renvoie une réponse indépendante de tout autre contexte. Du coup, un ptit "= null" ou rs.close() et le tour est joué...
La persistence : c'est obj.getAutreObjet() qui charge dans la BD... mais nulle part on a un obj.pasBesoinPendantUnBoutDeTemps(); pour qui vide un peu la mémoire, qui a relancer la chargement une autre fois...
Je ne veux pas tout charger en mémoire... je veux charge des ptits bouts comme dans une bd, mais avec un outil de persistence parceque c'est bien pratique... je veux parcourir mon graphe, ce sera en général une partie du graphe qui sera bien supérieur à la capacité de la mémoire...
mais JE NE VEUX PAS CHARGER TOUT LE GRAPHE SIMULTANEMENT... au fur et a mesure de l'exécution, du chargement de données, d'autres données sont libérée, quitte à etre rechargées...
Il s'agit d'une sorte de garbage collector que je recherche, sauf la la donnée est encore référencées, il faudra simplement la recharger...
le principe d'une BD : la requette renvoie une réponse indépendante de
tout autre contexte. Du coup, un ptit "= null" ou rs.close() et le tour
est joué...
La persistence : c'est obj.getAutreObjet() qui charge dans la BD... mais
nulle part on a un obj.pasBesoinPendantUnBoutDeTemps(); pour qui vide un
peu la mémoire, qui a relancer la chargement une autre fois...
Je ne veux pas tout charger en mémoire...
je veux charge des ptits bouts comme dans une bd, mais avec un outil de
persistence parceque c'est bien pratique...
je veux parcourir mon graphe, ce sera en général une partie du graphe
qui sera bien supérieur à la capacité de la mémoire...
mais JE NE VEUX PAS CHARGER TOUT LE GRAPHE SIMULTANEMENT... au fur et a
mesure de l'exécution, du chargement de données, d'autres données sont
libérée, quitte à etre rechargées...
Il s'agit d'une sorte de garbage collector que je recherche, sauf la la
donnée est encore référencées, il faudra simplement la recharger...
le principe d'une BD : la requette renvoie une réponse indépendante de tout autre contexte. Du coup, un ptit "= null" ou rs.close() et le tour est joué...
La persistence : c'est obj.getAutreObjet() qui charge dans la BD... mais nulle part on a un obj.pasBesoinPendantUnBoutDeTemps(); pour qui vide un peu la mémoire, qui a relancer la chargement une autre fois...
Je ne veux pas tout charger en mémoire... je veux charge des ptits bouts comme dans une bd, mais avec un outil de persistence parceque c'est bien pratique... je veux parcourir mon graphe, ce sera en général une partie du graphe qui sera bien supérieur à la capacité de la mémoire...
mais JE NE VEUX PAS CHARGER TOUT LE GRAPHE SIMULTANEMENT... au fur et a mesure de l'exécution, du chargement de données, d'autres données sont libérée, quitte à etre rechargées...
Il s'agit d'une sorte de garbage collector que je recherche, sauf la la donnée est encore référencées, il faudra simplement la recharger...