XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
DioD

offline
Опыт: 45,134
Активность:
Срыв покровов с явы
Оказывается весь reflection явы не более чем враппер sun.misc.Unsafe
так то!
вот вам пруф:
	public Object Read_Object(Object Owner,String Name) throws Throwable
	{
		Field  f = Owner instanceof Class ? ((Class) Owner).getDeclaredField(Name) : Owner.getClass().getDeclaredField(Name);
		Object o =(f.getModifiers() & 8) != 0 ? wrap.staticFieldBase(f) : Owner;
		
		return (f.getModifiers() & 8) != 0 ? wrap.getObject(o,wrap.staticFieldOffset(f)) : wrap.getObject(o,wrap.fieldOffset(f));
	}
если бы нативки:
2779    private native Field[]       getDeclaredFields0(boolean publicOnly);
2780    private native Method[]      getDeclaredMethods0(boolean publicOnly);
2781    private native Constructor[] getDeclaredConstructors0(boolean publicOnly);
2782    private native Class[]   getDeclaredClasses0();
не были приватными, то всё, совершенно всё делалось бы через unsafe онли, никаких фабрик, никаких проверок, берём указатель на поле, который на самом деле не более чем пойнтер на часть виртуальной памяти JVM и читаем данные с него, те которые хотим.
так-то*2!
Старый 01.11.2013, 19:38
ScorpioT1000
Работаем
offline
Опыт: отключен
ты бы еще паскаль изучил или фортран)
Старый 01.11.2013, 21:13
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:16.