Il n’y à toujours pas de JSR officiel décrivant l’ensemble des nouvelles fonctionnalités de Java 7. Cette dernière version porte toujours le nom d’un animal : Dolphin. Pour cette nouvelle version il devrait y avoir des évolutions dans le langages Java, un nouveau format d’archive (remplaçant du fichier jar) : Java Module System (JSR 277), de nouvelles API et des améliorations de la JVM (support natif de language de script : Javascript, Ruby, PHP). Nouveautés du langage Support natif du XML : Un exemple vaut mieux que plusieurs lignes d’explications : Document d = <collection></collection>; element.appendChild (); Propriétés JavaBeans : Possibilité de définir un membre d’une classe en tant que propriété : les accesseurs seront alors générés à la compilation. Actuellement la syntaxe permettant d’accèder aux accesseurs n’est pas encore certaines : ., =>, -<, #. public class MyObject { private property String member; } ... MyObject obj = new MyObject (); obj.member = "NewValue"; // setMember String str = obj=>member; // getMember obj->member = "New Value"; // setMember str = obj#member; // getMember Redéfinition des opérateurs : Le langage permettrait alors de redéfinir les opérateurs grâce à des annotations. String str = "first"; switch (str) { case "first": doThis...
Read article
Le Garbage Collector (GC) est un outil qui permet de supprimer les objets créés par l’application Java et qui ne sont plus utilisés. Le GC actuel (Java 6) est appelé GC générationnel du fait qu’il tri les objets en générations. La mémoire heap est découpée en trois générations : Young, Tenured et Perm. Zone Young Elle se décompose en quatre espaces de mémoire : Eden, Survivor 1, Survivor 2 et Virtual. Eden L’espace Eden contient les objets qui ont été créés récemment. Lorsque cette zone est pleine (plus de mémoire disponible), le GC vérifie tous les objets de cette zone et libère ceux qui ne sont plus référencés. Ceux qui sont toujours vivants sont alors placés dans la zone Survivor. Alternativement les objets sont placés dans l’une des deux zones Survivor. Survivor Ces zones contiennent des objets ayant une durée de vie moyenne. Lorsque ces zones deviennent trop petites le GC vérifie tous les objets de ces zones pour éliminer les objets inutiles. Les survivants sont alors déplacés vers la zone Tenured. Virtual L’espace de mémoire Virtual représente l’espace mémoire que la JVM peut utiliser pour agrandir les zones. Zone Tenured Cette zone contient les objets anciens. Lorsque cette zone...
Read article
Avec la sortie du SDK de Apple pour l’iPhone, Sun annonce une JVM (Java Virtual Machine) pour la future version de l’appareil. Apple avait pourtant annoncé ne pas avoir d’intérêt à supporter Java sur l’iPhone.
Sun n’a vu aucune interdiction, dans la licence du SDK, l’interdisant de développer une version de Java pour l’iPhone. Basée sur la version mobile (ME) cette mouture devrait permettre d’utiliser la plupart des applications développées en Java. Cette version serait alors développée directement à partir du SDK fourni par Apple.
Cette version de Java devrait être disponible en juin. Cependant Apple risque de ne pas apprécier de laisser une porte ouverte à des applications développées sans son SDK, ce qui représenterait une perte de revenu importante.
Read article
Le chiffre de Vigenère est une amélioration décisive du chiffre de César. Sa force réside dans l’utilisation non pas d’un, mais de 26 alphabets décalés pour chiffrer un message. On peut résumer ces décalages avec un carré de Vigenère. Ce chiffre utilise une clef qui définit le décalage pour chaque lettre du message (A: décalage de 0, B: 1, C: 2, …, Z: 25). Voici un exemple simple : Texte en clair : chiffre de vigenere Clé de chiffrement : secret On construit alors la table suivante : Clair c h i f f r e d e v i g e n e r e Clé s e c r e t s e c r e t s e c r e Décalage 17 4 2 17 4 19 17 17 4 2 17 4 19 17 17 4 2 Chiffré u l k w j k w h g m m z w r g i i L’intérêt de cette méthode par rapport au chiffre de César est que chaque lettre peut être chiffré de façons différentes. Si on calcule les fréquences des lettres d’une fable de la Fontaine on obtient des résultats marquants : Texte clair...
Read article
Le chiffre de César consiste simplement à décaler les lettres de l’alphabet de quelques crans vers la droite ou la gauche.Le chiffre de César (on parle aussi d’alphabet décalé) est un cas particulier d’alphabet désordonné.
Par exemple si nous décidons que le décalage est de
5 vers la droite, nous aurons pourrons chiffrer un message avec un nouvel alphabet :
Alphabet
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Chiffré
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
a
b
c
d
e
On peut donc chiffrer un texte :
Le mot : chiffre de cesar
Devient : hmnkkwj ij hjxfw
Le problème de cette méthode vient du fait que lorsque l’on chiffre un texte assez important, il est assez facile de revenir au texte clair sans avoir le chiffre de César.
En effet toutes les lettres de l’alphabet ont une fréquence d’apparition. On peut donc analyser le texte est retrouver les lettres d’origines.
Image Wikipedia de la répartition des lettres en français.
Read article