utilisant la réflexion et aussi de la src.zip disponible dans l'installation JDK par l'installateur par http://docs.oracle.com véhiculée, je trouve les champs suivants de java.lang.System
,méthodes setter pour les champs finaux
à, sur & err sont déclarés comme définitifs, mais ils ont des méthodes setter (publiques) respectives qui invoquent à leur tour leur partie couter native respective.
Par exemple, je pourrais rediriger avec succès la sortie de la console vers un fichier.
Nous pouvons définir les variables finales exactement une fois que nous l'avons initialisé dans le code Java.
Ma question est la suivante: cette règle de la finale ne s'applique-t-elle pas au code natif?
Pour définir ces valeurs, Java utilise des méthodes natives telles que private private native void setOut0 (PrintStream out) '. En pur Java, vous ne pouvez pas le faire. – Pshemo
Donc, avec JNI, les champs finaux sont thread-safe? –