Was soll noch alles in Java kommen?

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Ich habe gelesen, dass ja viel an Java gearbeitet wird um es schneller zu bekommen. Zwei wichtige Punkte sind da ja Swing und der GC. Die beiden Implementierungen kosten ja am meisten Rechenzeit. Swing soll sich ja ab der nächsten Version ja schneller werden, aber hat auch Sun etwas mit dem GC vor. Ich habe gelesen, das der manchmal ganzschön am ackern ist und ordendlich das Programm ins stocken geraten kann. Viele Anwendungen sind ja davon nicht betroffen, aber manchmal kann das schon sehr störend für den Programmfluss sein.
 

byte

Top Contributor
Gibts doch seit Java 5 in Form der Generics. Oder kann man mit C++ Templates noch mehr machen (bin kein C++ Experte)?
 
B

Beni

Gast
byto: Templates generieren neuen Code, Generics sorgen für Typsicherheit. Die beiden Dinge kann man schlecht vergleichen; Templates können Dinge die Generics nicht können - und umgekehrt.
 
G

Gast

Gast
So weit ich das weiss kann man mit den Generics nicht so viel machen wie mit C++ Templates. Die sind also eine Teilmenge davon, wieviel man von dem Rest braucht kann ich nicht sagen. Die Templates sind übrigends auch typensicher.
 

AlArenal

Top Contributor
Und ein Diesel- funktioniert anders als ein Benzin-Motor. Technisch sicher interessant, ist das grundsätzlich eher belanglos, da am Ende diegleichen Produkte damit ausgestattet werden können und sich diese kaum unterscheiden.
 
G

Gast

Gast
Für den Entwickler ist aber nicht nur das Produkt interessant sondern auch das Softwaredesign, ergo interessiert das unter die Haube blicken schon. Programmierer sind die Ingenieure/Technicker der Softwareentwicklung.
 

DEvent

Bekanntes Mitglied
Ich bezweifle das man mit Templates mehr machen kann als mit Generics. Überhaupt ist es wieder so ein Äpfel-Birnen-Vergleich.
Templates passen halt besser in die C++-Struktur mit dem statischen Compiler, wärend Generics besser in Sprachen wie Java und C# passen mit dem Jit-Compiler.
 
B

Beni

Gast
Es kann keines mehr als das andere, sie können unterschiedliche Dinge.

Mit Templates kann man die Fibonacci-Reihe zur Compile-Zeit berechnen lassen - keine Chance bei Generics.

Mit Generics kann man Methoden schreiben die zur Laufzeit mit verschiedenen Typen klar kommen (die nicht in derselben Vererbungshierarchie stehen müssen) - mit Templates (die neuen Code für jeden Typ generieren) hat man keine Chancen.

Wie DEvent sagte: Äpfel und Birnen...
 

byte

Top Contributor
Beni hat gesagt.:
Mit Generics kann man Methoden schreiben die zur Laufzeit mit verschiedenen Typen klar kommen (die nicht in derselben Vererbungshierarchie stehen müssen) - mit Templates (die neuen Code für jeden Typ generieren) hat man keine Chancen.

Dann ist der Wikieintrag dahingegen aber falsch. Wenn ich mir folgendes durchlese:

Ein Funktionstemplate (auch Templatefunktion genannt) verhält sich wie eine Funktion, die in der Lage ist, Argumente verschiedener Typen entgegenzunehmen. Die C++-Standardbibliothek enthält beispielsweise das Funktionstemplate max(x, y).
(...)
Anhand der Argumente macht der Compiler fest, dass es sich um einen Aufruf an max(int, int) handelt und erzeugt eine Variante der Funktion, bei der der Typ T zu int festgelegt wird.

So anders als Generics klingt das imo nun nicht.

Aber auch egal, das war nicht die ursprüngliche Diskussion. Kenne keine Templates und vermisse sie auch nicht. :roll:
 

0xdeadbeef

Top Contributor
Ich denke auch, daß Generics und Templates prinzipiell dem gleichen Zweck dienen. In C++ wurde sie halt als Feature des Präprozessors implementiert, so daß jede "Instanziierung" des Templates intern neuen Quelltext und daraus resultierend eigenen Binärcode erzeugt. In Java wird gemeinsam genutzter Bytecode erzeugt, der im Prinzip nur das Casting automatisch übernimmt. Damit stehen sich bei der Implementierung zwei Ideologien konträr gegenüber: maximale Geschindigkeit gegen minimale Codegröße und Abwärtskompatibilität.

Soweit ich die Implementierung von Generics verstanden habe, war allerdings das Bemühen um Abwärtskompatibilität zu Lasten der Laufzeit eine reichlich sinnlose Aktion, weil 1.5er-Programme wegen geänderter Klassenbilbiotheken in aller Regel ohnehin nicht auf einer 1.4er VM laufen.

Als alter C-Programmierer, der es Jahre (beinahe schon Jahrzehnte) gewohnt ist, das Letzte an Performance rauszquetschen, fand ich es schon ein bißchen enttäuschend, daß man bei den Generics darauf verzichtet hat, sie - dort wo es möglich ist - laufzeitoptimal zu implementieren. Das Argument Codegröße ist in C++ eigentlich auch sekundär, weil man ja in der Praxis keine 100 verschiedenen Instanzen eines Templates benutzt.
Auf der anderen Seite ist Java halt nun mal nicht primär auf Performance ausgerichtet. Wer sich schon mal in die Tiefen von Methoden wie setRGB begeben hat, weiß was ich meine. Dafür ist es ein schönes Gefühl zu wissen, daß die Programme - von unrühmlichen Ausnahmen abgesehen - unverändert auf sehr unterschiedlichen System laufen, solange die eine J2SE haben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Welchen Packager soll ich verwenden. Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
Noahscript Konto anlegen um JDK herunterzuladen? Was soll das? Allgemeine Java-Themen 1
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
M 4 Gewinnt KI macht nicht, was sie soll.. Allgemeine Java-Themen 1
J Überschriebene Funktion soll nicht die super Funktion aufrufen Allgemeine Java-Themen 4
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
perlenfischer1984 Lombok Builder soll andere Klasse bauen Allgemeine Java-Themen 4
C Eclipse einstellen, dass eine bestimmte JDK benutzt werden soll Allgemeine Java-Themen 3
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
R serielles Terminal mit Java: Cursor soll blinken Allgemeine Java-Themen 4
L Wie genau soll ein Klassendiagramm sein Allgemeine Java-Themen 4
I JPanel soll sich dem JFrame anpassen Allgemeine Java-Themen 1
S Bachelorarbeit , soll ich ? soll ich nicht? Allgemeine Java-Themen 23
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
H JFileChooser soll NUR Windows-Netzwerkumgebung anzeigen Allgemeine Java-Themen 2
I JTextArea soll nur drei Zeilen anzeigen Allgemeine Java-Themen 1
K Methode soll neue Buttons erstellen Allgemeine Java-Themen 5
J if else Anweisung macht nicht was es soll. Wieso? Allgemeine Java-Themen 10
J java-applikation-1.jar soll java-applikation-2 aufrufen.jar Allgemeine Java-Themen 5
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
S Threads ServerSocket-Thread soll schlafen, bis er gebraucht wird Allgemeine Java-Themen 2
T Welches Tuturial soll ich paralell lesen ? Allgemeine Java-Themen 3
G Jar-File soll eignen *.jar Namen ausgeben Allgemeine Java-Themen 10
D Dialog soll sich beim Klick auf Button schließen Allgemeine Java-Themen 8
L JAR verändern - JAVAC soll einfach nur kompilieren, ohne Prüfungen Allgemeine Java-Themen 16
C Abstrakte Klasse soll Methode aus Unterklasse aufrufen Allgemeine Java-Themen 3
D Input/Output Datei ausgewählt - Datei soll nicht existieren Allgemeine Java-Themen 5
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
L Entscheiden, welcher Code ausgeführt werden soll Allgemeine Java-Themen 7
I Swing Welche Swing Komponente soll ich nehmen? Allgemeine Java-Themen 2
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
R FileChooser soll nur das File ausgeben Allgemeine Java-Themen 4
B Java soll Datei von Javascript empfangen Allgemeine Java-Themen 4
E Bitcode liegt vor und soll gespiegelt werden Allgemeine Java-Themen 4
B Scheduler soll bestimmten Job stoppen Allgemeine Java-Themen 4
H2SO3- jar soll eigenen namen(pfad) finden Allgemeine Java-Themen 12
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
B Thread soll anderen Thread beenden Allgemeine Java-Themen 5
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
Developer_X JButton soll gar nichts machen Allgemeine Java-Themen 8
M Ein Array-Wert soll sich verändern, aber 2 tun es? Allgemeine Java-Themen 7
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
G Was ist Ant und warum soll ich das brachen, wenn es IDEs gib Allgemeine Java-Themen 10
X Software soll einen Text vorlesen! Allgemeine Java-Themen 5
P Copiler soll nicht vorhandene Methoden ignorieren Allgemeine Java-Themen 2
G Apache soll mit SVN zusammenarbeiten Allgemeine Java-Themen 3
J double 3.0 soll ohne Nachkommastelle ausgegeben werden Allgemeine Java-Themen 12
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
S String soll Anführungszeichen enthalten. Allgemeine Java-Themen 2
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
Y Methode soll 2 Werte zurückliefern Allgemeine Java-Themen 7
ARadauer programm soll sich selbst ändern können Allgemeine Java-Themen 20
F Klasse soll sich selbst returnieren mit entsprechendem Typ. Allgemeine Java-Themen 15
U Programm soll sich nach update neustarten Allgemeine Java-Themen 30
A NullPointerException, Thread soll Thread steuern Allgemeine Java-Themen 2
MQue HintergrundFarbe des Buttons beim drücken soll bleiben Allgemeine Java-Themen 2
A equals() macht nicht, was es soll Allgemeine Java-Themen 4
E Java-Programm soll Java-Programm "fernsteuern" -wi Allgemeine Java-Themen 3
G Jar File soll anderes benutzen Allgemeine Java-Themen 3
Nils_Langner InputStream soll sich bei neuen Daten melden Allgemeine Java-Themen 2
Q Methode soll auf schließen eines Frames warten Allgemeine Java-Themen 4
S Log4J mit 2 Appender, einer soll nur INFO loggen Allgemeine Java-Themen 3
H Nur bis zur letzten Textzeile soll gelesen werden Allgemeine Java-Themen 4
K Methode soll ein Array zurückgeben Allgemeine Java-Themen 4
M Ein Thread soll ein Textfeld (SWT) ändern Allgemeine Java-Themen 4
P Javaprogramm soll doppeltgeklickte Datei verarbeiten Allgemeine Java-Themen 22
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
R Thread soll auf MouseClick warten Allgemeine Java-Themen 2
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
S Java Programm soll im Hintergrund laufen (vgl. fork() bei C) Allgemeine Java-Themen 10
G To many Code? Was soll der scheiß? Allgemeine Java-Themen 11
T Soll ich meine Software als freeware zum download geben? Allgemeine Java-Themen 15
thE_29 Werden die SUN JVMs immer blöder oder was soll das. Allgemeine Java-Themen 11
T Klasse soll Object sein->um in JTabbedPane einzufügen Allgemeine Java-Themen 2
A Textfeld soll verschiedene Datumseingaben akzeptieren Allgemeine Java-Themen 5
1 Applet soll PDF von Servlet empfangen Allgemeine Java-Themen 3
S Welchen Editor soll man für Graphische lösungen benutzen Allgemeine Java-Themen 2
H Wie stellt ein JTree fest, wo etwas eingehängt werden soll? Allgemeine Java-Themen 2
M Was soll ich benutzen? Java2D, Java3D, Swing, AWT?? Allgemeine Java-Themen 21
R EOFException was soll der ... Allgemeine Java-Themen 6
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
berserkerdq2 SceneBuilder GUI erstellt, nun muss ich noch ein Polygon erstellen, ist die Connection möglich? Allgemeine Java-Themen 3
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
B Lottospielen mit System, Versuch 2, noch umständlicher als vorher Allgemeine Java-Themen 1
berserkerdq2 Wozu schreibe ich 3 und 1 noch hin? Allgemeine Java-Themen 5
S Noch eine Design-Frage zu Setter Allgemeine Java-Themen 6
Bluedaishi Prüfen ob Datei noch geöffnet ist Allgemeine Java-Themen 59
R JDK installieren Gibt es ab 2019 überhaupt noch Java? Allgemeine Java-Themen 6
S Wird bei den JREs 9, 10, 11+ ueberhaupt noch Bytecode ausgefuehrt..? Allgemeine Java-Themen 8
J Could not convert socket to TLS - gestern liefs noch Allgemeine Java-Themen 2
H Wie kann ich überprüfen ob das Feld noch frei ist? Allgemeine Java-Themen 5
M Windows 98 - Mit welchem JDK (Version) kann noch Programm dafür erstellt werden Allgemeine Java-Themen 6
R Seleium / WebDriver findet weder URL noch Title Allgemeine Java-Themen 1
HarleyDavidson Was ist das? Noch nie gesehen... Allgemeine Java-Themen 3
B Input/Output Datei noch geöffnet trotz Close Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben