
|
auteur :
Clément Cunin | Java est un langage orienté objet développé par la société Sun. La syntaxe générale est très proche de celle du C, mais Java n'est pas une surcouche du C et la syntaxe est beaucoup plus claire que celle du C++.
Les avantages : Les avantages de Java son nombreux. Le byte-code, tout d'abord, qui assure à Java une portabilité complète vers de très nombreux systèmes. L'importance de l'api de base qui offre tous les services de base, notamment pour la construction des interfaces graphiques. La 3ème force de Java, c'est son adaptabilité dans de nombreux domaines, autant pour le web que pour les systèmes embarqués.
Liste des Système disposant d'une implémentation de Java : Windows 3.1/95/98/NT4/2000/ME/XP/CE, MacOS, Solaris, Linux, AIX, OS/2, IRIX, UnixWare, HP/UX, Digital Unix, AmigaOS, BeOS, OpenVMS, FreeBSD, SunOS, RiscOS
Cette liste n'est pas exhaustive et est donnée à titre d'exemple.
|
|
auteur :
Clément Cunin | JRE : Java Runtime Environement, c'est le kit destiné au client pour pouvoir exécuter un programme Java. Il se compose essentiellement d'une machine virtuelle Java (JVM) capable d'exécuter le byte-code et les bibliothèques standard de Java.
SDK : Standard Development Kit, c'est le kit destiné au programmeur. Ce kit est composé d'un JRE, d'un compilateur et de nombreux programmes utiles, des exemples de programmes Java, les sources de toutes les classes de l'api.
JDK : Java Development Kit, c'est l'ancien nom du SDK. Le JDK a été renommé SDK depuis la version 1.2.2.
|
|
auteur :
Clément Cunin | Application : Une application Java est un programme utilisant le langage de programmation Java et qui tourne généralement sur la machine où se trouve au départ le code. Il a le même but qu'un programme C ou d'un autre langage.
Applet : L'applet est récupérée à distance à travers un navigateur Web et s'exécute sur celui-ci. En raison de ce téléchargement à distance, les règles de sécurité concernant les applets sont très strictes ( pour éviter notamment les virus ). Par exemple, une applet ( contrairement à une application ), ne permet pas forcément l'écriture sur le disque local ou l'impression.
Servlet : Une servlet peut être considéré comme une applet coté serveur. Une servlet est destinée à ajouter des fonctionnalités à un serveur web.
|
|
auteur :
Clément Cunin | Où ? Sun distribue le code source de toutes les classes de l'API avec le JDK (installation de composant optionnel !). Vous pouvez donc retrouver les sources dans le fichier 'src.jar', dans le répertoire d'installation du JDK.
Pourquoi ? Même si cette cette approche n'est pas à conseiller aux débutants, il peut parfois être très utile de consulter le code source des classes l'API. Cela peut permettre, par exemple, d'estimer la complexité de certains algorithmes, ou de mieux comprendre le fonctionnement d'un objet particulier (et ainsi le surcharger plus efficacement). En cherchant bien, on peut également trouver des classes non documentées...
|
lien : Que sont le JRE, le JDK et le SDK ?
|
|
auteurs :
Ronan Le Gallo, Clément Cunin, Jean-Baptiste Bugeaud | JavaWebStart est l'implémentation de référence par Sun de la spécification JNLP (JavaNetworkLaunchingProtocol) qui définit un mécanisme d'installation et de mise à jour supportant des fonctionnalités évoluées grâce à HTTP et XML.
L'idée de JWS est de "mimer" le comportement d'une applet pour une application Java. Un serveur héberge l'application ; le client Web Start se connecte au serveur, télécharge l'application et l'exécute. Les règles de sécurité sont semblables à celles des applets.
L'intérêt principal est la facilité de déploiement des applications. Lors d'une mise à jour, seul le serveur est à modifier, les clients téléchargeront la nouvelle application au prochain démarrage. Ce système est très intéressant pour les grosses entreprises qui ne peuvent pas se permettre d'aller mettre à jour une application sur les milliers de postes de leurs collaborateurs.
Les avantages : - Fonctionnement en mode déconnecté.
- Exécution externe au browser -> intégration facile & large support.
- Mise à jour incrémentale et modulaire des applications.
- Support d'un exécution sécurisée dans un environnement de type sandbox.
- Certains services avancés accessibles sans certificat (ouverture d'un flux fichier, sauvegarde d'un flux fichier, mécanisme de persistance entre sessions, impression, téléchargement de ressources, ...).
- Migration facile depuis une application Java standard.
|
lien : http://www.up2go.net/
|
|
auteur :
Clément Cunin |
java -version
String version = System.getProperty("java.vm.version");
|
|
auteur :
Clément Cunin | Les variables : Les noms variables sont écrits en minuscules sauf la première lettre de chaque de mot à partir du deuxième. Il est également recommandé de choisir un nom de variable court mais suffisamment explicite (garder à l'esprit qu'un autre programmeur sera peut-être obligé de comprendre votre code plus tard).
public int maVariableEntiere;
Note : Une variable peut commencer par le caractère '_' ou '$', mais c'est fortement déconseillé par SUN.
Les constantes : Afin de bien les différencier des variables ; les constantes sont écrites en majuscule, les mots sont séparés par le caractère '_'.
public final static int MA_CONSTANTE
Les méthodes : Le nom des méthodes suit les mêmes règles de construction que les variables, mais le premier mot devrait toujours être un verbe à l'infinitif, suivi éventuellement de mots pour qualifier l'action.
Les classes et interfaces : Les noms de classes sont écrits en minuscule, chaque première lettre d'un mot est en majuscule.
public class MaClasse
Les paquets : Les noms de paquet sont intégralement écrits en minuscule, sans caractère de séparation. Afin d'éviter au maximum les risques de conflit de nommage, il est recommandé de placer son travail dans un paquet commençant par un nom de domaine internet (com, edu, gov, mil, en, fr, etc ...) suivit du nom de l'organisation ou du projet.
com.developpez.javaorg.w3c.domorg.xml.sax
|
lien : JavaStyle - Les conventions de codage pour Java
|
|
auteur :
Ricky81 | Un décompilateur est un outil permettant de récupérer le code source d'une classe ou d'un ensemble de classes à partir d'un byte code. Sans aller aussi loin, des outils proposent tout simplement l'analyse d'une classe en affichant ses principales caractéristiques. C'est le cas de javap, disponible dans le SDK.
E:\>javap java.lang.Object
Compiled from "Object.java"
public class java.lang.Object{
public native int hashCode();
static {};
public java.lang.Object();
protected void finalize();
throws java/lang/Throwable
public final native void notify();
public final native void notifyAll();
public final void wait();
throws java/lang/InterruptedException
public final native void wait(long);
throws java/lang/InterruptedException
public final void wait(long,int);
throws java/lang/InterruptedException
public final native java.lang.Class getClass();
protected native java.lang.Object clone();
throws java/lang/CloneNotSupportedException
public boolean equals(java.lang.Object);
public java.lang.String toString();
}
Pour plus d'informations sur la commande javap :
javap -help
|
lien : Qu'est qu'un obfuscateur ?
|
|
auteur :
Clément Cunin | Qu'est que c'est, quel est le but ? Pour assurer l'indépendance de la plate-forme, les programmes Java sont distribués sous forme de bytecode, cette forme est très proche du code source original. Le bytecode est donc très facile à décompiler ce qui augmente le risque d'une attaque par analyse du code source (reverse engineering). Cette attaque consiste à décompiler une application pour comprendre ce qu'elle fait exactement (dans le cas de la cryptographie) ou pour comprendre comment elle le fait (dans le cas d'espionnage industriel). Pour se protéger de ce type d'attaque, on peut avoir recours à un "obfuscateur". Il s'agit d'un utilitaire qui transforme le bytecode en un bytecode équivalent mais plus difficile à décompiler.
Comment ça marche ? Plusieurs techniques permettent de rendre plus difficile la décompilation du bytecode. La première se base sur les principes d'optimisation du code, en réordonnant les micro-instructions. D'autres techniques, plus radicales, changent l'organisation de la mémoire, le nom des identifiants, ajoute du code parasite ou des "goto" : le bytecode est souvent légèrement moins rapide mais surtout très difficile à comprendre.
Quel obfuscateur en Java ? - RetroGuard : un des meilleurs obfuscateurs Open Source.
|
lien : Qu'est ce qu'un décompilateur ?
|
Consultez les autres F.A.Q's
Les codes sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Pour le reste, ce document constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Ce document issu de http://www.developpez.com est soumis à deux licences, en fonction des contributeurs :
- Les contributions de Clément Cunin et Johann Heymes sont soumises aux termes de la la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies des contributions de Clément Cunin et Johann Heymes tant que cette note apparaît clairement :
"Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement".
- Pour ce qui est des autres contributions : Copyright © 2004 Developpez LLC : Tous droits réservés Developpez LLC. Aucune reproduction, ne peux en être faite sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
|
|
|