763 читали · 2 года назад
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 1
Источник: Nuances of Programming Парадигмы программирования можно сравнить с территориями. На каждой территории, от императивного до декларативного программирования, установлены строгие законы поведения, диктующие, что можно делать, а что нельзя. Но чаще всего разработчики оказываются на территории, где приходится осуществлять то, что не одобряется или запрещается. В таких случаях начинается поиск лазеек и способов применения системы для решения насущных задач. Иногда обнаруживаются законы, которые разрешают действия, противоречащие основным принципам системы...
135 читали · 2 года назад
Java 287. Можно ли создать объект без использования оператора new в Java?
Да, в Java существует несколько способов создания объектов без использования оператора new: MyClass obj = (MyClass) Class.forName("MyClass").newInstance(); Constructor<MyClass> constructor = MyClass.class.getConstructor(); MyClass obj = constructor.newInstance(); MyClass obj1 = new MyClass(); MyClass obj2 = (MyClass) obj1.clone(); MyClass obj = (MyClass) sun.misc.Unsafe.getUnsafe().allocateInstance(MyClass.class); ObjectInputStream inStream = new ObjectInputStream(anInputStream ); MyClass object = (MyClass) inStream...
2 года назад
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 3
Источник: Nuances of Programming Первая и вторая части статьи. Практический пример: добавление функциональности плагина в Java-приложение Плагины  —  это небольшие программы, которые могут быть включены в работающее приложение для расширения его функциональности. Рассмотрим редактор кода Visual Studio Code, который помогает в таких задачах разработки, как отладка, тестирование кода и контроль версий. Кроме того, он поставляется на рынок с тысячами расширений, которые могут загружать пользователи...
192 читали · 2 года назад
Java 903. Реализуйте симметрическую разность двух коллекций используя методы Collection (addAll(...), removeAll(...), retainAll(...)).
Для реализации симметрической разности двух коллекций можно использовать методы addAll(), removeAll() и retainAll() из интерфейса Collection. Вот пример Java кода, демонстрирующий это: import java.util.ArrayList; import java.util.Collection; public class SymmetricDifferenceExample { public static <T> Collection<T> symmetricDifference(Collection<? extends T> collection1, Collection<? extends T> collection2) { Collection<T> difference...