Vlakna jsou fajn, uz jsem je nekolikrate pouzil, vzdy to prisli tak nejak jako
blesk z nebe, problem bude, ze a ted nechci soudit, jim tady stejne nikdo
poradne nerozumi, vcetne me. Bez urazky.
Proti selectu(poolu) taky nemam nic, kdyz je dobre pouzit je tez fajn.
pochopitelne vyuzivat stderr, o tom zadna. stejne jako uvolnovat spojeni,
to vi kazdy, flush() je super bez diskuze, klasicky duraz na cem bazirujou na
skole, kontrola navratovych hodnot a to i u takoveho close() !
Osobne nemam rad Javu, proto bijte ji dokud nezdechne. Jen zertuji,
sitove programovani v Jave je stejne useless, ping v ni nenapisete, tak
cemu to. Enjoy JDBC(silene rozhrani). bytecode is useless.
- Ak nerozumies threadom tak si to dostuduj. Ja si myslim ze im rozumiem dost dobre.
- Multithreading v klientskych aplikaciach nie je problem. 2-6 threadov je absolutne v pohode. Na problemy na dnesnom zeleze narazite tak pri 80-140 threadoch. Threadmi treba setrit v server aplikaciach.
- NIO a select v jave ma jeden vedlajsi problem. Suvisi to z blokovacimi readmi a serializaciou.
- close() je bez diskusie ale musi byt vhodne pouzite. Tiez to nie je celkom logicke. Ucebnicovy priklad:
FileInputStream fInput=new FileInputStream("aa.txt");
try {
fInput.....
} catch (Exception ex) {
ex.printStackTrace();
} finally {
fInput.close();
}
Kedze ale aj new FileInputStream moze vyhodit FileNotFoundException tak najlepsie to bude vyzerat asi takto:
FileInputStream fInput=null;
try {
fInput=new FileInputStream("aa.txt");
fInput.....
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (fInput != null) {
fInput.close();
}
}
- A na zaver aj odkaz pre ostatnych: "Na javu mi nesahajte".
A ty si co za vesela kopa. Dva prispevky nad tebou sa chlapi bavia ze naco 2 thready. Ze to je zbytocna zataz. Len som na to reagoval nejakym vysvetlenim.
Dyd jo, v poradku. Jen me dorazilo, jak to vypada: 2 thready jsou OK. No, aby nebyly! Cekal bych neco jako "20 thready je ok" nebo lepe "200 threadyu je ok". Nic proti, to jen tak na vysvetlenou. Treba tvuj prispevek z "Dnes 1:20" by se mel tesat do kamene. Tak to jen tak na vysvetlenou.
Ano, vesela kopa jsem, protoze je patek a bavime se o Jave. To nejde prezit jinak nez s usmevem.
Hezky den. :-)
Prepac nerozumiem. fout.close() sa predsa zavola vzdy pri opustani try/catch bloku. Este ti tam moze nastat NullPointerException ked subor "aa.txt" neexistuje pretoze fout bude null a volanie close() odpali NPE.
Oops, chyba. Ten fout.close() tam mel byt pouze v pripade exceptiony (a to jeste s otaznikem).
V principu jde o to, ze ten fout je sdileny vice entitami a neexistuje (nechce existovat) nekdo, kdo rekne, ze fout se muze zavrit, protoze uz ho nikdo nepouziva.
Nahodou, bytecode se celkem uspesne pouzival v osmibitovych pocitacich pro interpretaci basicu. :-D
Ale vazne - moooc hezky jsi to napsal, Palo asi moc nepochopil, kde je zakopany hafak.