Наскільки щвидко працює Java Reflection API

Опубліковано: 2009-07-13   00:21:32

JavaМоя попередня замітка присвячена викорисатанню Java Reflection API. На основі цієї технології працює багато фішок мови Java. Наприклад Serialization та Enterprise Java Beans. Фактично всі вони полегшують дуже сильно життя розробнику ПО з використанням Java. Однак, вже доволі давно я прочитав в Developing without EJB про те, що все що базується на основі цієї технології працює не дуже швидко. Тести я дуже люблю, тому вирішив перевірити, наскільки це твердження правдиве. А незодавно в мене з'явилась хвилинка часу, для цього.

Методика тестування

За основу для написання тесту я взяв свій невадалий тест для перевірки швикдості виклику методу в java.

Однак тоді виникла проблема з тим, що JIT від Sun дуже добре передбачає такі речі, як розрахунки та виконує їх миттєво. Тому в якості методу, який я викликаю, я вирішив використовувати щось складніше ніж простий інкремент. Вирішив використовувати суму випадкових чисел, де кожне наступне число отримується за формулою:

rand = (max*rand+min)%(max-min);

Перший член такоъ послідовності береться на основі миттєвого таймштампу. Такий генератор випадкових чисел хоч і є дуже брудним, однак працює доволі непогано для широкого діапазону значень max та min.

..Читати далі

Теги: java , reflection , тест
Коментарі: 1
 

Магія відображень.

Опубліковано: 2009-07-09   21:26:06

JavaНіколи не замислювались, яким чином прицюють IDE, що дозволяють на льоту підхоплювати список методів та полів класу, з усіма правилами доступу та списком параметрів. Коли вперше побачив таку штуку, це здавалось фактично ідеалом. Не знаю як там в з іншими мовами програмування, а для Java є досить проста технологія, що дозволяє роботи такі цікаві штуки, як доступ до властивостей та методів будь-якого класу, там самим відкриваючи можливості легкого написання інтегрованих середовищ для розробки, різноманітних відлогоджувачів, середовищ для тестування. Сьогодні хочу розповісти про чудову можливість, що присутня в мові java - Java Reflection API.

Для того, щоб цікавіше було розбиратись з усим цим, пропоною в процесі роботи поставити собі за мету розробку такого "велосипеду" - простої автоматизованої системи тестування коду написаного на java. Звичайно ж системи простої, однак основні принципи роботи Reflection API та систем автоматизованого тестування зрозуміти можна і на невеликому прикладі.

..Читати далі

Теги: java , reflection
Коментарі: 0
 

Бажаєете прекрасного? Користуйтесь javascript. Відбиття

Опубліковано: 2008-10-23   23:31:11

BlogНеодноразово бували випадки, коли здавалося б чогось не вистачає на сторінці. Здавалося б і дизайнер попрацював добре: приємні кольори, якісно зроблена графіка. Однак чогось не вистачає. Якесь все "мертве".

А буває і навпаки: дизайн не дуже цікавий, здавалося б шаблонний, а викликає приємне враження.

Пошук чогось такого, щоб викликало захоплення, вирізняло проект зпоміж інших - завдання не легке. І іноді не треба бути дизайнером, для пошуку таких речей. Для веб іноді достатньо додати трошки JavaScript.

..Читати далі

Коментарі: 0