PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java 1.5 - fett...


DocEW
2004-11-01, 21:04:35
...und zwar im wahrsten Sinne des Wortes! Ich find's echt ein bißchen krass... :(

P.S.: Ist mit Javadoc und Sourcen entpackt, aber das macht ja wohl auch Sinn, wenn man damit arbeiten will.

HellHorse
2004-11-01, 22:34:26
aber das macht ja wohl auch Sinn, wenn man damit arbeiten will.
Nö, eigentlich nicht.
Wenn man z.B die böse, gehypte, unprofessionelle, unproduktive IDE hat, deren Name ich nicht erwähnen kann, ohne dass der Thread sonst wieder schrecklich ot wird, kann man einfach das src.zip (Attach Source) angeben und gut ist.
http://img48.exs.cx/img48/2789/jdk.png
IDEA kann es auch.
NetBeans bestimmt auch.
Und all die anderen super tollen IDEs sicher auch.

DocEW
2004-11-02, 03:17:47
Also alleine die Java-Doc ist bei mir 223 MB...

Nochmal wegen den Sourcen: Irgendwie krieg ich das nicht hin! :-(
Also bei Eclipse 3.0 gibt es ja unter Window->Preferences->Java->Installed JREs->Edit die Option "Attach Source". Ich wähle dann die ZIP-Datei aus (src.zip) und sage OK aber irgendwie scheint nix zu passieren. Wenn ich dann mal eine Testklasse mache, z.B.
import java.util.Vector;

public class Test {

public static void main(String args[]) {
Vector v = new Vector();
v.add("Hi");
}
}
und mit F5 versuche rein zu debuggen, geht der debugger einfach drüber. Wie geht das??

HellHorse
2004-11-02, 09:12:44
Also alleine die Java-Doc ist bei mir 223 MB...
Wie schon gesagt, die musst du nicht entpacken.

Nochmal wegen den Sourcen: Irgendwie krieg ich das nicht hin! :-(
Also bei Eclipse 3.0 gibt es ja unter Window->Preferences->Java->Installed JREs->Edit die Option "Attach Source". Ich wähle dann die ZIP-Datei aus (src.zip) und sage OK aber irgendwie scheint nix zu passieren.
Mach mal z.B String auf per
Navigate -> Open Type
Falls du es geklappt hat, hast du den sourcecode vor dir. Falls nicht hast du noch einmal einen "attach source"-Button. Versuch mal den.

und mit F5 versuche rein zu debuggen, geht der debugger einfach drüber. Wie geht das??
Breakpoint gesetzt?
Ach ja, und gefälligst keine Vector's benutzen, besonders nicht wenn du 1.5 hast ;) Und sicher auch keine raw types ;)

DocEW
2004-11-04, 23:54:07
Also es klappt jetzt, sowohl source als auch doc ist gezippt. Danke für die Tipps!
Jetzt sind es noch 157 MB, das geht ja gerade noch... ;-)

Ach ja, und gefälligst keine Vector's benutzen, besonders nicht wenn du 1.5 hast ;) Und sicher auch keine raw types ;)

Wat-wat? Wieso keine Vectors benutzen? :conf2:
Und was ist der genaue Grund dafür, keine raw types zu benutzen? OK, wenn man das Wissen über den verwendeteten Typ hat, sollte man es halt auch einsetzen, klar... aber eher aus Design- oder auch aus Performancegründen (casting etc.)?

HellHorse
2004-11-05, 09:14:56
Wat-wat? Wieso keine Vectors benutzen? :conf2:
Dann noch einmal:

Vector ist eine prä-Collection Framework Klasse.
Vector ist eine Quelle von duplicated Code.
Vector ist komplett synchronisiert.

Mit 1.2 übernehmen ArrayList und Collections.synchronziedList die Funktionalität von Vector. Und am besten natürlich gegen List programmieren.
Gleiches gilt für HashTable.

Sun selbst bezeichnet Vector als "legacy class" und rät von der allgemeinen Verwendung ab.
http://java.sun.com/docs/books/tutorial/collections/problems/index.html
http://java.sun.com/docs/books/tutorial/collections/implementations/general.html

Und was ist der genaue Grund dafür, keine raw types zu benutzen?
Weil raw types eigenlich nur wegen Kompatibilität zu 1.4 drin sind. Sun würde sie am liebsten irgendwann in der Zukunft rausnehemen.
Why are raw types permitted? (http://www.langer.camelot.de/GenericsFAQ/FAQSections/ParameterizedTypes.html#Why%20are%20raw%20types%20permitted?)
http://java.sun.com/developer/community/chat/JavaLive/2004/jl1012.html

michael: The spec mentions that Raw types might at some time in the future be discontinued -- that parameterized types must be made concrete to be used. Is this a realistic possibility or just a theoretical point?

Scott Seligman: Consider it a goal. Raw types are a part of the mechanism that enables the compatibility I mentioned earlier. They're inelegant, though, in that what they're doing essentially is bypassing all the typechecking that generics afford, lowering a program's type-safety to the level of pre-generics releases. So J2SE 5 programmers -- try to avoid them. Perhaps some day in the future, after increasingly stringent warnings have been emitted by future javac compilers, we'll be able to do something more to get rid of them.

Senior Sanchez
2004-11-05, 09:44:26
Ich glaube ich sollte mich mal mehr mit dem JDK 1.5 beschäftigen *g*

Was bedeutet "gegen List programmieren"? Hab ich irgendwo schon mal gehört die formulierung gegen etwas zu programmieren, aber ich konnt mir noch keinen reim drauf machen, was das bedeutet.

Was sind raw types? hab keine lust nachzulesen ;)


mfg Senior Sanchez

Dr.Doom
2004-11-05, 10:43:25
List<String> <-- Liste mit spezifiziertem Typ
List<Integer> <-- auch
List <-- zugrundeliegender raw type (steht oben aber auch schon ;) )

*klück mych* Generische Datentypen (http://www.galileocomputing.de/openbook/javainsel4/javainsel_06_012.htm#Rxx365java06012040001D41F032100)

HellHorse
2004-11-05, 15:57:32
Was bedeutet "gegen List programmieren"?
Dass der statische Typ der entsprechenden Variable oder des Paramters List und nicht ArrayList, LinkedList oder Vector ist. Resp mit zusätzlichem Typ Paramter für 1.5.

Was sind raw types? hab keine lust nachzulesen ;)
What is the raw type? (http://www.langer.camelot.de/GenericsFAQ/FAQSections/ParameterizedTypes.html#What%20is%20the%20raw%20type?) (Oder Doom Link)

Senior Sanchez
2004-11-05, 16:13:06
Achsoooo, rawtype == generic ;) dann is klar

danke auch für die erklärung mit gegen list programmieren, habsch jetzt kapiert, denke ich ;)


mfg Senior Sanchez

DocEW
2004-11-05, 19:06:59
Dann noch einmal:
...Sorry, war mir nicht bewußt daß das ein so bekanntes Problem ist. Danke für die Erklärungen und die Links!