Принцип инкапсуляции в ООП: способ организации класса, при котором поля и методы закрываются (инкапсулируются) от внешнего воздействия.
Доступ к внутренним (приватным) полям и методам объекта осуществляется через открытые (публичные) методы. Например, это всем известные геттеры и сеттеры, позволяющие безопасно получать и перезаписывать приватные поля объекта.
👆- В коде мы видим пример из языка Java, где создается класс Notebook с приватным полем name, установить и получить значение которого можно не напрямую через точку после ссылки на объект (после его создания), а только через методы setName и getName.
Причём при установке (смене) имени выполняется проверка на пустую строку (метод isEmpty)
#ООП #Java
Доступ к внутренним (приватным) полям и методам объекта осуществляется через открытые (публичные) методы. Например, это всем известные геттеры и сеттеры, позволяющие безопасно получать и перезаписывать приватные поля объекта.
class NoteBook {
private String name;
public NoteBook(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
if (!name.isEmpty()) {
this.name = name;
}
}
}
👆- В коде мы видим пример из языка Java, где создается класс Notebook с приватным полем name, установить и получить значение которого можно не напрямую через точку после ссылки на объект (после его создания), а только через методы setName и getName.
Причём при установке (смене) имени выполняется проверка на пустую строку (метод isEmpty)
#ООП #Java
👍1
Занимательная статья про побитовые операции: НЕ, И, ИЛИ, сдвиги и другие.
Статья очень доходчивая и содержит иллюстрации, помогающие глубже понять сам принцип побитовых операций, так как такие манипуляции с двоичными данными встречаются не только в Java.
Действия над битами могут использоваться, к примеру, при работе с сетью, изображениями, иногда для арифметических операций.
Читать статью👈
#java #статья
Статья очень доходчивая и содержит иллюстрации, помогающие глубже понять сам принцип побитовых операций, так как такие манипуляции с двоичными данными встречаются не только в Java.
Действия над битами могут использоваться, к примеру, при работе с сетью, изображениями, иногда для арифметических операций.
Читать статью👈
#java #статья
❤1👍1
Библиотека
Библиотека
📍Особенности
1. Неблокирующий ввод-вывод: Java NIO поддерживает неблокирующий ввод-вывод, что позволяет приложениям обрабатывать несколько соединений в одном потоке, не дожидаясь, пока данные будут готовы.
2. Буферы: В NIO данные считываются и записываются в буферы. Это значит, что вы работаете с небольшими фрагментами данных, что увеличивает производительность.
3. Каналы: Вместо потоков
4. Селекторы: Позволяют одному потоку отслеживать несколько каналов (например, сетевых соединений) и обрабатывать события (такие как готовность чтения или записи) по мере их возникновения.
5. Пути и файловая система: Библиотека также предоставляет поддержку для работы с путями файловой системы через класс
🍕Когда использовать?
- В приложениях, требующих высокой производительности при выполнении операций ввода-вывода, таких как сетевые приложения или обработка больших объемов файлов.
- Когда нужно управлять большим количеством соединений одновременно, например в веб-серверах.
#Java
java.nioБиблиотека
java.nio, или Java New I/O, предназначена для реализации высокопроизводительных операций ввода-вывода в Java. Она предоставляет более гибкие и эффективные способы работы с файлами и сетевыми соединениями по сравнению с java.io.📍Особенности
1. Неблокирующий ввод-вывод: Java NIO поддерживает неблокирующий ввод-вывод, что позволяет приложениям обрабатывать несколько соединений в одном потоке, не дожидаясь, пока данные будут готовы.
2. Буферы: В NIO данные считываются и записываются в буферы. Это значит, что вы работаете с небольшими фрагментами данных, что увеличивает производительность.
3. Каналы: Вместо потоков
InputStream и OutputStream, NIO использует каналы (Channels). Каналы позволяют работать как с вводом, так и с выводом. Например, FileChannel для работы с файлами, SocketChannel для сокетов.4. Селекторы: Позволяют одному потоку отслеживать несколько каналов (например, сетевых соединений) и обрабатывать события (такие как готовность чтения или записи) по мере их возникновения.
5. Пути и файловая система: Библиотека также предоставляет поддержку для работы с путями файловой системы через класс
Path, что упрощает манипуляции с файловыми путями.🍕Когда использовать?
- В приложениях, требующих высокой производительности при выполнении операций ввода-вывода, таких как сетевые приложения или обработка больших объемов файлов.
- Когда нужно управлять большим количеством соединений одновременно, например в веб-серверах.
#Java