Wpis z mikrobloga

@interface: o, jednak nie tylko ja marudzę na javę 9 i to jak popsuli refleksje ;/ Nie da się nawet z klasy proxy wywoływać domyślnych implementacji metod.
Na razie to obchodzę za pomocą unsafe, ale to słabe rozwiązanie bo w końcu unsafe też chcą wywalić...
Wszystkie refelksje na klasach javy są zablokowane, np nie da się już edytować finalnego pola.
@GotoFinal: mysle ze usunięcie refleksji wpłynie niekorzystnie na ekosystem exploitów na Androidzie. Ja nadal używam hacka z androida <4.2 gdzie refleksją można było włączyć/wyłączyć dane mobilne, potem to załatali. Kolejny exploit którego FDroid używa do instalacji sysapp też chyba bazuje/bazował na refleksji. Kradną nam możliwości hackowania JVM... organiczając JVM. Jak dla mnie refleksja to jest to co powinno być zawsze dostępne w języku który działa w interpreterze, niezależnie czy to C#,
@interface: no bo refleksje są piękne, od zabezpieczania jest SecurityManager i wtedy wyłączasz refleksje i jest ok.
Ale jak użytkownik chce, to apka może wszystko i jest pięknie, bo refleksje umożliwiają sporo pięknych rzeczy...
No ale cóż, na pewno jak usuną unsafe to ktoś wykmini by zrobić nowe, jako natywną libkę, bo aktualnie pobieram refleksjami metodę setAccessible0 - to mogę zrobić, a potem za pomocą unsafe usuwam flagę dostępu private i
@interface: zależy... po 1 refleksje na publicznych polach (a tak wiele libek działa, np szuka getterów i setterów zamiast bezpośrednio pół) to kompletnie co innego, tak długo jak nie wykonują setAccessible a mają dostęp to refleksje powinny działać, problem pojawia się z rzeczami prywatnymi itd, tutaj... będzie działać o ile moduł na to zezwoli.

Ale inna sprawa że jak moduł wgl nie exportuje publicznie danego package, to wtedy żadne refleksje nie
@interface: nie wiem, już złamali chyba, bo dowolne refleksje na klasach javy sypną, tyle że specyfikacja chyba nie uwzględnia kompatybilności w tym zakresie, twoja wina że używałeś ;/ Nawet jeśli to pomocne i fajne.
A apki z javy 8 exportują domyślnie wszystkie klasy, więc prawa inne apki mają.
@interface: na refleksjach połowa świata stoi, większośc libek używa, każdy serwer używa, wszystko tego używa. Ba, nawet java trochę tego używa sama na sobie ;)
Wszystko zależy jak tego używasz, bo wyobraź sobie taką javę EE bez żadnych refleksji, adnotacji :D