Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: ondra.novacisko.cz 12. 11. 2010, 08:51:04
-
Já vím, že o tom bude na rootu ještě článek, přesto bych se už teď chtěl zeptat místních případných Javistů, co říkají nove feature. Já se na to dívám jako céčkař, přesnějí C++čkař, kde funguje automatické volání destruktorů na konci scope.
Z mého pohledu mi to příjde jako látání obrovského problému Javy. Jeden čas jsem něco podobného řešil zde: http://bredy.novacisko.cz/?Jak-na-destruktory-v-Jave/193 Jukněte mimochodem na datum článku (rok 2007).
Co si ale myslí odkojený javista?
Připomínám, že nová featura je možnost do příkazu try uvést deklarace objektů, které se na konci bloku uzavřou:
try (InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target)){
byte[] buf = new byte[8192];
int i;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
}
catch (Exception e) {
e.printStackTrace();
}
-
Jako DB admin to jedine vitam. Programatori v JAVE jsou to nejhorsi co muze spravce DB potkat. Vetsina z nic(hlavne ti z Asie) si mysli ze GC za ne nevyresi dealokaci vsech prostredku(ne jen pameti). S tim ze, program v Jave po sobe nazavira kurzory a konexe s tim se setkavam az prilis casto(behem testovani se na to neprijde), jestli se tohle jednou dostane do praxe tak mi ubyde dost prace.
-
Pokud ovsem nebudou programatori zapominat tuhle konstrukci pouzit - jiny projev stejeho problemu.Nechapu proc je takovy problem do javy dodelat konstrukci co by dovolila radne RAII - snad jenom ze uzavirani daneho resource muze hazet vyjimku.
-
Pokud ovsem nebudou programatori zapominat tuhle konstrukci pouzit - jiny projev stejeho problemu.Nechapu proc je takovy problem do javy dodelat konstrukci co by dovolila radne RAII - snad jenom ze uzavirani daneho resource muze hazet vyjimku.
Stejně jako v C++. Výjimka nezpůsobí zastavení uzavírání resourců, pouze se zaznamená a pak vyletí na konci té zavírací sekvence. Přitom se prostředek považuje za uzavřený i přesto, že skončil s výjimkou. Jak řešit double-exception, to si netroufnu navrhovat, v C++ to končí na terminate :-)
-
To je to podobné jako C# using(){}?