Pull to refresh
0
0

Software Engineer

Send message
Странные графики получились в тестах на доступ к полю объекта.

У поля мы проставили accessible = true и тем самым просто отключили проверки при вызове Field.get(Object). Исходя из графиков, в тестах на JDK 8 есть прирост в производительности, но за счёт чего это прирост? Если бегло просмотреть исходники, то в данном случае в качестве FieldAccessor будет использован UnsafeObjectFieldAccessorImpl, который в свою очередь вызывает unsafe.getObject(obj, offset), а там уже нативный метод из unsafe.cpp. Различий между классами JDK 7 и JDK 8 выполняющими вызов в данном случае — нет. Есть минорные изменения в unsafe.cpp, но там просто убрали assert.

Если же рассмотреть тест с accessible = false, то где тот же самый прирост производительности, как и в случае с accessible = true? Исходя из графиков получается, что в JDK 8 проверки стали медленнее, хотя сами они не менялись :)

Я наверное полную шизу написал, поэтому если что не так, то прошу поправить :)
bugs.openjdk.java.net/browse/JDK-8036942

Странно, что это баг ещё не исправили :) Я вроде как нашел потенциальное место и причину возникновения бага: mail.openjdk.java.net/pipermail/lambda-dev/2014-March/011946.html
Не стоит, там и так «оленей» хватает.
Теперь осталось распечатать полученную модель на 3D-принтере и подарить мне :3
Хех, ок :)

«Я когда-то работал в «МТС», и они меня уволили из-за кризиса. Всем работникам «МТС» можно было, абсолютно бесплатно и много раз пополнять себе счет. Для этого работник отправлял SMS с текстом ХХХХХХ на номер ххх и в течение 5 мин приходило поплнение на 25 грн. Я вам это сообщаю для того, чтобы отомстить «МТС» за увольнение! Пользуйтесь на здоровье, и друзьям сообщите!!! Давайте разорим этих кровопийц!»
Я когда-то работал в «МТС», и они меня уволили из-за кризиса. Всем работникам «МТС» можно было, абсолютно бесплатно и много раз пополнять себе счет. Для этого работник отправлял SMS с текстом ХХХХХХ на номер ххх и в течение 5 мин приходило поплнение на 25 грн. Я вам это сообщаю для того, чтобы отомстить «МТС» за увольнение! Пользуйтесь на здоровье, и друзьям сообщите!!! Давайте разорим этих кровопийц!
Java, Groovy, Scala (после Scala пока никакой JVM-based язык нет желания и необходимости изучать).
Когда я вижу новость о новом JVM-based языке программирования (via):

image
Тогда и «зарегестрировались» исправьте, а то как-то глаз режет.
Угу, насколько мне известно, у него дома тоже есть орган.
Извиняюсь, наверное это меня попутало:

The Java compiler copies initializer blocks into every constructor. Therefore, this approach can be used to share a block of code between multiple constructors.
> новый анонимный класс

Помимо этого, насколько мне известно, блок инициализации во время компиляции копируется автоматически в начало каждого конструктора текущего класса, что весьма неэффективно.

Вообще не рекомендуется к использованию как статический, так и не статический блок инициализации.
По мне так это выглядит солиднее и красивее…
Также рекомендую к прочтению:
Насколько мне известно — нет. Возможно c приходом Java 8 с замыканиями появится такая же удобная реализация.
> Nokia N8, E7, C6-01, C7 и X7

а X6?


Надеюсь, что это фэйк…
В США — День независимости. В РФ — не знаю.
Хм, а почему бы не через одно из этих свойств:

System.getProperty(«java.vendor»);
System.getProperty(«java.specification.vendor»);
System.getProperty(«java.vm.specification.vendor»);

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity