


So erhalten Sie den aktuellen Klassennamen und die Methodennameninstanz in Java
In diesem Artikel werden hauptsächlich relevante Informationen über die Implementierungsmethode zum Abrufen des aktuellen Klassennamens und Methodennamens in Java vorgestellt. Er stellt nicht nur die Implementierungsmethode bereit und vergleicht die Effizienz mehrerer Methoden, Freunde, die sie benötigen, können darauf verweisen
Javas Implementierungsmethode zum Abrufen des aktuellen Klassennamens und Methodennamens Hier sind vier Methoden und Vergleiche, wenn Sie sie benötigen Testen Sie jede Funktion. Wenn Sie jeden Klassennamen und Funktionsnamen manuell drucken, wird es für viele Funktionen anstrengend sein, eine Reihe von Funktionen vorzubereiten, die sich selbst aufzeichnen.
Erhalten Sie den Klassennamen:
1.000.000 Mal ausführen,
public static void testGetClassName() { // 方法1:通过SecurityManager的保护方法getClassContext() String clazzName = new SecurityManager() { public String getClassName() { return getClassContext()[1].getName(); } }.getClassName(); System.out.println(clazzName); // 方法2:通过Throwable的方法getStackTrace() String clazzName2 = new Throwable().getStackTrace()[1].getClassName(); System.out.println(clazzName2); // 方法3:通过分析匿名类名称() String clazzName3 = new Object() { public String getClassName() { String clazzName = this.getClass().getName(); return clazzName.substring(0, clazzName.lastIndexOf('$')); } }.getClassName(); System.out.println(clazzName3); //方法4:通过Thread的方法getStackTrace() String clazzName4 = Thread.currentThread().getStackTrace()[2].getClassName(); System.out.println(clazzName4); }
Zweite Methode: 4843ms
Dritte Methode: 47ms
Vergleich:
1) Gibt es Nutzungsbeschränkungen für Methode 1? 2) Methode 2 erhält den Aufrufstapel über den Ausnahmemechanismus, der die schlechteste Leistung aufweist, aber Funktionen bereitstellen kann, über die andere Methoden nicht verfügen. Sie kann jedoch auch Methodennamen, Zeilennummern usw. abrufen etwas unkonventionell, es auf diese Weise zu verwenden;
3) Methode 3 analysiert einfach den Namen der anonymen Klasse, was offensichtlich viel einfacher ist und tatsächlich die höchste Leistung bietet;
Funktionsnamen abrufen:
1 Million Mal ausführen:
public static void testGetFunctionName() { // 方法1:通过Throwable的方法getStackTrace() String funcName2 = new Throwable().getStackTrace()[1].getMethodName(); System.out.println(funcName2); //方法2:通过Thread的方法getStackTrace() String clazzName4 = Thread.currentThread().getStackTrace()[2].getMethodName(); System.out.println(clazzName4); }
Zweiter Typ: 6337ms
Erklärung:
1. Die Exception-Klasse Erbt von Throwable, daher wird an manchen Stellen eine Ausnahme verwendet, um getStackTrace aufzurufen. 2. Verschiedene JDK-Versionen erhalten nach dem Aufruf von getStackTrace unterschiedliche Arrays, um dies herauszufinden jdk1.6-Version
Das obige ist der detaillierte Inhalt vonSo erhalten Sie den aktuellen Klassennamen und die Methodennameninstanz in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist
