Ich habe Zweifel, ob die nicht verwendeten Importe und nicht verwendeten Objekte in Java-Code Auswirkungen auf die Leistung haben.
Angenommen, ein Objekt wird initialisiert und nie verwendet. Was passiert? Und wie hoch sind die Kosten für nicht genutzte Importe?
Organize Imports
Funktion verwenden?Antworten:
Es ist eine sehr häufige Frage.
Wie bei den meisten Leistungsfragen besteht der beste Ansatz darin, den klarsten und einfachsten Code zu schreiben, den Sie können, da dies die Wartbarkeit des Codes verbessert und dazu beiträgt, dass er auch nach seiner Änderung eine einigermaßen gute Leistung erbringt. (Clever / Obtuse / Unnötig Ausführlicher Code kann anfangs schnell ausgeführt werden, aber da er von bloßen Sterblichen geändert wird, kann er viel langsamer werden.)
Nicht verwendete Importe haben geringfügige Auswirkungen auf den Compiler, es gibt jedoch keine Importe im Bytecode oder zur Laufzeit.
Nicht verwendete Objekte können entfernt werden, aber es ist am besten, diese zu vermeiden, da sie fast immer Leistungseinbußen verursachen, aber vor allem das Lesen und Verwalten Ihres Codes erschweren.
quelle
Nicht verwendete Importe haben zur Laufzeit keine Auswirkungen auf die Leistung. Es ist lediglich ein Namespace-Mechanismus. Sie sollten jedoch immer nur das importieren, was Sie für die Lesbarkeit benötigen, und störende Namespace-Kollisionen vermeiden.
Abgesehen von der Lesbarkeit des Codes und damit der Wartbarkeit des Codes kann es zu einer schnelleren (jedoch nicht wahrnehmbaren) Kompilierung von Java-Code durch Aufräumen von Importen kommen, die Laufzeitleistung wird jedoch nicht beeinträchtigt, da der generierte Bytecode nicht durch unordentliche Importe beeinträchtigt wird. Der generierte Bytecode bleibt gleich.
quelle
unused imports have no performance impact
Während die Auswirkungen bei der Kompilierung minimal sind, können die Auswirkungen bei der Bereitstellung schlecht sein. Ich bin gerade auf einen nicht verwendeten Import gestoßen, für den eine separate Bibliothek erforderlich war, die zu einer Maven-Abhängigkeit wurde. Ein weiteres Problem mit der transitiven Abhängigkeit wurde glücklicherweise nicht gefunden, aber die
.war
Datei war ohne Grund dicker. Fügen Sie dazu ein überflüssiges Glas im Webapp Classloader hinzu.quelle
Nicht verwendete Importe in Java-Dateien verursachen zwar keinen Schaden, erhöhen jedoch unnötig die Länge und Größe der Java-Quelldatei.
quelle
Ja, es wirkt sich ein wenig auf die Leistung aus, wenn wir in unserer Java-Klasse auf nicht verwendete Importanweisungen verweisen. Der Java-Compiler sucht nach Referenzen, die in der import-Anweisung erwähnt werden, und wirkt sich auf Minutenebene auf die Leistung Ihrer Klasse aus.
Vielen Dank
quelle