La classe SQLService permet de se connecter à une base de donnée quelconque et d'effectuer des requêtes SQL transmises sous forme d'une chaîne de caractères. Les réponses sont également fournies sous forme de chaînes de caractères. Le programme SQLInterface est une interface graphique mettant en oeuvre la classe SQLService en proposant deux exemples: une connexion à une base MySQL et une connexion à un fichier Microsoft Access.
Voici un exemple qui va vous permettre d'envoyer un ensemble de requêtes simultanément à une base de données, les réponses de chaque requête s'afficheront dans des tableaux dans la page JSP ... un exemple du résultat (la capture d'écran quoi !) se trouve dans le fichier ZIP au format PDF. Attention : ce code n'est pas un exemple à prendre pour de la bonne prog, c'est un peu bourrin ... c'est un truc que j'avais fait rapidement en cours ...
Voici un petit prog qui présente le principe de la pile et de la file avec une pointe de polymorphisme (naturel en java). Ce code est surtout destiné aux étudiants BAC+2 puisque c'est une architecture que l'on étudie en cours. Donc rien de bien extraordinaire mais au moins il marche très bien !
Voici le résultat d'un exercice d'un cours de temps réel : un ordonnanceur non temps réel !!!! Le programme suivant présente la structure d'un mini système d'exploitation (ordonnanceur principalement !), la structure du programme n'est pas celle réellement d'un vrai système d'exploitation notamment à du passage d'objet en paramètres et le manque d'interruptions et de boîtes aux lettres mais au moins cela montre les ordonnanceurs (priorité, aléatoire, réparti)!!!
J'y ai joint un petit document (mon compte rendu de TP) afin que vous compreniez ce qu'est un ordonnanceur pour ceux qui ne savent pas ... et c'est à l'intérieur que vous aurez l'ensemble des commandes ainsi que les paramètres !!!!
Un petit fichier d'aide vous montre comment procéder !!! LISEZ LE !!!!
Cet exemple met en évidence l'utilisation de JNI (Java Native Interface). Il permet de vider la console. Le code C utilisé est théoriquement "portable", il suffira de le recompiler selon la plateforme utilisée. Il suffit d'appeler :
Bien qu'il ne soit pas possible de modifier dynamiquement le classpath, cette classe permet de contourner le problème en appelant directement la méthode protégée "addURL" du ClassLoader. Utilisant l'introspection, cette classe permet également d'appeler toutes les méthodes privées et protégées de n'importe quel objet.
Synchroniser des threads de priorites différentes.
Le mot cle synchronized utilise un sémaphore binaire qui n'empêche pas l'inversion de priorités, celui ci si, en utilisant le mécanisme d'héritage des priorités.
De plus sa file d'attente est prioritaire : le thread de plus haute priorité passe en premier.
Et pour l'utiliser, voici le parallele avec l'utilisation de synchronized :
// créer le sémaphore
Object o = new Object();
// prendre le sémaphore et attendre si necessaire
synchronized(o){
// rendre le sémaphore
}
// créer le sémaphore
PISBSem sem = new PISBSem();
// prendre le sémaphore et attendre si necessaire
sem.take();
// rendre le sémaphore
sem.give();
Cet outil permet de lister une catègorie de plugins disponible.
Il permet l'abstraction de l'emplacement physiques des plugins.
Ceux-ci peuvent être dans plusieurs JAR, des repertoires etc.
La recherche des plugins se fait sur 3 critères :
* Accessiblent par le classpath de l'application
* Doivent se trouver dans un package determiné (sous-packages inclus)
* Doivent hériter d'une classe mère de plugin (definit par vos soin)
Cette classe à pour rôle de vous aider a réaliser un mécanisme de plugins au sein d'une application JAVA.
Ce programme permet de générer des fichiers java ou d'afficher des informations sur une classe à partir d'un nom de classe ou d'une classe sérialisée.
Le programme accède aux informations de la classe grâce à l’introspection avec Class.
La classe à générer ou dont il faut afficher les informations doit être connue du programme, c'est à dire qu'un .jar contenant sa définition doit être ajouté au classpath du projet.
Ce programme n'a pas vraiment d’utilité réelle mais il permet d'avoir un exemple d’introspection.
Le but n'est pas de réinventer la roue, mais juste d'utiliser une classe qui porte le nom 'Stack' ou 'Pile' pour plus de clarté dans le code source sans plomber les performances avec la classe Stack de Java 1.
L'implémentation proposée ici est basée sur le modèle des collections de Java2, elle utilise une interface Stack et une classe concrète LinkedStack.
Implémentation d'une Map gérant en interne une "List" afin de pouvoir ordonner et récuperer les éléments de la Map a travers des "index". cf la javadoc de la classe pour plus de details.