Fullstack Coding
200 subscribers
41 photos
13 links
Коротко и ёмко про Web разработку)
Сотрудничество: @PashNorthMan
Download Telegram
Принцип инкапсуляции в ООП: способ организации класса, при котором поля и методы закрываются (инкапсулируются) от внешнего воздействия.
Доступ к внутренним (приватным) полям и методам объекта осуществляется через открытые (публичные) методы. Например, это всем известные геттеры и сеттеры, позволяющие безопасно получать и перезаписывать приватные поля объекта.

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 #статья
1👍1
Библиотека 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