ich über diesen Link werde, OBJ10-J. Do not use public static nonfinal fields und es sagt, dassUnterschied zwischen nicht endgültigen öffentlichen statischen und nicht finalen öffentlichen Instanzfeldern in Bezug auf Sicherheit?
Client-Code triviale öffentliche statische Felder zugreifen kann, weil der Zugang auf solche Felder nicht von einem Sicherheitsmanager überprüft.
was bedeuten sie eigentlich damit? Was bedeuten sie, wenn sie dem Sicherheitsmanager entkommen?
Wenn sie bedeutet es einfach, weil Feld nicht endgültigen und public
zu sein, dann, wie nicht endgültige kommen, public
Instanz als ihre Pendants static
verschiedene Bereiche? (Soweit Code Sicherheit betroffen ist)
Ich habe durch diese Frage und haben keine Erwähnung in Bezug auf die Sicherheit gesehen, Why are static variables considered evil
public
Klasse public static
Felder würden zugänglich sein von überall und so public
Instanzfelder zu Wo ist der Unterschied? Warum nicht-finalpublic
Instanzfelder kein Sicherheitsproblem, sondern static
ist?
so dass Satz (die öffentlichen Instanzfelder Sicherheitsmanager entkommen) anwendbar auch hier, nicht wahr? Was ich darunter verstehe, sind "öffentliche" Felder, auf die von überall zugegriffen werden kann und das Deaktivieren von ** refelction ** usw. hat keine Auswirkungen oder es gibt keine Möglichkeit, diese Zugriffe in den Sicherheitsmanager einzubeziehen. –
@SabirKhan Ja, das ist richtig, öffentliche Felder können nicht von einem SecurityManager kontrolliert werden.Auf nicht öffentliche Felder, auf die normalerweise nicht zugegriffen werden kann, kann durch Reflektion zugegriffen werden. Sie können jedoch den SecurityManager verwenden, um den Zugriff durch Reflektion zu deaktivieren oder zu steuern. –