Forwarded from Java Geek
Метод retainAll()
Используется для удаления всех элементов списка массива, не содержащихся в указанной коллекции, или для сохранения всех совпадающих элементов в текущем экземпляре
Подробнее про метод можно почитать здесь.
@java_geek
Используется для удаления всех элементов списка массива, не содержащихся в указанной коллекции, или для сохранения всех совпадающих элементов в текущем экземпляре
ArrayList
, которые соответствуют всем элементам из списка Collection
, переданного методу в качестве параметра.Подробнее про метод можно почитать здесь.
@java_geek
👍5❤1
Как вызвать нативный код?
Нативным (или машинным) кодом называется скомпилированный бинарный код. В него компилируется, например, код на C++. Java приложение может работать на любой платформе именно потому, что оно не компилируется в бинарник – вместо этого его байткод выполняется на виртуальной машине. Но порой нужно обратиться к готовой программе на другом языке, или воспользоваться специальными возможностями ОС.
Если бинарный код поставляется в виде библиотеки (.dll в Windows, .so в Unix), у вас есть два варианта:
JNI (Java Native Interface) – стандартный фреймворк взаимодействия с бинарным кодом. С ним можно в Java исходнике объявить метод без тела, а реализацию брать из бинарного файла. Простой пример использования читайте на хабре.
JNA (Java Native Access) – сторонняя open-source библиотека, ставшая стандартом де-факто. Медленнее чем JNI, но гораздо проще в использовании. В отличие от JNI не требует кодогенерации и написания вспомогательной обвязки. Несколько примеров вызова из Java кода функций бинарных библиотек можно найти на википедии.
Когда нативный код исполняемый (.exe в Windows, файл с правом x в Unix), можно запустить его отдельным процессом. Но если вы разрабатываете этот бинарный код самостоятельно, то лучше сэкономить на создании отдельного процесса, и выбрать вариант сборки в библиотеку.
👉@BookJava
Нативным (или машинным) кодом называется скомпилированный бинарный код. В него компилируется, например, код на C++. Java приложение может работать на любой платформе именно потому, что оно не компилируется в бинарник – вместо этого его байткод выполняется на виртуальной машине. Но порой нужно обратиться к готовой программе на другом языке, или воспользоваться специальными возможностями ОС.
Если бинарный код поставляется в виде библиотеки (.dll в Windows, .so в Unix), у вас есть два варианта:
JNI (Java Native Interface) – стандартный фреймворк взаимодействия с бинарным кодом. С ним можно в Java исходнике объявить метод без тела, а реализацию брать из бинарного файла. Простой пример использования читайте на хабре.
JNA (Java Native Access) – сторонняя open-source библиотека, ставшая стандартом де-факто. Медленнее чем JNI, но гораздо проще в использовании. В отличие от JNI не требует кодогенерации и написания вспомогательной обвязки. Несколько примеров вызова из Java кода функций бинарных библиотек можно найти на википедии.
Когда нативный код исполняемый (.exe в Windows, файл с правом x в Unix), можно запустить его отдельным процессом. Но если вы разрабатываете этот бинарный код самостоятельно, то лучше сэкономить на создании отдельного процесса, и выбрать вариант сборки в библиотеку.
👉@BookJava
👍6
Hibernate: заполняем пробелы
Я не гуру разработки и не читал книжку по Hibernate на 800 страниц. Я просто любознательный малый, который решил немного хлебнуть из бездонной бочки знаний по разработке на Java. Эта статья рассчитана на Junior разработчиков, которые хотят заполнить пробелы по Hibernate. Если это будут читать более опытные разработчики: напишите замечания по техническому наполнению статьи. Буду вам очень признателен. Со вступлением все. Поехали)
https://habr.com/ru/post/708374/
👉@BookJava
Я не гуру разработки и не читал книжку по Hibernate на 800 страниц. Я просто любознательный малый, который решил немного хлебнуть из бездонной бочки знаний по разработке на Java. Эта статья рассчитана на Junior разработчиков, которые хотят заполнить пробелы по Hibernate. Если это будут читать более опытные разработчики: напишите замечания по техническому наполнению статьи. Буду вам очень признателен. Со вступлением все. Поехали)
https://habr.com/ru/post/708374/
👉@BookJava
👍4
Как прочитать криптографический ключ?
Для чтения криптографического ключа необходимо использовать классы Java Cryptography Architecture (JCA). Пример кода для чтения криптографического ключа из файла вида PKCS#8 с помощью этих классов может выглядеть следующим образом:
// Используем ключ для выполнения криптографических операций
👉@BookJava
Для чтения криптографического ключа необходимо использовать классы Java Cryptography Architecture (JCA). Пример кода для чтения криптографического ключа из файла вида PKCS#8 с помощью этих классов может выглядеть следующим образом:
// Загружаем публичный ключ из файла
FileInputStream fis = new FileInputStream("public.pem");
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
byte[] keyBytes = new byte[dis.available()];
dis.readFully(keyBytes);
dis.close();
// Преобразуем байты в объект PublicKey
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey publicKey = kf.generatePublic(spec);
// Используем ключ для выполнения криптографических операций
👉@BookJava
👍7🔥2🥰1
Рефлексия (Reflection) — это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов java.lang и java.lang.reflect.
Возможности Java Reflection API:
✔️Определение класса объекта;
✔️Получение информации о модификаторах класса, полях, методах, конструкторах и суперклассах;
✔️Определение интерфейсов, реализуемых классом;
✔️Создание экземпляра класса;
✔️Получение и установка значений полей объекта;
✔️Вызов методов объекта;
✔️Создание нового массива.
👉@BookJava
Возможности Java Reflection API:
✔️Определение класса объекта;
✔️Получение информации о модификаторах класса, полях, методах, конструкторах и суперклассах;
✔️Определение интерфейсов, реализуемых классом;
✔️Создание экземпляра класса;
✔️Получение и установка значений полей объекта;
✔️Вызов методов объекта;
✔️Создание нового массива.
👉@BookJava
👍2
Абстрактные классы и интерфейсы в Java
Когда в Java следует выбирать абстрактный класс, а не интерфейс? Примите вызов! Узнайте, в чем разница между этими элементами языка Java и как использовать их в своих программах.
https://www.infoworld.com/article/2077421/abstract-classes-vs-interfaces-in-java.html
👉@BookJava
Когда в Java следует выбирать абстрактный класс, а не интерфейс? Примите вызов! Узнайте, в чем разница между этими элементами языка Java и как использовать их в своих программах.
https://www.infoworld.com/article/2077421/abstract-classes-vs-interfaces-in-java.html
👉@BookJava
❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO
Кто я такой
В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.
https://habr.com/ru/company/alfastrah/blog/706314/
👉@BookJava
Кто я такой
В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.
https://habr.com/ru/company/alfastrah/blog/706314/
👉@BookJava
👍6
Пишем игру на Java - Клон Танков. Часть 1
Вступление
Создаем Окно - [1]
Да будет цвет - [2]
Изображения (теория) - [3]
Улучшаем графику - [4]
Мульти Буферизацыя - [5]
👉@BookJava
Вступление
Создаем Окно - [1]
Да будет цвет - [2]
Изображения (теория) - [3]
Улучшаем графику - [4]
Мульти Буферизацыя - [5]
👉@BookJava
👍10🔥1
Полиморфизм в java
Словарное определение полиморфизма относится к принципу биологии, в соответствии с которым организм или вид может иметь множество различных форм или стадий. Этот принцип также может быть применен к объектно-ориентированному программированию и таким языкам, как язык Java. Подклассы класса могут определять свое собственное уникальное поведение и в то же время разделять некоторые функциональные возможности родительского класса.
https://bookflow.ru/polimorfizm-v-java/
👉@BookJava
Словарное определение полиморфизма относится к принципу биологии, в соответствии с которым организм или вид может иметь множество различных форм или стадий. Этот принцип также может быть применен к объектно-ориентированному программированию и таким языкам, как язык Java. Подклассы класса могут определять свое собственное уникальное поведение и в то же время разделять некоторые функциональные возможности родительского класса.
https://bookflow.ru/polimorfizm-v-java/
👉@BookJava
👍4❤1
Пишем игру на Java - Клон Танков. Часть 2
Структура игры - [6]
Ввод с клавиатуры - [7]
Загружаем ресурсы из файла - [8]
Создаем Спрайт - [9]
Класс Player и Entity - [10]
Создаем Уровень - [11]
👉@BookJava
Структура игры - [6]
Ввод с клавиатуры - [7]
Загружаем ресурсы из файла - [8]
Создаем Спрайт - [9]
Класс Player и Entity - [10]
Создаем Уровень - [11]
👉@BookJava
👍9