performance dans le développement JAVA EE

performance dans le développement JAVA EE - Java - Programmation

Marsh Posté le 14-03-2013 à 08:21:12    

Bonjour,
j'aimerai poser une question qui me gene tous le temps
dans mes developements php : le deboguage et le build du projet se fait juste avec un ctrl+s -> F5
mais dans le cas des projets java surtout lorsque j'utilise des frameworks jsf spring .... : je dois a chaque fois que je fais une modification sur le managed-beans (cas de JSF) ou tout simplement une classe java un bean .. je dois attendre le chargement du contexte  
ça me prend beaucoup de temps malgré que le PC est assez performant
et ça engendre de temps en temps des surcharge mémoire  
 
=> ce qui diminue très significativement la productivité et démotive  
 
(je ne pense pas que la plupart des développeurs résistent a ça)
 
n'existe pas une solution à ce problème ?
 
merci

Reply

Marsh Posté le 14-03-2013 à 08:21:12   

Reply

Marsh Posté le 14-03-2013 à 23:16:19    


Comment accélérer la compilation java e projets d'envergure dans eclipse ?  
--- partager en couches métiers, un projet par couche ---
 
Le premier bon principe est de partager l'application en couches métiers.  
On peut imaginer un projet J2EE avec une couche de persistance des données dont dépend une couche logique métier dont dépend la couche présentation.
Chaque couche a son projet avec une hiérarchie de dépendances projets (et pas de dépendances croisées).
 
Tu commences par développer les couches les plus basses,  
donc commence par la couche d'accès aux données.
Lorsque c'est satisfaisant tu exportes le projet en tant que jars,
et tu modifies le paramétrage de la couche juste au dessus (logique métier) pour dépendre des librairies exportées et plus du projet.
Tu n'auras plus à compiler la couche exportée.
 
Ensuite quand la couche logique métier est finalisée, tu exportes le projet logique métier et tu paramètres la couche présentation pour dépendre des classes exportées.
 
Tu pourras ensuite te concentrer sur la couche présentation.
 
Le problème est que si tu fais une modification dans les sous couches tu dois re exporter...
 
--- régler la mémoire allouée à Eclipse ---
 
De nombreux développeurs sous estiment ce point.
Je recommande d'allouer le maximum dans le raccourci  
(-Xms512m -Xmx1024m ) ou dans le eclipse.ini.
Si la mémoire ram disponible sur ta machine de dev ne te permets pas de travailler dans de bonnes conditions, donc si tu as trop peu de mémoire vive, mets du swap sur disque (sous XP dans "Démarrer", "Panneau de configuration", "Système" ...)
et augmentes encore l'allocation mémoire d'Eclipse.
 
Oupsss ... je suppose que tu es sous Eclipse / Windows.
 
--- dernière petite astuce ---
 
Inhibe la validation des xml jsp html et autres fichiers.
Sinon à chaque compilation il y a revalidation de la structure de ces fichiers et ca bouffe de la ressource.
 
 

Reply

Marsh Posté le 16-03-2013 à 07:14:23    

merci @willy le kid pour votre réponse exhaustive et tous ces astuces : ça m'aidera beaucoup,  
sauf que pour travailler en couche et generer le jar et travailler avec, meme si j'essayerrai de l'appliquer : je serai tjrs en mesure de modifer les couches de temps en temps et meme la base de données et surtout dans le debut car à chaque une idée ça tombe à la tete pour modifier ça ou ça


Message édité par encours le 16-03-2013 à 07:15:10
Reply

Marsh Posté le 17-03-2013 à 15:53:37    

Quel serveur utilises-tu?


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
Reply

Marsh Posté le 24-03-2013 à 16:58:29    

je m'exuse pour le retard
j'utilise tomcat qui m'affiche de temps a autres une erreur de surcharge memoire (pern gen ou je sais pas quoi)  
et je suis obligé de le redemarrer

Reply

Marsh Posté le 25-03-2013 à 10:01:19    

encours a écrit :

je m'exuse pour le retard
j'utilise tomcat qui m'affiche de temps a autres une erreur de surcharge memoire (pern gen ou je sais pas quoi)  
et je suis obligé de le redemarrer


C'est inévitable (on peut retarder le phénomène en aidant certaines librairies à faire le ménage qu'elles ne font pas mais ce n'est sans doute une voie à suivre).
 
Tu peux essayer jetty, nettement plus léger au rechargement et au redémarrage.


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed