Anzahl .class Dateien verringern

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Moin.

Also wenn ich alles kompiliere, dann habe ich am Ende knapp 1300 Dateien.

Vielleicht .class Dateien gibt es doppelt. d.h. die heissen dann bla$1.class, bla$2.class, etc.

Warum passiert das so? Wie kann ich das wegoptimieren?
 
G

Gast

Gast
Das sind die ganzen anonymen Klassen. Listenerimplentierungen z.B.
 
G

Gast

Gast
Ja das hab ich jetzt auch verstanden.

Aber es wäre doch besser, weniger .class Dateien zu erzeugen, oder? Weil mit jconsole seh cih, dass knapp 5000 classes geladen wurden.
das würd ich gern verringen, ich denk dann läuft das programm auch schnell, oder?

macht sowas sinn?
 
B

Beni

Gast
Das macht null und garkein Sinn. Die Class-Dateien entsprechen der Anzahl Klassen die du implementiert hast. Die Anzahl Klassen hat nichts mit der Geschwindigkeit des Programmes zu tun. Auch Programme mit 1000000 Klassen können schneller sein, als ein "hello World" mit einer Endlosschleife...

Wenn dich die Dateien stören, packe sie doch in ein JAR-File (-> google, FAQ, ...). Dann ist dein ganzes Programm nur noch eine Datei, Problem gegessen :wink:
 
G

Gast

Gast
kann ich irgendwie nicht so richtig glauben.

ich hab sehr viele klassen und diese klassen erstellen teilweise bis zu 60 .class dateien.

schon alleine die dateien müssen doch dann alle erstmal geladen werden.
das braucht doch bestimmt länger, als wenn ich nur eine lade, oder?
 
G

Gast

Gast
Das kann durchaus sein,
Mega-Programme wie Word oder Eclipse brauchen ja nicht zum Spass 30 Sekunden zum Start.
Aber das kann sich nur auf den Start auswirken,
wenn dann die 50 MB geladen sind ist es egal ob sie vorher in einer Datei standen oder in mehreren.

Aber bedenke: wenn alles in einer/ wenigen Dateien steht, dann dauert es länger, diese wenigen zu laden.
Viel sparen kann man da also nicht.

Ideal wäre es den Code an sich zu verkürzen,
ein Hello World-Endlosschleife-Programm ist also beim Start immer unschlagbar schnell ;)

anonymer Slater
 
G

Guest

Gast
Gast hat gesagt.:
Das kann durchaus sein,
Mega-Programme wie Word oder Eclipse brauchen ja nicht zum Spass 30 Sekunden zum Start.
Aber das kann sich nur auf den Start auswirken,
wenn dann die 50 MB geladen sind ist es egal ob sie vorher in einer Datei standen oder in mehreren.

Aber bedenke: wenn alles in einer/ wenigen Dateien steht, dann dauert es länger, diese wenigen zu laden.
Viel sparen kann man da also nicht.

Ideal wäre es den Code an sich zu verkürzen,
ein Hello World-Endlosschleife-Programm ist also beim Start immer unschlagbar schnell ;)

anonymer Slater

zb. test.class ist 50 kb gross.

jetzt hab ich aber noch knapp 90 $n.class dateien davon, welche dann insgesamt 150 kb gross sind.

sowas bläht doch das programm auf, oder nicht?
 

Wildcard

Top Contributor
Der Code kommt doch nicht aus dem Nichts. Wenn du die annonymen inneren Klassen weglässt wird test größer.
Und Überhaupt, stell dich nicht so an.
Als ob's auf ein paar kb mehr oder weniger ankommen würde. :roll:
 

Lim_Dul

Top Contributor
Jede Klasse enthält ja auch Code.
Packst du den in andere Klassen, werden die entsprechend größer.

Dadurch das dann weniger Klassen geladen werden müssen und der Overhead geringer ist, wird das Programm vermutlich schneller werden.

Aber:
- Der Code wird deutlich schwerer lesbarer
- Der Performancegewinn ist vermutlich nicht spürbar, beziehungsweise marginal spürbar beim starten.

Die Kosten überwiegen bei weitem nicht den Nutzen. Alternativ kann man sich fragen, warum man den 90 anonyme Klassen in einer Klasse braucht, ob das Design da nicht suboptimal ist.
 

Acha

Bekanntes Mitglied
Irgendwie verwechselst Du hier zwei Sachen.

Wenn Dein Programm aus mehreren Klassen und Dateien besteht, dann bedeutet dass physischen Speicher auf Deiner Festplatte , der belegt wird.

Wenn Du ein Programm lädst und ausführst, dann verbraucht es jedoch Prozessorleistung und Arbeitsspeicher. Und je nachdem , wie gut Dein Programm programmiert ist, verbraucht es mehr oder weniger davon und läuft langsamer oder schneller.

MFG

Acha
 
G

Gast

Gast
mir ist schon klar, dass es am design liegt.

sagen wir mal ich hänge nen actionlistener an nen button. der hat dann nichtma funktionalität. trotzdem wird mir eine $n.class datei erstellt und die is mindestens 2kb. gross.

ich denke, wenn das in der selben klasse drin wäre, dann würd der unterschied nicht 2 kb sein, oder?
 

Lim_Dul

Top Contributor
Gast hat gesagt.:
mir ist schon klar, dass es am design liegt.

sagen wir mal ich hänge nen actionlistener an nen button. der hat dann nichtma funktionalität. trotzdem wird mir eine $n.class datei erstellt und die is mindestens 2kb. gross.

ich denke, wenn das in der selben klasse drin wäre, dann würd der unterschied nicht 2 kb sein, oder?
Wenn dir der Unterschied wichtig ist, dann nimm C zum programmieren, da kannst du schlanke und schnelle Programme programmieren ;)

Diese Diskussion führt zu nix:
Ja, die Programme werden kleiner und schneller geladen, wenn du alles in eine Datei integrierst. Aber der Gewinn ist marginal und die Kosten im Sinne von Lesbarkeit, Wartbarkeit etc. nicht wert.
 

Wildcard

Top Contributor
ASM ist noch wesentlich kompakter...
Wenn die paar kb wirklich eine Rolle spielen sollten (was ich bezweifle), dann gewinnst du mit einem Obfuscator wesentlich mehr als mit dem Inlinen von inneren Klassen.
 
G

Gast

Gast
mir gehts ja nicht hier um die 2 kb generell. mir gehts um zb. 90*2 kb. da sieht das ganze schon anders aus.

das macht da schon ne ganze menge aus denke ich.

naja is egal, werd ich das alleine weiter löse :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
C Parameter in verschiedenen Anzahl und Typen Java Basics - Anfänger-Themen 6
Ibrahim Anzahl möglicher Reiserouten zurückgeben Java Basics - Anfänger-Themen 5
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
nils812 Black Jack Karten Anzahl begrenzen Java Basics - Anfänger-Themen 5
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
C Anzahl ArrayLists unbekannt Java Basics - Anfänger-Themen 4
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
T Maximale Anzahl von Konsonanten im String Java Basics - Anfänger-Themen 6
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
W Anzahl der Zeilen ausgeben lassen Java Basics - Anfänger-Themen 20
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
B Von Array nur eine bestimmte Anzahl bekommen Java Basics - Anfänger-Themen 3
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
H Anzahl verschiedener Buchstaben im String Java Basics - Anfänger-Themen 41
sondr Anzahl der gleichen Positionen im Array Java Basics - Anfänger-Themen 3
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
L Graphen: Anzahl Knoten // Knoten in Array speichern Java Basics - Anfänger-Themen 4
E Anzahl Datensätze in Textfeld Java Basics - Anfänger-Themen 5
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
L Feld mit beliebiger Anzahl von Buchstaben füllen... Java Basics - Anfänger-Themen 5
LikeManuel Anzahl der Teiler Java Basics - Anfänger-Themen 6
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
ralli85 Programm nach einer gewissen Anzahl von Eingaben beenden Java Basics - Anfänger-Themen 15
Z Ausgabe: Anzahl Sterne, danach verringern Java Basics - Anfänger-Themen 7
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
V Anzahl der Möglichkeiten 20 € zu bezahlen Java Basics - Anfänger-Themen 2
A variable Anzahl an Nutzereinagben Java Basics - Anfänger-Themen 4
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1
M Überschneidende Anzahl von Tagen Java Basics - Anfänger-Themen 4
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
S Input/Output Alphabet in eine Datei schreiben und Anzahl von Zeichen ausgeben. Java Basics - Anfänger-Themen 4
I Anzahl der Rechenschritte darstellen lassen Java Basics - Anfänger-Themen 11
C Anzahl bestimmter Zeichen in einem String ausgeben Java Basics - Anfänger-Themen 7
T Anzahl bestimmter Werte eines arrays bestimmen Java Basics - Anfänger-Themen 4
A Rekursion, Anzahl von Stellen ausgeben Java Basics - Anfänger-Themen 7
S Anzahl Quersummen bis zur Einstelligkeit Java Basics - Anfänger-Themen 12
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
C Beliebige Anzahl Arrays zusammenfügen Java Basics - Anfänger-Themen 5
L Best Practice Alle Kombinationen aus Listenelementen, Anzahl Listen unterschiedlich Java Basics - Anfänger-Themen 6
I Methoden ByteBuffer - Anzahl führender Nullen Java Basics - Anfänger-Themen 3
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
B Anzahl if anweisungen nicht bekannt Java Basics - Anfänger-Themen 3
T Anzahl der Schritte berechnen Java Basics - Anfänger-Themen 6
R Anzahl der ineinander verschachtelten for-Schleifen von Variable abhängig machen Java Basics - Anfänger-Themen 5
P BitSet- Objekt- Anzahl der Elemente bestimmen Java Basics - Anfänger-Themen 2
B Variablen Unbekante anzahl an Strings splitten und vergleichen Java Basics - Anfänger-Themen 31
M Anzahl Zahlen in String Java Basics - Anfänger-Themen 21
A Threads Minimale und maximale Anzahl. Java Basics - Anfänger-Themen 28
J Bestimmte Anzahl Zeichen aneinander fügen Java Basics - Anfänger-Themen 9
H Anzahl Ziffer in Zahl bestimmen Java Basics - Anfänger-Themen 3
A Anzahl nodes in einem Tree Java Basics - Anfänger-Themen 2
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
G Datentypen Double ausgeben mit minimaler Anzahl Nachkommastellen Java Basics - Anfänger-Themen 3
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
B genaue Anzahl der Operationen in Schleifen Java Basics - Anfänger-Themen 5
Dit_ Anzahl der Bestellungen grafisch abbilden | Statistisk Java Basics - Anfänger-Themen 6
Luk10 Anzahl der Knoten in einem Baum ausgeben! Java Basics - Anfänger-Themen 6
F Methoden Hanoi - Anzahl der Bewegungen Java Basics - Anfänger-Themen 8
A Counter für die anzahl von regulären ausdrücken Java Basics - Anfänger-Themen 4
M float/double Anzahl Nachkommastellen ermitteln Java Basics - Anfänger-Themen 18
B Anzahl der Werte bestimmen Java Basics - Anfänger-Themen 14
K Sortierung von Anzahl der Wörtern in ArrayList Java Basics - Anfänger-Themen 4
X Anzahl Baumknoten bestimmen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben