Portal > Foren > Java > Allgemeine Java-Programmierung > Performance via Importregelung
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 13.12.2007, 12:51 Nach oben    #1
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard Performance via Importregelung

Ich hab ne kurze Frage und hoffe einer von euch kann sie schon beantworten

Also ich nutze IDEA und hab festgestellt, dass in gewissen Situationen bei der automatischen Importoptimierung aus folgendem:
Code:
import mein.pakage.classA
import mein.pakage.classB
import mein.pakage.classC
import mein.pakage.classD
das wird:
Code:
import mein.pakage.*
Nun ist die Frage, ob der Java-Compiler nun auch classE und classF (als Beispiel) mitbenutzt und damit mehr Ressourcen verbraucht oder ob er automatisch erkennt, was er benötigt und dann nur classA bis classD auch wirklich einbezieht.

Wäre in Bezug auf Speichernutzung etc schon interessant.

Weiß da jemand was?
Danke!
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2007, 12:59 Nach oben    #2
Martin Schröder
 
Benutzerbild von Orolhawion
 
Registriert seit: 15.12.2004
Ort: Stockholm
Beiträge: 116
Standard

http://www.galileocomputing.de/openb...b82afd2bf769ea
Zitat:
Zitat von obigem Link
Code:
import com.javatutor.*;
Das macht alle Typen aus dem Paket com.javatutor dem Compiler bekannt.
beantwortet das deine frage?
__________________
"Wer nicht mit der Zeit geht, wird mit der Zeit gehen."
Game over, Junge!
ENERGIE!
___________________________
Mein Blog
Mein OpenBC

Geändert von Orolhawion (13.12.2007 um 13:01 Uhr).
Orolhawion ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2007, 13:09 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Nicht wirklich
Die Frage ist ja nicht, ob sie bekannt werden oder nicht, sondern ob der Compiler sie auch alle verwendet und damit Overhead erzeugt, der nicht sein muss.
Das ist eigentlich meine Frage.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2007, 13:47 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.481
Standard

Morgen,
ist es nicht so, dass ein
Code:
import package.subpackage.CustomClass
dem Compiler nur sagt, dass er an jeder Stelle wo in der Datei ein
Code:
CustomClass
ohne explizite Paketstruktur davor steht diese Struktur hinzufügen soll?

Würde für mich nun im Umkehrschluss heißen, dass ein import package.subpackage.* nicht mehr Performance verschlingt, als die explizite Nennung. Hm, .. ist aber nur eine Spekulation.


Ah, gerade mal danach gesucht und auf diesen Thread aufmerksam geworden.

Zitat:
Nur die Imports die tatsächlich verwendet werden, müssen geladen werden.
Quelle: http://www.java-forum.org/de/viewtop...=331999#331999

Demnach ...
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2007, 13:49 Nach oben    #5
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Ah wunderbar, scheinbar hab ich wieder die falschen Keywords zur Suche benutzt

Danke dir!
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2007, 23:20 Nach oben    #6
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Hm, .. ist aber nur eine Spekulation.
Das ist aber richtig. Das Problem stellt sich aber, sobald du mehrere Packages komplett einbindest. Wenn irgendwas mehrdeutig wird, gibt es jedoch einen Compile-Error.

Das verlinkte Thema ist nicht ganz richtig, ich weiss, ich bin ein Klugscheisser. Tatsächlich merkt sich der Compiler die Imports grundsätzlich nicht. In der Class-File stehen die nirgendwo drin. Stattdessen werden die Klassen, wie du oben gemutmasst hast, beim Verwenden voll qualifiziert angesprochen. Das gilt auch für innere Klassen (!).
Wirklichen Performance-Unterschied macht es beim Kompilieren, da aber wohl erst bei Projekten oder Packages mit Größen im 5stelligen Bereich oder so. Zur Laufzeit ist es völlig egal, da die Class-Files in beiden Fällen binär-identisch werden.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2007, 09:37 Nach oben    #7
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Danke für die Antwort, interessant zu wissen.
Zitat:
Zur Laufzeit ist es völlig egal, da die Class-Files in beiden Fällen binär-identisch werden.
Wenn du mir den Satz genauer erklärst, dann bin ich rundum zufrieden
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2007, 10:37 Nach oben    #8
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

javac wandelt Java-Dateien in class-Dateien um. Es ist egal, ob du import verwendest oder nicht, das Ergebnis (d.h. die class-Datei) ist hinterher das gleiche, weil der Compiler die Import-Sachen nur dazu verwendet, einen Typ in einem voll qualifizierten Typ (d.h. mit Package) umzuwandeln, sie aber nicht in der class-File speichert.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2007, 11:32 Nach oben    #9
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Ah, macht Sinn!
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
tidy/htmlvalidator via JavaScript ? robo47 Gesuche 3 14.06.2007 16:18
Performance: Referenzübergabe (PHP4) oder erneute Abfrage im MySQL-Query? Chr!s PHP-Programmierung 1 22.10.2006 17:36
[FRAGE] performance von phptags J33d3X PHP-Programmierung 14 30.01.2006 14:52
Performance erhöhen Steve231 Datenbanken 5 18.10.2005 16:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:39 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44