Geschwindigkeits unterschied bei import?

Defkil

Mitglied
Hey
ich wollte fragen ob es ein unterschied bei der Ladezeit (Auch wenn es nur MS sind) gibt, wenn man
Java:
import java.util.Date;
oder nur
Java:
import java.util.*;
schreibt.
Dank im vorraus
 
Z

Zeigefinger

Gast
Die Gegenfrage!
Warum willst du alles aus dem Kühlschrank auf den Frühstückstisch stellen, wenn du weißt, dass du nur ein Toast mit Marmelade essen willst?

Oder anders: Nur das importieren, was du benutzt. Unabhängig von Ladezeiten und co.
 

jgh

Top Contributor
nein, das macht keinen Unterschied vom Aufwand des "importieren"...wobei das eigentlich auch falsch ausgedrückt ist.
die
Code:
import
-Anweisungen dienen einfach dazu, den Quellcode ein wenig kürzer und übersichtlicher zu gestalten. Der einzige Zweck ist, dass du anstelle von
Java:
java.util.Date date = new java.util.Date();
nun auch einfach
Java:
Date date = new Date();
schreiben kannst.

Die
Code:
import
-Anweisungen mit den [c]import java.util.*[/c] als Wildcard "importiert" nun das ganze Paket, so dass bswp neben dem Date, auch der Calendar, HashMap, HashSet, GregorianCalendar und alle mögliche Klassen, Interfaces usw ohne den kompletten Namen angesprochen werden können.

Grundsätzlich sollte man imho auf die Wildcard
Code:
*
verzichten und nur die Klassen importieren, die man auch benutzt.

und mit Ladezeiten hat der [c]import[/c] nichts zu tun...
 
Zuletzt bearbeitet:

dev.buzz

Mitglied
Java:
import java.util.Date;

Importiert nur das java.util.Date; Packet.

Java:
import java.util.*;

Importiert das gesamte java.util*; Packet.

IMHO ist Date schneller bei´m Laden als das gesamte Packet. Verlass dich nicht auf meine Antwort, bin selbst ein Anfänger. Mal schauen was die Profis dazu sagen. :)

Tante edit sagt: Danke jgh ;)
 
Zuletzt bearbeitet:

jgh

Top Contributor
nochmal...die import-Anweisung lädt keine Pakete im dem Sinne, dass erstmal die importierten Klassen in die VM geladen werden, oder ähnliches!!!

Das ist Unsinn...der einzige Zweck ist, dass man im Quellcode nicht den ganzen Paketnamen nennen muss!!!! Einen Zeitunterschied gibt es nicht!

[edit]Tante Edith sagt bitte ;)[/edit]
 
Z

Zeigefinger

Gast
Zusätzlich läuft man weniger Gefahr sich Konflikte ins Haus zu holen.

Gibt ja nunmal mehrere Dinge mit dem gleichen Namen und unter Umständen benutzt man dann falsche Klassen, weil man sie schon über .* aus einem anderen Paket geladen hat.
 
F

Firephoenix

Gast
Geht in Eclipse übrigens sehr komfortabel mit Strg+Shift+O:
Räumt unbenutzte imports aus der klasse, sucht nach passenden treffern für unbekannte Klassen und bietet bei mehreren treffern einen dialog an wo man die gewünschte auswählen kann - da mal draufgehen bei warnings in den imports oder wenn eine klasse fehlt und man ist (meistens) glücklich :)

Gruß
 
W

WildcardImport

Gast
Wie bereits gesagt wurde macht es überhaupt keinen Unterschied ob man direkt nur die Klassen importiert die man auch verwendet oder deren ganzes Paket. Die import-Anweisungen sind AUSSCHLIEßLICH für den Compiler interessant damit er weis das wenn du "Date" schreibst auch die Klasse "java.util.Date" meinst. Am Ende stehen nämlich im fertigen Class-File ALLE Klassen mit ihrem vollen Package-Namen und die import-Zeilen sind komplett weg.
Das einzige was man beachten muss sind Konflikte wenn es in mehreren Paketen die man über Wildcard importiert Klassen mit dem selben Namen gibt. Beliebtes Beispiel : java.util.Date <-> java.sql.Date. Wenn du beides importierst weis der Compiler nämlich nicht mehr welche Klasse Date du meinst, egal ob du Wildcards nutzt oder nicht. In dem Fall muss man den vollen Klassennamen angeben was man an sich auch so machen könnte und der Compiler am Ende auch macht. Import-Zeilen in Java dienen nur der "Übersichtlichkeit" des Codes und zur Verringerung des Schreibaufwandes. Einen Pre-Compiler wie bei C der alle include-Zeilen durch den jeweiligen Inhalt des Include-File ersetzt und daraus dann schon anfängt das OBJ-File zu basteln gibt es in Java nicht. Wesshalb es auch nur einen Compiler, nicht aber einen Linker gibt. Das macht die VM zur Runtime.
 
G

GstGstGstGst

Gast
Das mit dem Stern - Import wird i.a. auch als schlechter Stil angesehen.
Bei etwas komplexeren Programmen kann man schnell mal nicht mehr sicher wissen aus welchem
Paket denn nun eine Klasse mit einem netten Name wie "Date" importiert wurde.
Unter Umständen hat man dann vielleicht den Import mit
Java:
import hugo.fritz.*
und dieses Paket kennt eine Klasse namens
Java:
Date
.
Die Code-Completion von Eclipse ist glücklich, du als Programmierer auch, aber oh Wunder....
Die Methode von
Java:
Date
die du brauchst, fehlt.
Grund:
Java:
Java.util.Date
meintest du als Programmierer, hast aber
Java:
import hugo.fritz.*
angesprochen.
Und an der Importliste siehst du nicht, daß es
Java:
import hugo.fritz.Date
war. Der Stern
"verdeckt" das.
Mit dem direkten Import kann man das sofort an der Importliste erkennen.

...und was das Tempo angeht: zur Laufzeit ist das völlig egal, weil da die Klassen schon alle zusammengebunden sind. Der Einzige dem die Imports nutzen/helfen ist der Programmierer.
Gründe: siehe meine Vorredner.
 
B

bygones

Gast
mich wundert wer alles heute in IDEs noch die import Anweisungen anschaut.... ist doch wurscht ob nun der import per stern oder nicht importiert wird. Wenn man entwickelt ist man in der IDE und da gibt es bessere wege als die import anweisungen zu durchforsten.
 
W

WildcardImport

Gast
screw IDE ... Notepad2 + Console FTW

Ne erlich : nur weil man selbst als Anfänger mit ner IDE angefangen hat (ist schon mal der erste große Fehler) und/oder damit selbst arbeitet muss man das nicht auf andere projezieren oder es ihnen gar vorschreiben. Und wenn man halt mit nem Editor und nem Terminal arbeitet *was IMO einfacher ist* dann kann sowas schon mal wichtig werden.
 

Schandro

Top Contributor
Hey
ich wollte fragen ob es ein unterschied bei der Ladezeit (Auch wenn es nur MS sind) gibt, wenn man
Java:
import java.util.Date;
oder nur
Java:
import java.util.*;
schreibt.
Dank im vorraus
Sich über performanceoptimierung am Anfang überhaupt Gedanken zu machen ist komplette Zeitverschwendung, denn meistens führt das nur dazu das Codestellen die entweder keinerlei oder nur Auswirkungen im nanosekundenbereich haben "optimiert" werden anstatt die Sachen zu optimieren die tatsächlich unnötig lange brauchen.
 
W

WildcardImport

Gast
Sich über performanceoptimierung am Anfang überhaupt Gedanken zu machen ist komplette Zeitverschwendung, denn meistens führt das nur dazu das Codestellen die entweder keinerlei oder nur Auswirkungen im nanosekundenbereich haben "optimiert" werden anstatt die Sachen zu optimieren die tatsächlich unnötig lange brauchen.

[drastische Kritik, dass das gar nicht das Thema wäre]
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
@WildcardImport
halte dich bisschen zurück, falls du deine Postings auch dauerhaft sehen willst,
und dir nicht ausreicht bisschen zu poltern bis sie entfernt werden

unabhängig davon, dass es hier nichts zu optimieren gibt, ist der Hinweis, sich nicht um Micro-Optimierungen zu kümmern, absolut hilfreich,
denn wenn erstmal diese Einstellung 'geläutert' ist, käme es gar nicht zu diesem Pseudo-Problem sowie zu weiteren ähnlichen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
berserkerdq2 Größter unterschied von extends thread und implements runnable? Java Basics - Anfänger-Themen 2
P Unterschied Installation von zipped JDK vs Installer-JDK (auf Windows)? Java Basics - Anfänger-Themen 2
S Unterschied zwischen Denkweisen Java Basics - Anfänger-Themen 13
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
K Unterschied Information Hiding und Kapselung? Java Basics - Anfänger-Themen 2
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
jhCDtGVjcZGcfzug Was ist der Unterschied zwischen diesen Quellcodes? Java Basics - Anfänger-Themen 3
G Methoden wo ist der Unterschied?? Java Basics - Anfänger-Themen 11
D Unterschied charAt() substr() Java Basics - Anfänger-Themen 3
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
H .jar unterschied .class Java Basics - Anfänger-Themen 3
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
K Unterschied for-Schleife Java Basics - Anfänger-Themen 14
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
M Schlüsselworte Unterschied: String.matches und Pattern.compile Java Basics - Anfänger-Themen 2
G Unterschied Instanz- Klassenvariable Java Basics - Anfänger-Themen 11
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
Aprendiendo Unterschied zwischen Referenzvariable und Instanzvariable. Java Basics - Anfänger-Themen 2
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
N Unterschied von Post- und Preinkrement Java Basics - Anfänger-Themen 3
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
T Unterschied dynamischer und statischer Laufzeittyp Java Basics - Anfänger-Themen 1
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
D Unterschied Date - Calendar Java Basics - Anfänger-Themen 1
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
J Warum ist das ein Unterschied (Integer / int) Java Basics - Anfänger-Themen 2
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27
F Erste Schritte Unterschied: Array "leer" / "null" Java Basics - Anfänger-Themen 3
V Unterschied x++ und x=x++ Java Basics - Anfänger-Themen 6
O Unterschied Baum <-> Automat Java Basics - Anfänger-Themen 2
A Klassen Unterschied Warteschlange, Stapel und Liste Java Basics - Anfänger-Themen 3
L Unterschied zwischen Klassen - und Instanzvarbiablen Java Basics - Anfänger-Themen 1
M Wo liegt der Unterschied? Deklaration Klasse oder Konstruktur Java Basics - Anfänger-Themen 3
S Unterschied print() und println() Java Basics - Anfänger-Themen 3
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
S Datentypen Unterschied elementare und zusammengesetzte/strukturierte Datentypen Java Basics - Anfänger-Themen 5
M Unterschied zwischen Classpath eines Eclipse Projektes und dem CLASSPATH? Java Basics - Anfänger-Themen 3
S Unterschied Ausführung in IDE <-> Befehlszeile Java Basics - Anfänger-Themen 0
C Unterschied Objekte! Java Basics - Anfänger-Themen 13
D Unterschied zwischen double und Double Java Basics - Anfänger-Themen 4
Q Unterschied zwischen static und keinem Modifier Java Basics - Anfänger-Themen 15
A Unterschied Textdatei und Quelltextdatei Java Basics - Anfänger-Themen 5
K Unterschied zwischen Jar, war und ear Dateien Java Basics - Anfänger-Themen 3
R Erste Schritte Unterschied Array-Parameter zu Array als Parameter? Java Basics - Anfänger-Themen 7
V Unterschied Array & ArrayList Java Basics - Anfänger-Themen 13
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
L Unterschied zu C++ Java Basics - Anfänger-Themen 6
A Unterschied JDK SDK Java Basics - Anfänger-Themen 4
L Objekterzeugung Unterschied..? Java Basics - Anfänger-Themen 6
K Unterschied zwischen break und continue in einer Schleife Java Basics - Anfänger-Themen 14
B Klassen Unterschied Konstruktoren. Java Basics - Anfänger-Themen 3
A Exakte Unterschied zwischen Java EE und Java SE? Java Basics - Anfänger-Themen 4
J Unterschied zwischen statische und nicht statische Methoden? Java Basics - Anfänger-Themen 14
S Interface Unterschied: setContentPane() & getContentPane().add Java Basics - Anfänger-Themen 5
Helgon Unterschied runnable und normale jar Java Basics - Anfänger-Themen 6
D Unterschied bidirectional unidirectional Java Basics - Anfänger-Themen 10
F Interface Unterschied von Attributen und Methoden bei abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
O Java unterschied zwischen Interface und Interface_Referenzen!!?? Java Basics - Anfänger-Themen 7
I Unterschied Lizenz EPL und LGPL Java Basics - Anfänger-Themen 7
P Unterschied Windowclosed / WindowClosing Java Basics - Anfänger-Themen 10
J scheduleAtFixedRate scheduleWithFixedDelay Unterschied? Java Basics - Anfänger-Themen 17
S Erste Schritte Grundsatzfragen Unterschied Java / PHP Java Basics - Anfänger-Themen 6
P Unterschied JRE innerhalb/ außerhalb des JDK Verzeichnisses? Java Basics - Anfänger-Themen 5
H printf: Unterschied %f und %g Java Basics - Anfänger-Themen 5
M Unterschied SDK 1.4 und 1.6 Java Basics - Anfänger-Themen 5
S Unterschied java.util.prefs / java.util.Properties Java Basics - Anfänger-Themen 3
J unterschied zwischen awt und swing Java Basics - Anfänger-Themen 6
T Unterschied in Zahlendarstellungen Java Basics - Anfänger-Themen 2
F Unterschied JPanel und JFrame Java Basics - Anfänger-Themen 5
K Unterschied Klassen- und Instanzattribute Java Basics - Anfänger-Themen 4
L Unterschied Konstruktor / Getter Setter Java Basics - Anfänger-Themen 13
S Unterschied Comparable und Comparator Java Basics - Anfänger-Themen 2
C unterschied generische typen und supertypen als methodenparameter Java Basics - Anfänger-Themen 3
J Instanzvariablen - Lokale Variablen - warum der Unterschied? Java Basics - Anfänger-Themen 5
P Unterschied dieser 2 code Zeilen Java Basics - Anfänger-Themen 12
I Datentypen Unterschied in Deklaration von ArrayList Java Basics - Anfänger-Themen 26
G Unterschied e extends y vs ? extends y Java Basics - Anfänger-Themen 5
M Unterschied append / write aus der Klasse Writer Java Basics - Anfänger-Themen 2
M unterschied OutpuStreamWriter und BufferedWriter Java Basics - Anfänger-Themen 5
B Unterschied zwischen String & char Array? Java Basics - Anfänger-Themen 5
J Unterschied Instanzattribut und Referenzvariable Java Basics - Anfänger-Themen 4
J Unterschied bei Schleifen Java Basics - Anfänger-Themen 2
B Was ist der unterschied zwischen Singleton und Strategy? Java Basics - Anfänger-Themen 6
B Variablen: unterschied zwischen Klassen und Instanzvariable Java Basics - Anfänger-Themen 2
W Unterschied JFrame und JLabel bezüglich Layout? Java Basics - Anfänger-Themen 2
B Generische Vererbung was ist der Unterschied? Java Basics - Anfänger-Themen 4
B ArrayList generisch? was ist der Unterschied? Java Basics - Anfänger-Themen 4
H Unterschied zwischen 2 Date in Sekunden am einfachsten? Java Basics - Anfänger-Themen 5
tanja Der Unterschied Zwischen Arrays in Java und ADA Java Basics - Anfänger-Themen 11
ModellbahnerTT Unterschied zwischen zwei Frame close Varianten Java Basics - Anfänger-Themen 3
D Unterschied innere Klasse/ anonyme innere Klasse Java Basics - Anfänger-Themen 7
W unterschied jsf mit xhtml und jsf mit jsp Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben