Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2407 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

[java] existe t'il l'équivalent du 'call' cobol ?

n°217671
lorill
Posté le 20-09-2002 à 13:47:13  profilanswer
 

Reprise du message précédent :

benou a écrit a écrit :

 
moi je suis pour l'invocation dynamique, à moins que tu sois à quelques millisecondes près ...




 
ouééé \o/ je commencais a me sentir seul  :)

mood
Publicité
Posté le 20-09-2002 à 13:47:13  profilanswer
 

n°217676
benou
Posté le 20-09-2002 à 13:54:55  profilanswer
 

lorill a écrit a écrit :

 
 
ouééé \o/ je commencais a me sentir seul  :)  




ben je sais pas ce qu'ils lui reproche à l'invocation dynamique, c'est vachement pratique !
 
C'est vrai que c'est moins performant qu'un appel classique, mais y a souvent moyen d'optimiser ca (passer par une factory, etc ...)

n°217681
ptibonom
Posté le 20-09-2002 à 13:57:11  profilanswer
 

benou a écrit a écrit :

 
ben je sais pas ce qu'ils lui reproche à l'invocation dynamique, c'est vachement pratique !
 
C'est vrai que c'est moins performant qu'un appel classique, mais y a souvent moyen d'optimiser ca (passer par une factory, etc ...)




 
ou bien avoir un serveur plus puissant  :D , ce qui est souvent la solution adoptées dans les banques  ;)

n°217682
benou
Posté le 20-09-2002 à 13:59:26  profilanswer
 

ce que je voulais dire, c'est que à moins de faire de l'invocation en boucle dans une appli, tu verras pas la différence.
 
Evidement, si c'est pour faire du traitement massif, il faut penser à une autre solution, mais le nombre d'appli où c'est le cas est plutot réduit :/


Message édité par benou le 20-09-2002 à 13:59:36
n°217684
benou
Posté le 20-09-2002 à 14:00:53  profilanswer
 

ptibonom a écrit a écrit :

 
 
ou bien avoir un serveur plus puissant  :D , ce qui est souvent la solution adoptées dans les banques  ;)  




 
y a qu'à compter le nombre Mo de Ram que tu peux acheter avec ce que coute 1 jour de développement ;)

n°217685
ptibonom
Posté le 20-09-2002 à 14:01:16  profilanswer
 

benou a écrit a écrit :

ce que je voulais dire, c'est que à moins de faire de l'invocation en boucle dans une appli, tu verras pas la différence.
 
Evidement, si c'est pour faire du traitement massif, il faut penser à une autre solution, mais le nombre d'appli où c'est le cas est plutot réduit :/




 
pas de boucle chez nous mais quasiment 10000 fichiers par jour à contrôler et donc 10000 invocations dynamiques  :D

n°217688
lorill
Posté le 20-09-2002 à 14:02:39  profilanswer
 

ptibonom a écrit a écrit :

 
 
pas de boucle chez nous mais quasiment 10000 fichiers par jour à contrôler et donc 10000 invocations dynamiques  :D  




 
bah, en 24h ca devrait passer sans probleme quand même

n°217690
benou
Posté le 20-09-2002 à 14:07:24  profilanswer
 

bha ... 10000 invocation en une journée, ca va pas crouler ta machine !
 
y a un truc que j'ai pas bien compris dans ton problème : est ce que tu connais par avance les méthodes qui sont suceptibles d'être appelées ?  
 
si oui, tu devrait pouvoir utiliser un genre de Map qui contiendrait la liste des objets à apeller. ces objets posséderaient tous la même interface (la même méthode) qui se chargerait d'apeller la bonne méthode.
 
le nom de la méthode dans ta bdd pourrait servir de clef pour cette Map.
 
Là tu gagne en efficacité. Mais bon, faut voir si c'est le but, et si le temps de codage de ces classes supplémentaire n'est pas trop long par rapport à ta dead line ...

n°217691
benou
Posté le 20-09-2002 à 14:08:36  profilanswer
 

autre solution, fait ca proprement en isolant l'invocation de la méthode du reste de ton programme. Comme ca, si un jour vous avez des problèmes de perfs, vous pourrez facilement changer la méthode d'invocation ...

n°217704
benou
Posté le 20-09-2002 à 14:34:22  profilanswer
 

pour comparer les perfs :  
 

Code :
  1. package test;
  2. class Testeur {
  3.    private int cpt = 0;
  4.    public void test() {
  5.       if (((cpt++) % 10) == 0) {
  6.          System.out.print('*');
  7.       }
  8.       if (((cpt) % 500) == 0) {
  9.          System.out.println();
  10.       }
  11.    }
  12. }
  13. public class InvocTestPerf {
  14.    public static final int NB_INVOC = 10000;
  15.    public static java.text.NumberFormat formater = new java.text.DecimalFormat("#,##0.00" );
  16.    public static void main (String[] args) throws Exception {
  17.       // invoc statique
  18.       {
  19.          double begin = System.currentTimeMillis();
  20.          Testeur t; = new Testeur();
  21.          for (int i = 0; i < NB_INVOC; i++) {
  22.             t.test();
  23.          }
  24.          double end = System.currentTimeMillis();
  25.          System.out.println("\n durée : " + formater.format((end - begin) / 1000));
  26.       }
  27.       // invoc dynamique
  28.       {
  29.          double begin = System.currentTimeMillis();
  30.          Testeur t = new Testeur();
  31.          for (int i = 0; i < NB_INVOC; i++) {
  32.             Testeur.class.getMethod("test", null).invoke(t, null);
  33.          }
  34.          double end = System.currentTimeMillis();
  35.          System.out.println("\n durée : " + formater.format((end - begin) / 1000));
  36.       }
  37.    }
  38. }


 
le résultat :  


**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
 
 durée : 0,33
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
 
 durée : 0,50


 
test réalisé sur  
P3 733, 256 Mo SDRAM
win 2k
jdk 1.4.1
 
conclusion : le surcout c'est pinuts ! et tu mon pc peux faire 20000 invocation dynamique à la seconde ! donc en 24 heure, quelque soit ton serveur, ca devrait aller ... ;)


Message édité par benou le 20-09-2002 à 14:35:06
mood
Publicité
Posté le 20-09-2002 à 14:34:22  profilanswer
 

n°217707
ptibonom
Posté le 20-09-2002 à 14:39:18  profilanswer
 

benou a écrit a écrit :

bha ... 10000 invocation en une journée, ca va pas crouler ta machine !
 
==> c'est ce qu'il me semble aussi  ;)  
 
y a un truc que j'ai pas bien compris dans ton problème : est ce que tu connais par avance les méthodes qui sont suceptibles d'être appelées ?  
 
si oui, tu devrait pouvoir utiliser un genre de Map qui contiendrait la liste des objets à apeller. ces objets posséderaient tous la même interface (la même méthode) qui se chargerait d'apeller la bonne méthode.
 
le nom de la méthode dans ta bdd pourrait servir de clef pour cette Map.
 
Là tu gagne en efficacité. Mais bon, faut voir si c'est le but, et si le temps de codage de ces classes supplémentaire n'est pas trop long par rapport à ta dead line ...
 




 
on avait aussi envisagé de créer une matrice reliant pour chaque type de fichier (en ordonnée) les méthodes de contrôles unitaires (en abscisse) avec un booléen pour dire si oui ou non il faut exécuter la méthode;
 
mais bon, il y a 2 inconvénients : il y aura plusieurs centaines de méthodes de contrôles unitaires et, en gros, une cinquantaine de contrôles par type de fichiers, ce qui multiplierait le nombre d'invocations dynamiques; et puis bonjour la complexité !

n°217710
--greg--
Posté le 20-09-2002 à 14:41:20  profilanswer
 

j'ai jamais dit que j'etais contre non plus :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217711
ptibonom
Posté le 20-09-2002 à 14:41:30  profilanswer
 

surtout qu'on sera pas sur un pc mais sur un AIX (un gros serveur UNIX, quoi !)  :lol:

n°217713
ptibonom
Posté le 20-09-2002 à 14:42:34  profilanswer
 

ceci dit, je dois remercier tout le monde de me répondre, et puis un peu de polémique permet généralement de trouver la meilleure solution (dans la limite des contraintes bien sûr).


Message édité par ptibonom le 20-09-2002 à 14:42:41
n°217714
benou
Posté le 20-09-2002 à 14:43:46  profilanswer
 

donc, toutes tes méthodes de contrôles tu les connais à l'avance, et c'est en fonction du type de fichier que tu dois les déclencher ...
ben mois pour ce truc là, je me ferai une petite Map avec en clef le type du fichier et en valeur une List de méthodes à executer.
 
Cette liste peut être construite une fois pour toute (statique) ou en dynmique à partir de ta base deonnée, mais en ensuite les appels aux méthodes seront statiques => performantes ...
 
si tu veux plus de détail, décrit un peu mieux ce que tu doit faire exactement par ce que là c'est encore un peu vague ...

n°217715
benou
Posté le 20-09-2002 à 14:45:01  profilanswer
 

ptibonom a écrit a écrit :

ceci dit, je dois remercier tout le monde de me répondre, et puis un peu de polémique permet généralement de trouver la meilleure solution (dans la limite des contraintes bien sûr).




 :jap:  
 
en tout cas je suis moi même surpris par mon test : j'aurais cru que le surcout de l'appel dynmique aurait étét plus important ...

n°217726
--greg--
Posté le 20-09-2002 à 14:55:43  profilanswer
 

benou a écrit a écrit :

 
 :jap:  
 
en tout cas je suis moi même surpris par mon test : j'aurais cru que le surcout de l'appel dynmique aurait étét plus important ...



c quand meme presque le double hein:)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217737
ptibonom
Posté le 20-09-2002 à 15:25:56  profilanswer
 

benou a écrit a écrit :

donc, toutes tes méthodes de contrôles tu les connais à l'avance, et c'est en fonction du type de fichier que tu dois les déclencher ...
ben mois pour ce truc là, je me ferai une petite Map avec en clef le type du fichier et en valeur une List de méthodes à executer.
 
==> c'est une solution, un peu comme mon idée de matrice, de plus en plus séduisantes, ces solutions, d'ailleurs.
 
Cette liste peut être construite une fois pour toute (statique) ou en dynmique à partir de ta base deonnée, mais en ensuite les appels aux méthodes seront statiques => performantes ...
 
si tu veux plus de détail, décrit un peu mieux ce que tu doit faire exactement par ce que là c'est encore un peu vague ...
 
==> à qui le dis-tu ...  :lol:  



n°217738
benou
Posté le 20-09-2002 à 15:26:32  profilanswer
 

--greg-- a écrit a écrit :

c quand meme presque le double hein:)




ben je m'attendais à largement plus ...
et puis bon, tu remarqueras que je fais un getMethod à chaque fois alors que c'est pas util ...

n°217740
benou
Posté le 20-09-2002 à 15:27:56  profilanswer
 

Code :
  1. package test;
  2. class Testeur {
  3.    private int cpt = 0;
  4.    public void test() {
  5.       if (((cpt++) % 10) == 0) {
  6.          System.out.print('*');
  7.       }
  8.       if (((cpt) % 500) == 0) {
  9.          System.out.println();
  10.       }
  11.    }
  12. }
  13. public class InvocTestPerf {
  14.    public static final int NB_INVOC = 10000;
  15.    public static java.text.NumberFormat formater = new java.text.DecimalFormat("#,##0.00" );
  16.    public static void main (String[] args) throws Exception {
  17.       // invoc statique
  18.       {
  19.          double begin = System.currentTimeMillis();
  20.          Testeur t = new Testeur();
  21.          for (int i = 0; i < NB_INVOC; i++) {
  22.             t.test();
  23.          }
  24.          double end = System.currentTimeMillis();
  25.          System.out.println("\n durée : " + formater.format((end - begin) / 1000));
  26.       }
  27.       // invoc dynamique
  28.       {
  29.          double begin = System.currentTimeMillis();
  30.          Testeur t = new Testeur();
  31.          java.lang.reflect.Method met = Testeur.class.getMethod("test", null);
  32.          for (int i = 0; i < NB_INVOC; i++) {
  33.            met.invoke(t, null);
  34.          }
  35.          double end = System.currentTimeMillis();
  36.          System.out.println("\n durée : " + formater.format((end - begin) / 1000));
  37.       }
  38.    }
  39. }


 


**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
 
 durée : 0,33
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
 
 durée : 0,34


 
encore quelque chose à dire greg ???

n°217745
--greg--
Posté le 20-09-2002 à 15:31:37  profilanswer
 

benou a écrit a écrit :

bcp de code...


 
encore quelque chose à dire greg ???




;)
 
impressionant:)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217754
lorill
Posté le 20-09-2002 à 15:39:12  profilanswer
 

benou a écrit a écrit :

[cpp]
encore quelque chose à dire greg ???




moi j'ai quelque chose a dire... Verifie que le byte code soit différent, des fois qu'il le transforme a la compile...

n°217756
benou
Posté le 20-09-2002 à 15:39:46  profilanswer
 

--greg-- a écrit a écrit :

 
impressionant:)




ouais ... je suis vraiment étonné !  [:wam]

n°217763
benou
Posté le 20-09-2002 à 15:43:55  profilanswer
 

lorill a écrit a écrit :

 
moi j'ai quelque chose a dire... Verifie que le byte code soit différent, des fois qu'il le transforme a la compile...




 
je viens de refaire des tests et c'est bizare : avant mon code je l'executais sous emacs ... en lassant dans un shell dos, j'obtiens pas les même durées :
 


 durÚe : 0,190
 durÚe : 0,240


 
c'est déjà plus crédible... mais ca reste quand même impressionnant ... en gros 25% de surcoût seulement

n°217770
--greg--
Posté le 20-09-2002 à 15:59:58  profilanswer
 

refait chaque boucle 2 fois
la 1e peut souffrir du fait que la vm est en train de demarrer..


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217788
BifaceMcLe​OD
The HighGlandeur
Posté le 20-09-2002 à 16:27:59  profilanswer
 

A mon avis, ça ne joue pas. Le seul truc, c'est éventuellement le chargement des classes lors de leur première utilisation, mais là, la seule classe est celle qui contient le main(), donc le problème ne se pose même pas...
 
Mais ça ne m'étonne pas vraiment qu'Emacs ralentisse les temps d'exécution par ses traitements sur l'entrée et la sortie standard...

n°217790
--greg--
Posté le 20-09-2002 à 16:30:15  profilanswer
 

pas con ça.
benou, tu pourrais refaire le test sans imprimer autre chose que les temps, et en executant la boucle 100000 voire 1000000 de fois, pour que la difference soit plus marquée? :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217791
benou
Posté le 20-09-2002 à 16:30:23  profilanswer
 

bha merde alors !!!!
je viens de faire ce que tu as dit et voila ce que j'obtiens :
 


 durÚe : 0,140
 durÚe : 0,090


 
l'invocation dynamique est plus rapide que j'invocation statique ...  :ouch:  
 
vla le code :  
 

Code :
  1. package test;
  2. class Testeur {
  3.    private int cpt = 0;
  4.    public void test() {
  5.       if (((cpt++) % 10) == 0) {
  6.          System.out.print('*');
  7.       }
  8.       if (((cpt) % 500) == 0) {
  9.          System.out.println();
  10.       }
  11.    }
  12. }
  13. public class InvocTestPerf {
  14.    public static final int NB_INVOC = 10000;
  15.    public static java.text.NumberFormat formater = new java.text.DecimalFormat("#,##0.000" );
  16.    public static void main (String[] args) throws Exception {
  17.       // invoc statique
  18.       {
  19.          Testeur t = new Testeur();
  20.          for (int i = 0; i < NB_INVOC; i++) {
  21.             t.test();
  22.          }
  23.          double begin = System.currentTimeMillis();
  24.          for (int i = 0; i < NB_INVOC; i++) {
  25.             t.test();
  26.          }
  27.          double end = System.currentTimeMillis();
  28.          System.out.println("\n durée : " + formater.format((end - begin) / 1000));
  29.       }
  30.       // invoc dynamique
  31.       {
  32.          Testeur t = new Testeur();
  33.          java.lang.reflect.Method met = Testeur.class.getMethod("test", null);
  34.          for (int i = 0; i < NB_INVOC; i++) {
  35.            met.invoke(t, null);
  36.          }
  37.          double begin = System.currentTimeMillis();
  38.          for (int i = 0; i < NB_INVOC; i++) {
  39.            met.invoke(t, null);
  40.          }
  41.          double end = System.currentTimeMillis();
  42.          System.out.println("\n durée : " + formater.format((end - begin) / 1000));
  43.       }
  44.    }
  45. }

n°217792
--greg--
Posté le 20-09-2002 à 16:31:36  profilanswer
 

fait chaque test 2x (A B A B pas AABB), pour voir...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217811
benou
Posté le 20-09-2002 à 16:44:11  profilanswer
 


 durÚe : 0,140
 durÚe : 0,211
 durÚe : 0,060
 durÚe : 0,090

n°217814
--greg--
Posté le 20-09-2002 à 16:47:27  profilanswer
 

:jap:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217830
ptibonom
Posté le 20-09-2002 à 17:09:48  profilanswer
 

euh ... vous savez, je crois que j'ai ma réponse ... ça tourne à l'acharnement, non ?

n°217831
benou
Posté le 20-09-2002 à 17:11:21  profilanswer
 

ptibonom a écrit a écrit :

euh ... vous savez, je crois que j'ai ma réponse ... ça tourne à l'acharnement, non ?




ben non ...
 
là c'est plus simplement pour ton problème, c'est juste que c'est intéressant à savoir.

n°217839
ptibonom
Posté le 20-09-2002 à 17:18:53  profilanswer
 

je sais bien; j'essayais juste de "dé-sérieuïser" l'atmosphère.

n°217843
benou
Posté le 20-09-2002 à 17:20:29  profilanswer
 

ptibonom a écrit a écrit :

je sais bien; j'essayais juste de "dé-sérieuïser" l'atmosphère.




dans ce cas là, fallait sortir une bonne petite blague :  


L'histoire d'une blonde qui va chez le médecin:  
"Docteur, j'ai mal partout, absolument partout "  
Le docteur lui répond:" Partout??? vraiment partout c'est étrange ;  
essayez  
de me montrer ou vous avez mal"  
"Mais docteur, j'ai mal partout, je vous assure partout,  
partout, partout  
regardez plutôt"  
Elle se touche le genou et fait "aouillle ca fait maaaaaaal"  
puis elle se touche a poitrine "aouioiiiiiiiilllle, la  
aussi ca fait mal"  
elle se touche enfin le lobe de l'oreille et hurle encore plus fort  
"AOUILLLLLLLLLLE la aussi ça fait mal"  
Le médecin la regarde dans les yeux et lui demande "Excusez moi  
mademoiselle  
vous êtes une blonde  
naturelle????"  
"oui!" répond-elle  
"Et bien mademoiselle, je crois que vous vous êtes cassé le  
doigt!!!!"  
 

n°217844
ptibonom
Posté le 20-09-2002 à 17:24:25  profilanswer
 

c'est sur, c'est plus radical  :lol:

n°217846
smaragdus
whores, drugs & J.S. Bach
Posté le 20-09-2002 à 17:34:25  profilanswer
 

ptibonom a écrit a écrit :

pour préciser, j'ai une méthode contrôles(nom) qui doit appeler une centaine de méthodes contrôles_nom(param...).
 
je pourrais coder un switch ... case nom1; contrôles_nom1(...) ... mais je souhaite 'dynamiser' cette gestion en associant au champ nom un champ méthode contrôles correspondant, dans un table oracle. Puis dire dans java : lit la table pour l'occurence nom et exécute la méthode contenu dans le champ ...
 
en cobol, on place dans le champ de la table le nom du programme à exécuter puis on fait un CALL champ_de_la_table.
 
y a t'il un équivalent ? ai-je posé le problème clairement ?
 
help  :D  :pt1cable:  




 
Put1, quand les dinosaures de l'informatique se mettent à l'objet, ça fait des ravages... [:skylight]
 
 
 :sweat:

n°217848
--greg--
Posté le 20-09-2002 à 17:39:59  profilanswer
 

enfin qqun qu'est d'accord avec moi :D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°217850
BifaceMcLe​OD
The HighGlandeur
Posté le 20-09-2002 à 17:51:05  profilanswer
 

benou a écrit a écrit :

 
l'invocation dynamique est plus rapide que j'invocation statique ...  :ouch:  




Eh banane !   :ouch:  :sarcastic:  ;)  Il faut mettre l'appel à getMethod() dans la boucle. C'est ça qui prend le plus de temps... L'invoke(), c'est un simple appel de méthode par indirection.

n°217912
benou
Posté le 20-09-2002 à 19:38:05  profilanswer
 

BifaceMcLeOD a écrit a écrit :

 
Eh banane !   :ouch:  :sarcastic:  ;)  Il faut mettre l'appel à getMethod() dans la boucle. C'est ça qui prend le plus de temps... L'invoke(), c'est un simple appel de méthode par indirection.




si tu regardes bien, je l'avais mis au début. Et quand on regarde bien les temps, on dirait pas que c'est une simple indirection  :kaola:  
et puis de toute façon ca ne me dit pas pourquoi le invoke était plus rapide que l'appel à la méthode  :kaola:²

n°217978
ptibonom
Posté le 21-09-2002 à 00:27:45  profilanswer
 

Smaragdus a écrit a écrit :

 
 
Put1, quand les dinosaures de l'informatique se mettent à l'objet, ça fait des ravages... [:skylight]
 
 
 :sweat:  




dis; tu as un compte en banque, non ? eh bien figure toi que ce sont des appli dinosaures qui le gèrent, ton compte.
 
je n'y peux rien, moi, si ce qu'on appelle les langages 'objet' n'étaient pas jugés assez sécurisés et les serveurs assez robustes pour assurer une non-régression par rapport au mainframe.
 
sinon, je suis d'accord que java c'est sympa; mais bon je vais peut-être te faire marrer mais rien n'empèche de faire de l'objet en cobol


Message édité par ptibonom le 21-09-2002 à 00:29:54
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Java] Utiliser des images qui sont dans un jar ? (resolu)existe t il une version VB.net d ' évaluation ?
Comment programmer en JAVA sous WINDOWS ??[ RPC XDR RPCGEN ] Comment faire sous Win32 ? Equivalent de rpcgen ?
[Java-JSP] comment faire pour cacher les jsp ?[Java] Applet, reseau et repaint() : probleme
[Java] Lire un double dans un fichier ecrit par C++ ?programmation jeu multiplayer sur internet en java
Existe-il une commande Dos pour comparer 2 fichiers ?[java] JavaBeans : est-ce que c'est choquant ça ?
Plus de sujets relatifs à : [java] existe t'il l'équivalent du 'call' cobol ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)