Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Dokáže Java přepisovat vlastní třídy?

Aktivity
Avatar
James
Člen
Avatar
James:29.11.2014 14:57

Zdravím chtěl bych se zeptat jestli Java dokáže přepisovat svoje třídy?, pokud ano stačí bufferedreader?

Odpovědět
29.11.2014 14:57
Slovo nikdy znamená že cesta k cíly je pouze o něco těžší než se zdálo.
Avatar
Matěj Kripner
Tvůrce
Avatar
Odpovídá na James
Matěj Kripner:29.11.2014 16:14

Zajímavá otázka :) Myslím, že když jsou jednou třídy načteny ClassLoaderem, nejsou již se souborem *.class nějak spojeny. Takže editací tohoto souboru nezměníš třídy.

 
Nahoru Odpovědět
29.11.2014 16:14
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na James
David Hartinger:29.11.2014 16:38

K čemu to chceš? Třídy můžeš měnit reflexí za běhu aplikace.

EDIT: Koukám, že v Javě to tak jednoduché asi nebude, ale můžeš si napsat vlastní ClassLoader.

Editováno 29.11.2014 16:40
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
29.11.2014 16:38
You are the greatest project you will ever work on.
Avatar
coells
Tvůrce
Avatar
Odpovídá na James
coells:29.11.2014 19:11

To není otázka, na kterou by byla jednoduchá odpověď.

Java jako platforma umí celkem hodně, ale její primární požadavek postavený nade všechno ostatní je bezpečnost. Přepisování vlastních tříd - ať už v paměti nebo na disku - je perfektní ukázkou nebezpečného chování aplikace, takže ti v tom bude Java házet klacky pod nohy.

Obecně to občas jde. Například pokud jsi na desktopu (na mobilu nikoliv), máš pod kontrolou JVM včetně nastavení oprávnění a cetifikátů a víš o JVM skoro všechno. Ale je to hodně, ale opravdu hodně komplikované. BufferedReader určitě nestačí, potřebuješ tým šikovných lidí a široké znalosti, abys podobné šílenosti mohl dělat.

 
Nahoru Odpovědět
29.11.2014 19:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.