Как настроить сериализацию Kotlin Any с поддержкой Parcelable и Serializable в Android

Тема сериализации данных является базой для любого мобильного разработчика, поскольку используется для работы с сетью, файловой системой и коммуникацией между основными компонентами. Но есть в этом вопросе особенность, с которой я столкнулся впервые за 7 лет. Именно об этом открытии и пойдет речь в статье — о смеси двух методов сериализации, — а также о том, почему для решения этой задачи важно разбираться в работе разных видов classLoader. Информация из статьи поможет вам постепенно мигрировать на Parcelable в нужных местах, не переписывая сразу все классы на новую технологию. Узнать подробности

https://habr.com/ru/companies/alfa/articles/1013158/

#android #serializable #parcelable #classloader

Как настроить сериализацию Kotlin Any с поддержкой Parcelable и Serializable в Android

Тема сериализации данных является базой для любого мобильного разработчика, поскольку используется для работы с сетью, файловой системой и коммуникацией между основными компонентами. Но есть в этом...

Хабр

[Перевод] Одна строка кода, которая заблокировала 102 потока

В прошлом месяце я исследовал периодически возникающие всплески задержек в нашем сервисе отчётности и обнаружил нечто, заставившее меня не поверить своим глазам: 102 потока блокировалось одновременно, и все они ждали одной блокировки. Причиной этого оказалась одна строка кода, выглядевшая совершенно невинно. Это история о том, как DatatypeFactory.newInstance() поставил на колени наш высокопроизводительный Java-сервис, и об удивительно простом решении, позволившем полностью избавиться от проблемы.

https://habr.com/ru/articles/1002732/

#дамп #classloader #потоки

Одна строка кода, которая заблокировала 102 потока

В прошлом месяце я исследовал периодически возникающие скачки задержек в нашем сервисе отчётности и обнаружил нечто, заставившее меня не поверить своим глазам: 102 потока блокировалось одновременно, и...

Хабр
Wow, je savais qu'il y avait une façon simple de récupérer l'emplacement de chargement d'une classe en Java, mais je ne savais pas que c'était **aussi simple**. https://mkyong.com/java/how-to-know-from-where-a-class-was-loaded-in-java/ #java #class #classloader #hack
How to know from where a Class was loaded in Java - Mkyong.com

- How to know from where a Class was loaded in Java

Mkyong.com

Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам

Я уверен, вы слышали про Robolectric, но использовали ли хоть раз для UI‑тестирования или screenshot-тестирования? Да, у библиотеки неоднозначная репутация в Android-комьюнити. Возможно, вы будете в восторге, когда её устройство перестанет быть для вас загадкой. В статье разберу: устройство Robolectric, возможности фреймворка, задачи, которые вы сможете решать, и нюансы совместимости, важные для вашего проекта . Я копнул глубже, упорядочил все свои знания о библиотеке и изложил их под катом.

https://habr.com/ru/companies/alfa/articles/910226/

#robolectric #android #classloader #bytecode #юниттесты #uiтестирование #фреймворки_тестирования

Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам

Иногда наступают моменты в карьере, когда ты хочешь сделать следующий шаг в своём развитии, но можешь не понимать наверняка, что это за следующий шаг и какие возможности...

Хабр

Как работает Robolectric и почему это важно знать

Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не игнорируют. За кажущейся простотой «просто добавь зависимость» скрывается удивительная магия модификации байткода, о которой не рассказывают в статьях. Предлагаю разобраться, как на самом деле работает магия Robolectric и почему эти знания пригодятся любому android-разработчику.

https://habr.com/ru/companies/tbank/articles/902180/

#android #robolectric #bytecode #kotlin #classloader

Как работает Robolectric и почему это важно знать

Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не...

Хабр
OH WOW, en 2024, on a enfin, ENFIN, un schéma qui articule les différents classloaders en Java. Je ne connais pas Yahor, mais merci à lui ! https://medium.com/@wakefulinsomnia/how-does-java-classloader-system-work-82eaf378f73b #java #programming #classloader #schéma #documentation
Java Class Loaders: Explanation in Diagrams | Yahor Barkouski | Medium

Uncover the workings of Java's Class Loaders. Learn about Class Loaders types, hierarchy, & loading process for a deeper understanding of JVM in pretty diagrams.

Medium

Как загружать классы в Java 8 и Java 9+?

Привет, Хабр! Я разработчик в Институте Системного Программирования РАН , занимаюсь разработкой статического анализатора Svace . Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java. Модули появились в Java, начиная с версии 9. Прошло уже несколько лет, но если попытаться найти актуальную информацию о связи модулей и загрузчиков классов, её придётся собирать по крупицам. В статье я поделюсь своим опытом изучения вопроса самостоятельной (и автоматической) загрузки классов с помощью кастомного загрузчика, а также разберу примеры, описывающие большинство случаев загрузки, постараюсь их объяснить.

https://habr.com/ru/companies/isp_ras/articles/788618/

#java #java_modules #jvm #classloader

Как загружать классы в Java 8 и Java 9+?

Привет, Хабр! Я разработчик в Институте Системного Программирования РАН , занимаюсь разработкой статического анализатора Svace . Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM,...

Хабр

Live (re)compile, (re)load, (re)execute Java code in 100 LoC

https://foojay.io/today/live-recompile-reload-reexecute-java-code-in-100-loc/

 #java #classloader

Live (re)compile, (re)load, (re)execute Java code in 100 LoC

A way to automatically (re)compile, (re)load and (re)execute code on file changed!

foojay