Сравнительный анализ производительности механизмов метапрограммирования в языке Java

Main Article Content

Азат Фердинандович Галиуллин
Ирина Сергеевна Шахова

Аннотация

Использование определенных механизмов метапрограммирования при разработке программных библиотек на языке Java может негативно сказываться на времени сборки и работе конечного программного продукта, в котором они используются. Для того, чтобы нивелировать воздействие различных подходов, необходимо предложить комплексное решение, позволяющее регулировать их использование в зависимости от особенностей контекста, что, в свою очередь, требует проведения предварительного анализа. В данной статье рассмотрены существующие в языке Java механизмы метапрограммирования и представлены результаты сравнения влияния данных подходов на время сборки Android-приложений.

Article Details

Как цитировать
Галиуллин, А. Ф., & Шахова, И. С. (2020). Сравнительный анализ производительности механизмов метапрограммирования в языке Java. Электронные библиотеки, 23(5), 985-996. https://doi.org/10.26907/1562-5419-2020-23-5-985-996
Биографии авторов

Азат Фердинандович Галиуллин

Магистрант высшей школы информационных технологий и информационных систем КФУ, г. Казань.

Ирина Сергеевна Шахова

Старший преподаватель кафедры программной инженерии Высшей школы информационных технологий и интеллектуальных систем Казанского федерального университета. Сфера научных интересов – цифровые образовательные системы, индивидуализация образования, мобильное обучение.

Библиографические ссылки

GitHub – JakeWharton/butterknife: Bind Android views and callbacks to fields and methods. URL: https://github.com/JakeWharton/butterknife.

The Java Community Process(SM) Program – JSRs: Java Specification Requests - detail JSR# 269. URL: https://jcp.org/en/jsr/detail?id=269.

Compilation Overview. URL: http://openjdk.java.net/groups/compiler/doc/ compilation-overview/index.html.

Trail: The Reflection API (The Java™ Tutorials). URL: https://docs.oracle.com/javase/tutorial/reflect/index.html

GitHub – google/dagger: A fast dependency injector for Android and Java. URL: https://github.com/google/dagger.

Dagger – Android SDK statistics | AppBrain. URL: https://www.appbrain.com/stats/libraries/details/dagger/dagger

GitHub – JakeWharton/dagger-reflect: A reflection-based implementation of the Dagger dependency injection library for fast IDE builds. URL: https://github.com/JakeWharton/dagger-reflect.

Dependency injection. URL: https://habr.com/ru/post/350068.

Gradle Build Tool. URL: https://gradle.org.

GitHub – android/architecture-components-samples: Samples for Android Architecture Components. URL: https://github.com/android/ architecture-components-samples.

Room Persistence Library. URL: https://developer.android.com/topic/ libraries/architecture/room.

Lifecycle | Android Developers. URL: https://developer.android.com/ jetpack/androidx/releases/lifecycle.

GitHub – butterknife/butterknife-reflect at master JakeWharton/butterknife. URL: https://github.com/JakeWharton/butterknife/ tree/master/ butterknife-reflect.

GitHub – google/dagger: A fast dependency injector for Android and Java. URL: https://github.com/google/dagger.

Dagger – Android SDK statistics | AppBrain. URL: https://www.appbrain.com/stats/libraries/details/dagger/dagger

GitHub – JakeWharton/dagger-reflect: A reflection-based implementation of the Dagger dependency injection library for fast IDE builds. URL: https://github.com/JakeWharton/dagger-reflect.

Dependency injection. URL: https://habr.com/ru/post/350068.

Gradle Build Tool. URL: https://gradle.org.

GitHub – android/architecture-components-samples: Samples for Android Architecture Components. URL: https://github.com/android/ architecture-components-samples.

Room Persistence Library. URL: https://developer.android.com/topic/ libraries/architecture/room.

Lifecycle | Android Developers. URL: https://developer.android.com/ jetpack/androidx/releases/lifecycle.

GitHub – butterknife/butterknife-reflect at master JakeWharton/butterknife. URL: https://github.com/JakeWharton/butterknife/ tree/master/ butterknife-reflect.



Наиболее читаемые статьи этого автора (авторов)