Langage Java

Home Analyses C++ Java Internet Pattern Securité
 
Home > Langage > Java

Quelques articles sur Java.

Les sources de l'article "XML : ouverture sur le monde" de Linux Mag n°103 sont ici. La mise en page ayant fait disparaite les lignes de sources mises en valeurs ou barrée, un correctif est présent ici.

Guides d'utilisations

Voici quelques guides d'utilisation de java afin d'améliorer la qualité des programmes.

La construction en Java

La construction d'une instance Java s'effectue en plusieurs étapes qu'il est intéressant à connaître. Cela peut avoir des effets de bords non maîtrisés.

Synchronized

Comment utiliser correctement l'adjectif synchronized ? Comment rédiger une classe pour que celle-ci soit thread-safe ?

Les exceptions

Utiliser correctement les exceptions en java n'est pas aussi facile que le marketing cherche à nous le faire croire. Ce document explique comment rédiger correctement une méthode pour bénéficier du mécanisme d'ex-ception de java sans perturber l'application.

Les références constantes

Il n'est pas possible, avec java, de contrôler l'usage qu'une classe fera d'un pointeur. Le C ANSI et le C++ proposent des références constantes. Ce document explique comment offrir ce concept avec Java.

Les énumérations

Comment proposer des énumérations contrôlées par le compilateur java ? Ce document explique comment rédiger cela. Le JDK 5 propose maintenant une syntaxe spécifique.

Les inner-classes

Comment fonctionne les inner-classes ? Ce document explique comment les utiliser et comment elles fonctionnent.

Comment rédiger les méthodes de Object ?

Le type de null

Quel est le type de null ? Il n'est généralement pas nécessaire de le savoir. Mais parfois... Ce document explique comment le compilateur manipule la constante null.

Les ClassLoader

Ce document explique comment fonctionnent les class loaders. Un exemple de source est disponible ici.

Le format .class

Ce document explique le format des fichiers .class utilisés par les class loaders.

Le modèle mémoire des JVM

Ce document explique les problèmes d'accès à la mémoire en architecture multi-processeur, et les choix effectués par les JVM 5+.

Optimisation de Java

Ce document décrit différentes techniques pour optimiser un programme Java. Il y a trois objectifs à obtenir : une meilleure performance, une limitation des ressources nécessaires et un chargement rapide de l'applet.

La sécurité Java2 - Bac à sable

Ce document explique comment protéger une application java et comment placer le code sensible dans un bac-à-sable. Les sources sont présents ici.

Denis de service par complexité

Ce document explique les failles des implémentations des tables de hash et des expressions régulières de java, permettant d'obtenir un deni de service, et propose des contres mesures.

Les sources sont présents ici.

Tests unitaires

Comment rédiger des tests objets ? Comment prouver qu'une classe est correctement rédigée ? Ce document propose une démarche.

Les erreurs classiques

Quels sont les erreurs classiques des applications java ?

Des variables partagées par une grappe de serveurs

Cette article propose différentes approches pour partager des variables entres serveurs. Les sources sont présents ici.

Les paramètres en java

Les applications et les frameworks ont besoins de paramètres pour adapter leurs comportements à différents usages, différents déploiements ou différents contextes d'exécution. Ce document explique les différentes stratégies qu'offre java pour gérer les paramètres, et sélectionne les solutions pérennes les plus souples.

Pourquoi et comment utiliser JNDI ?

Très souvent, les paramètres informant sur l'environnements d'exécution sont présent dans des fichiers properties, agrégés dans les archives WAR ou EAR ou installés dans des répertoires spécifiques du ser-veur d'application. Cette approche est gênante pour plusieurs raisons. Nous allons voir pourquoi et comment utiliser les serveurs JNDI pour améliorer les procédures d'installations, de mise à jour, de dé-ploiement, de partages de paramètres entres noeud d'un clusters, etc. dans le respect des normes J2EE. Cet article explique pourquoi et comment utiliser JNDI.

Egalement, la présentation à la conférence Uniformiser le déploiement J2EE au salon Solution Linux 2008 ainsi que l'article associé, publié dans GNU Linux Mag.

Functor en C, C++ et Java

Nous allons étudier comment paramétrer un algorithme en C. Puis nous étudierons une approche plus puissante, les functors, grâce au C++. Enfin, nous propagerons nos idées à Java, et étudierons les techniques permettant de contourner les limitations de ce langage vis à vis de la généricité.

Patterns et bibliothèques

Quelques patterns et bibliothèques pour Java.

Analyse de UserAgent

Ce document explique la conception et la réalisation d'un langage de développement permettant d'analyser les différentes versions des navigateurs. Les sources sont présents ici.

Semaphore

La syntaxe de Java permet de bloquer un objet lors d'une méthode à l'aide de l'adjectif synchronized Source Java , mais ne permet pas de le bloquer dans une méthode et de le débloquer dans une autre.

Répartition de charges et tolérances aux pannes avec un client WS

Comment offrir une tolérances aux pannes et une répartition de charges lors de l'invocation d'un service Web ? Cette article explique comment proposer cela avec l'API d'Axis. Le code et la documentation du plugin sont disponibles ici.

HA JMS Wrapper

Comment offrir des fonctionnalités HA à un driver JMS en étant dépourvu ? Cette article explique comment proposer rédiger un driver JMS à l'aide de la technique des functors. Le code et la documentation du driver JMSsont disponibles ici.

JSR269 : L'API de gestion des annotations Java 5

Comment générer des classes et des fichiers lors de la compilation de classes annotées ? Cette article explique comment utiliser le JSR269.

Programmation orienté Aspect avec Java

Une introduction à l'utilisation d'AspectJ.

Divers

L'agrégation

Comment ajouter l'agrégation a Java ?

Les Singletons

Ce document explique quand et comment utiliser des singletons. Trop souvent, ce pattern est mal utilisé.

Celui-ci explique l'historique de sa genèse.

Bean Script Framework

Comment intégrer un langage de script à Java ?

Java Managment eXtension

Que propose JMX pour gérer une application java à chaud ?

Rhino

Rhino est une implémentation javascript pour java.

Historique

Des anciens articles.

Référence sur une méthode

Il n'est pas possible en Java d'avoir une référence sur une méthode Source Java. Il n'est donc pas possible d'utiliser un mécanisme pourtant très courant : Les call-backs. Pour lever cette limitation, il faut utiliser un mécanisme particulier de traduction de ce concept (La version 1.1 du JDK supprime cette limitation).

Lecture multiple/Ecriture unique

Le mécanisme de protection Source Java des instances en Java lors d'une exécution en multi-tâches ne permet pas d'avoir plusieurs traitements accédant en lecture au même objet. Cela peut être la cause d'étreinte mutuelle. Pour améliorer le mécanisme de blocage, je propose cette librairie.

Voir aussi :
Programmations et conceptions objets
"C++, Java, Smalltalk"