Обзор класса String в Java. Детальное рассмотрение функционала.

String coffee

В данной статье будут рассмотрены базовые функции по работе со строками. Где будет объснено назначения класса String в Java, сложение, сравнение, поиск и другой функционал связанный со строками. Назначение класса String в Java Класс String, в первую очередь, предназначен для работы со строками. Ранее мы рассматривали, что в Java существуют строковые литералы и строковые объекты. Давайте рассмотрим основные особенности класса String: Класс имеет immutable состояние. Это означает, что после создания, каждый раз модифицируя его мы будет получать не модифицированный класс, а новую копию. В свою очередь, чтобы избежать излишнего использования…

Read More

Как хранится в памяти java.lang.String. Оптимизация использования.

Класс java.lang.String пожалуй один из более всего используемых в Java. С помощью строк можно хранить большое множество разных типов данных. Далее в статье мы подробнее рассмотрим, как JVM хранит данные, оптимизацию хранения и другие особенности строк в Java. Что такое pool строк Это определенное хранилище в памяти JVM для хранение строк. Еще это хранилище называется, как Java String Pool. В зависимости от версии Java хранится данные будут по разному. В Java 6 строки хранились в PermGen пространстве, которое настраивалось при старте JVM. Данное пространство памяти было статическим, расширять его в…

Read More

Многопоточность в Java. Обзор Runnable, Thread, Object.

Многоазадачность

Многопоточность в Java представлена двумя базовыми сущностями. Это процессы и потоки. В Java многопоточном програмировании чаще всего используются потоки, хотя в реальной жизни существуют и много-процессные приложение. Процессы в Java Процесс — это самодостаточная среда выполнения программы. Каждый процесс имеет свое пространство в памяти. Часто под термином процесс подразумевается целое приложение. Зачастую коммуникация между процессами производится с помощью IPC ресурсов: пайплайнов или сокетов. Для того, чтобы создать много-процессное приложение предусмотрен класс ProcessBuilder. Потоки в Java Поток — часто называют легковесными процессоми. Как и процессы потоки предоставляют среду для выполнение операций.…

Read More