Compilateur java
JavaStyle
Les conventions sont le langage de programmation Java JavaStyle défini par Sun. Respect des conventions strictes assure la cohérence dans le code source d’une application développée par une équipe et de promouvoir la diffusion du code source d’une communauté de communes des conventions de codage.
Voir les conventions de nommage définies par Sun [pdf]
Histoire
Cette histoire vient d’une traduction libre d’un article de la Wikipédia anglophone language.N de programmation Java, n’hésitez pas à vérifier la qualité de la traduction pour être certain qu’il n’ya pas de contradiction.
L’origine du langage
La plate-forme Java et sont fondés sur des projets de Sun Microsystems, datant de 1990. Ingénieur Patrick Naughton n’était pas satisfait par le langage C utilisés dans les interfaces de programmation de Sun dans le langage C et les outils connexes. Alors qu’il envisageait une migration vers NeXT, il a offert du travail sur une nouvelle technologie et donc le projet Stealth (furtif) est né.
Projet Stealth fut rapidement rebaptisé Green Project avec l’arrivée de James Gosling et Mike Sheridan. Dans l’ensemble, assisté par d’autres ingénieurs, ils ont commencé à travailler dans un bureau de la Sand Hill Road à Menlo Park, en Californie.Ils ont essayé de développer une technologie pour le développement d’applications d’une nouvelle génération, offrant la perspective d’une occasion unique de Sun.
L’équipe initialement prévu d’utiliser C, mais elle a abandonné pour des raisons différentes. Tout d’abord, ils ont développé un système embarqué avec des ressources limitées et a estimé que l’utilisation de C exigé un investissement trop important et que cette complexité a été une source d’erreur pour les développeurs. Les lacunes de ce langage en termes de collecte des ordures signifie que la gestion de la mémoire devait être programmée manuellement, un défi mais aussi une source d’erreur (s). L’équipe était aussi troublée par les lacunes de la langue en termes de sécurité, la programmation distribuée, plus multi-threading.In, ils voulaient une plate-forme qui peut être porté sur n’importe quel périphérique ou plate-forme.
Bill Joy avait envisagé un nouveau langage combinant le meilleur du langage de programmation Mesa et du langage C dans une section appelée plus (plus), elle a proposé à Sun que ses ingénieurs mettent au point un langage orienté objet basé sur C.Initialement, Gosling envisageait de modifier et d’améliorer le langage C, qu’il a appelé C – mais l’idée a vite été abandonnée en faveur de l’élaboration d’un nouveau langage de programmation qu’ils ont appelé Oak (chêne) comme référence, selon la légende, un arbre planté en face de la fenêtre de leur bureau.
L’équipe a travaillé dur et à l’été 1992, ils ont pu démontrer, y compris le système d’exploitation Green, le langage Oak (1992), les bibliothèques et les équipements. Leur première production, présenté le Septembre 31 992 a été la construction d’un PDA appelé Star7 avec une interface graphique et un agent intelligent appelé Duke pour aider l’utilisateur. En Novembre de cette année, le Projet vert a été abandonné pour devenir firstPerson, Inc, propriété exclusive de Sun Microsystems et l’équipe a été transféré à Palo Alto. firstPerson équipe a été très intéressé par la construction des outils interactifs et quand Time Warner a publié un appel d’offres pour un multi-décodeur, firstPerson changé son objectif de fournir une telle plate-forme. Toutefois, le secteur a montré que la télévision par câble offert trop de possibilités à l’utilisateur et le firstPerson perdu des parts de marché à Silicon Graphics. Impossible de l’intérêt de l’industrie audiovisuelle, la société a été réintégré au sein du dim.
Java répond l’Internet
De Juin à Juillet 1994, après trois jours de remue-méninges avec John Gage, James Gosling, Joy, Naughton, Wayne Rosing et Eric Schmidt, l’équipe a recentré la plate-forme sur la web.They pensé qu’avec l’avènement du navigateur Mosaic, le Internet a été le cas serait de développer le même genre d’outil interactif qui ils ont proposé pour l’industrie du câble. Naughton développé un prototype d’un navigateur web petites, WebRunner qui devint plus tard HotJava.
La même année, le langage Java a été renommé après qu’il fut découvert que le nom Oak était déjà utilisé par le fabricant de carte vidéo. Le nom Java fut inventé dans un petit bar fréquenté par certains membres de l’équipe. Il n’a pas été clairement déterminé si oui ou non le nom est un acronyme, bien que certains soutiennent que cela signifie James Gosling, Arthur Van Hoff et Andy Bechtolsheim, ou tout simplement un autre acronyme Vague (littéralement ‘juste un acronyme vague plus’). La croyance que Java a son nom sur les produits vendus dans le bar est le fait que le code de 4 octets (également appelé nombre magique) fichier de classe est 0xCAFEBABE hexagonale.
Certains prétendent que le nom de Java est que le programme a été conçu pour s’exécuter sur des systèmes embarqués, tels que le café (Java désigne le café en argot américain).En Octobre 1994, HotJava et la plate-forme Java pour les cadres supérieurs ont été présentés dim. 1.0a Java a été mis à disposition pour téléchargement en 1994 mais la première version publique du navigateur HotJava arriva le 23 mai 1995 à la conférence SunWorld.
L’annonce a été faite par John Gage, le directeur scientifique de Sun Microsystems. Son annonce a été accompagnée par l’annonce surprise de Marc Andressen, vice-président exécutif de Netscape que Netscape comprennent le support de Java dans leurs navigateurs. Le 9 Janvier 1996, le groupe a été formé par Javasoft Sun Microsystems pour développer cette technologie. Deux semaines plus tard la première version de Java était disponible.
L’histoire récente
Utilisez Web
Historiquement, la capacité des navigateurs Web pour exécuter des applets Java ont été le seul moyen d’afficher des applications client riche (RIA Rich Internet Application). Technologies concurrentes ont émergé, notamment Macromedia Flash, DHTML JavaScript, Silverlight XAML ou XUL base.
Applets sur le client peut communiquer avec les servlets sur le serveur, comme le JavaScript peut communiquer avec le serveur en utilisant AJAX. Flex utilise la technologie Flash grâce à Adobe Flash Player.
À une époque où Javascript souffrait de problèmes de cross-browser compatible, applets Java ont l’avantage de la portabilité des interfaces depuis le complexe portuaire a été difficile à atteindre pour tous les navigateurs. Les progrès dans les technologies concurrentes en Java ont conduit la plupart des développeurs de s’éloigner des applets Java et les problèmes inhérents à cette technologie (les incompatibilités entre la JVM, les mauvais résultats, les graphiques de la pauvreté des bibliothèques, de la complexité) et les retombées de Java ‘mode’. Enfin, les navigateurs modernes n’ont plus systématiquement l’environnement Java à cause de sa grande taille et le taux de machines capables d’applets affichage a été diminué à 70% en 2010, beaucoup plus faible pour Flash par exemple. En 2010, presque toutes les applications client riche en utilisant des technologies de remplacement; Flash principalement mais GWT.
Côté serveur, il ya des classes qui définissent des objets Java (POJO classes) et autres catégories qui définissent les actions sur ces objets (classes d’affaires). Est interprétée ici sur un travail de modélisation des données comme des objets. Ces objets peuvent être modif
iés par des méthodes de classes spécialement conçus pour effectuer des opérations. Ainsi, nous pouvons trouver une telle classe pour définir une pomme comme un objet (taille, poids, taille) et une autre classe pour définir des opérations sur une pomme (acheter, vendre, manger).Avec les serveurs d’applications, les EJB sont utilisées pour encapsuler les classes définies ci-dessus. Ces éléments sont utilisés dans les architectures J2EE pour les applications multi-couche. L’avantage qui découle de ce travail est de cacher la mise en œuvre par le client de code côté serveur.
Utilisez le poste de travail
L’utilisation de la langue maternelle pour les applications Java sur un poste resté jusqu’à présent relativement rares en raison de leur manque de vitesse. Toutefois, avec l’augmentation rapide de la puissance des ordinateurs, des améliorations au cours de la dernière décennie de la machine virtuelle Java et la qualité des compilateurs, plusieurs technologies ont gagné du terrain tels que NetBeans et Eclipse, le Limewire technologie et le partage de fichiers Azureus. Java est également utilisé dans le programme de mathématiques Matlab, en termes d’interface homme-machine et de calcul formel. applications Swing apparaissent également comme une alternative. NET.
Utiliser avec les mobiles
Java et la langue qui dérive: JavaFX, en essayant d’occuper une niche de marché a vocation à devenir un avenir important plates-formes mobiles (PDA, tablettes, téléphones). Toutefois, là encore, la concurrence est féroce. Microsoft Silverlight et la convergence de Flash et JavaScript / ECMAScript pour ActionScript, sont également bien placés dans ce nouveau domaine.Java, Eclipse et NetBeans notamment par le biais offrent déjà des environnements de développement intégrés pour mobile. Le système d’exploitation libre pour Android Mobile de Google est basé sur le langage Java (et les bibliothèques de ses propres). Le développement de ces dispositifs devrait conduire à une convergence entre les applications mobiles et RIA (Rich Internet Applications). Pour cette raison, nous devrions voir une nouvelle explosion de la programmation côté client.
En passant sous une licence libre
Le 13 Novembre 2006, Sun a annoncé le passage de Java, c’est-à-dire le JDK (Java Development Tools) et Java EE environnements (déjà sous licence CDDL) et Java ME sous licence GPL. En mai 2007, Sun OpenJDK effectivement publié sous une licence libre. Cependant OpenJDK dépend encore des fragments de code non-libre que Sun ne tient pas. Redhat C’est pourquoi la société a lancé en Juin 2007, le projet IcedTea, qui vise à remplacer les extraits de code non-libre et donc faire OpenJDK utilisable sans logiciel propriétaire. En Juin 2008, le projet IcedTea passé les tests rigoureux de compatibilité Java (TCK). On peut donc dire que Java est un logiciel open source.
Acquisition par Oracle
Oracle Corporation a acquis en 2009 la société Microsystems dim.Nous pouvons maintenant voir le logo apparaissent dans la documentation d’Oracle pour l’API Java.
Le 12 avril 2010, James Gosling, le créateur du langage de programmation Java Oracle a démissionné pour des raisons qu’il ne souhaite pas divulguer. Il est devenu le directeur de la technologie de la division pour le logiciel client Oracle.
l’historique des versions
Le langage Java a subi plusieurs modifications depuis JDK 1.0 (Java Development Kit) avec l’ajout de nombreuses classes et packages dans la bibliothèque standard. Depuis J2SE1.4, l’évolution de Java est dirigé par le JCP (Java Community Process) qui utilise les JSR (Java Specification demandes) de proposer des ajouts et des changements sur la plate-forme Java. La langue est spécifiée par la JLS (Java Language Specification). Les modifications apportées à JLS sont gérées sous le code JSR 901.
En plus des changements dans la langue, de plus grands changements ont eu lieu au cours des années qui ont mené des centaines de classes dans le JDK 1.0 à plus de 3000 dans J2SE 5.0. ensemble d’API, comme Swing ou Java2D ont été ajoutées et de nombreuses méthodes de l’original JDK 1.0 ont été déclarées obsolètes (c’est-à-dire, obsolète et peut être révoqué à tout moment).
Langue
Le fichier source est presque toujours le nom de classe avec l’extension.’Java’ (ici ‘HelloWorld.java,’ il serait obligatoire même si l’attribut de classe a été public dans sa déclaration – tout en le rendant accessible à d’autres programmes). On peut compiler et exécuter cet exemple avec les commandes suivantes (Linux):
Le ‘export CLASSPATH =.’ ligne de Java est utilisé pour indiquer qu’elle doit également rechercher des programmes de classe dans le répertoire courant. Cette voie peut également être spécifiée pour lancer le programme via le classpath-(-cp ou court):
Structures de contrôle
Collections d’objets
Il est souvent nécessaire de stocker des données dans de nombreuses collections: la liste d’achats, des notes, des étudiants, etc. Les collections peuvent être affichés, modifiés, vous pouvez trier, copier, supprimer, etc. Ils peuvent avoir une taille fixe ou variable.Collections taille fixe:
Les structures conditionnelles
Notes: Vous pouvez également utiliser le commutateur de contrôle sur une énumération, sinon l’interrupteur ne fonctionne pas sur toutes les constantes numériques mais seulement sur les entiers. Switch travaille également avec des variables de type char.
La commande break sort immédiatement de la boucle de courant (for, while, do), et permet à une clause d’un interrupteur. Si la pause est omis, la mise en œuvre de l’interrupteur va de case en case.
expression continue termine l’itération en cours et continuera à l’autre. Il se lit comme suit: continu, mais son utilisation est déconseillée car elle tend à favoriser un type de programmation structurée (spaghetti de programmation).
Traitement des exceptions
Cet exemple illustre le mécanisme d’exception en Java. Dans le cas d’une erreur d’entrée / sortie dans le bloc try, l’exécution reprend dans le bloc catch correspondant à cette situation (IOException type d’exception). Dans ce bloc catch, la référence e variable, sauf que s’est produite. Ici, nous invoquons la méthode printStackTrace () dans la console qui affiche des informations sur l’exception qui s’est produite: nom, modèle, état de la pile des appels au moment de la levée de l’exemption et, éventuellement, numéro de ligne où l’erreur s’est produite. Le bloc finally est ensuite exécuté (ici pour fermer les ressources utilisées). Ce n’est là qu’un exemple, l’action à mettre en œuvre lorsqu’une exception se produit dépend du fonctionnement global de l’application et la nature de l’exception.
Des types génériques
Un type générique est autrement connu comme un modèle, il faut un ou plusieurs types d’autres arguments. Le type passé en paramètre est spécifié lors de l’instanciation.Ceci permet en particulier dans le ArrayList pour éviter jette
Les différences avec les modèles C dans C dupliquer une classe pour chaque type. Java, en revanche, les actes au moment de la compilation comme si elles avaient double emploi avec les classes de ces types intrinsèques, mais en fait une seule classe.
source d’encodage
L’état spécification du langage Java qui se compose de caractères UTF-16, qui permet l’utilisation dans le code source de tous les caractères disponibles dans le monde:
Pour assurer la portabilité entre plates-formes, les noms de classe doivent encore être constitué que par des caractères ASCII.
L’environnement virtuel
ThéorieTranstypage: rien derrière ce terme barbare se cache une en fait une des bases de la programmation orientée objet (OO) de conversion de type (type cast). De toute évidence, la distribution convertit une primitive ou une réf
érence d’objet dans un nouveau type: se déplaçant le long d’un char, un octet int …
Programmation
Programmation peut être réalisée pour des exemples simples avec le compilateur javac, mais pour plus de confort il est préférable d’utiliser un environnement de développement intégré ou IDE, certains sont gratuits.
‘