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

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

Avatar
James
Člen
Avatar
James:

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
Redaktor
Avatar
Odpovídá na James
Matěj Kripner:

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
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na James
David Čápka:

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í
+1 bodů
Řešení problému
Nahoru Odpovědět 29.11.2014 16:38
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Matěj Kripner
Redaktor
Avatar
Nahoru Odpovědět 29.11.2014 18:19
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
Avatar
coells
Redaktor
Avatar
Odpovídá na James
coells:

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.