uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Java Geek

Java Geek

Kanalga Telegram’da o‘tish

Практичные советы, лайфхаки и код для Java-разработчиков. Каждый пост — реальная польза. Учим Java на примерах. По всем вопросам @evgenycarter

Ko'proq ko'rsatish
2 352
Obunachilar
-124 soatlar
Ma'lumot yo'q7 kun
-1530 kun
Postlar arxiv
Классы StringBuilder и StringBuffer Классы StringBuffer и StringBuilder в Java используются, когда возникает необходимость сд
Классы StringBuilder и StringBuffer Классы StringBuffer и StringBuilder в Java используются, когда возникает необходимость сделать много изменений в строке символов. В отличие от строк, объекты типа StringBuffer и StringBuilder могут быть изменены снова и снова, оставляя после себя множество новых неиспользуемых объектов. В Java StringBuilder был введен начиная с Java 5. Основное различие между StringBuffer и StringBuilder такое, что методы StringBuilder не являются безопасными для потоков (несинхронизированные). Рекомендуется использовать StringBuilder всякий раз, когда это возможно, потому что он быстрее, чем StringBuffer в Java. Однако, если необходима безопасность потоков, наилучшим вариантом являются объекты StringBuffer. @java_geek

Опишите иерархию исключений. Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable, потомками которого являются классы Exception и Error. Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует обрабатывать в собственной программе, поскольку они связаны с проблемами уровня JVM. Например, исключения такого рода возникают, если закончилась память доступная виртуальной машине. Исключения (Exceptions) являются результатом проблем в программе, которые в принципе решаемы, предсказуемы и последствия которых возможно устранить внутри программы. Например, произошло деление целого числа на ноль. @java_geek

Внутренние классы (нестатические вложенные классы) Внутренние классы — это механизм безопасности в Java. Создать такой класс
Внутренние классы (нестатические вложенные классы) Внутренние классы — это механизм безопасности в Java. Создать такой класс довольно просто — нужно написать класс внутри класса. Внутренний класс может быть закрытым (private), и после того, как Вы объявляете внутренний класс закрытым, он не может быть доступен из объекта вне класса. На картинке Outer_Demo – внешний класс, Inner_Demo – внутренний класс, display_Inner() – метод, внутри которого мы создаем внутренний класс, и этот метод вызывается из основного метода. @java_geek

Могут ли у разных объектов быть одинаковые hashCode()? Да, могут. Метод hashCode() не гарантирует уникальность возвращаемого значения. Ситуация, когда у разных объектов одинаковые хэш коды называется коллизией. Вероятность возникновения коллизии зависит от используемого алгоритма генерации хэш кода. @java_geek

Вложенные классы В Java, подобно методам, переменные класса тоже могут иметь в качестве своего члена другой класс. В Java доп
Вложенные классы В Java, подобно методам, переменные класса тоже могут иметь в качестве своего члена другой класс. В Java допускается написание класса внутри другого. Класс, написанный внутри, называется в Java вложенным классом, а класс, который содержит внутренний класс, называется внешним классом. На картинке приведен синтаксис для записи вложенного класса. Здесь класс Outer_Demo – это внешний класс, а класс Nested_Demo – вложенный класс. Вложенные классы в Java делятся на два типа: ☕️ Нестатические вложенные классы – нестатические члены класса. ☕️ Статические вложенные классы – статические члены класса. @java_geek

Какая основная разница между String, StringBuffer, StringBuilder? Класс String является неизменяемым (immutable) - модифицировать объект такого класса нельзя, можно лишь заменить его созданием нового экземпляра. Класс StringBuffer изменяемый - использовать StringBuffer следует тогда, когда необходимо часто модифицировать содержимое. Класс StringBuilder был добавлен в Java 5 и он во всем идентичен классу StringBuffer за исключением того, что он не синхронизирован и поэтому его методы выполняются значительно быстрей. @java_geek

Перегрузка в Java Рассмотрим работу перегрузки методов в Java. Что, если передавать в функцию аргумент, который не вполне соо
Перегрузка в Java Рассмотрим работу перегрузки методов в Java. Что, если передавать в функцию аргумент, который не вполне соответствует определенным нами аргументам по типу? На этом этапе возможны два исхода. 1. Произойдет преобразование типа, но в более высокий тип (с точки зрения диапазона) в том же семействе. 2. Произойдет преобразование типа в следующее более старшее семейство (предположим, что если нет типа данных long, доступного для типа данных int, тогда будет поиск типа данных с плавающей запятой). @java_geek

Метод regionMatches() Используется для сравнения подстроки одной строки с подстрокой другой строки, то есть сравниваются част
Метод regionMatches() Используется для сравнения подстроки одной строки с подстрокой другой строки, то есть сравниваются части строк и возвращается результат этого сравнения — true (если части строк совпали) или false (не совпали). Параметры ignoreCase — логическая переменная со значение true — игнорировать регистр, со значением false — не игнорировать регистр. toffset — позиция, с которой начнем отсчет. other — другая строка, часть которой мы будем сравнивать. ooffset — позиция, с которой начнем отсчет в строке other len — количество символов для сравнения. @java_geek

Ключевое слово abstract в Java abstract - это модификатор, применимый для классов, методов, но не для переменных. Он использу
Ключевое слово abstract в Java abstract - это модификатор, применимый для классов, методов, но не для переменных. Он используется для достижения абстракции, которая является одним из столпов объектно-ориентированного программирования. Рассмотрим варианты применения abstract: 1. Класс, имеющий частичную реализацию (т.е. не все методы, присутствующие в классе, определены). 2. Иногда требуется объявление нереализованного метода в суперклассе. Этого можно добиться, указав модификатор abstract. @java_geek

Почему char[] предпочтительнее String для хранения пароля? С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке. @java_geek

Разница между == и .equals() в Java Как правило, в Java для сравнения объектов и проверки равенства используются оба equals()
Разница между == и .equals() в Java Как правило, в Java для сравнения объектов и проверки равенства используются оба equals() и «==», но вот некоторые из различий между ними: 1. Один из них является методом, а другой - оператором. 2. Можно использовать оператор == для сравнения ссылок (адресов в памяти) и метод .equals() для сравнения содержимого. Проще говоря, == проверяет, указывают ли оба объекта на одно и то же место в памяти, тогда как .equals() сравнивает значения в объектах. 3. Если класс не переопределяет метод equals, то по умолчанию он использует метод equals ближайшего родительского класса, который переопределил этот метод. @java_geek

Программа на Java, убирающая все переносы в строке Для замены всех переносов («\n») можно использовать функцию replace(). Str
Программа на Java, убирающая все переносы в строке Для замены всех переносов («\n») можно использовать функцию replace(). String replace() возвращает новый объект String, который содержит ту же последовательность символов, что и исходная строка, но с замененным символом. Таким образом с помощью функции replace() можно заменять любые символы в строке на нужные. @java_geek

Конструктор по умолчанию в Java Как и C++, Java автоматически создает конструктор по умолчанию, если нет конструктора по умол
Конструктор по умолчанию в Java Как и C++, Java автоматически создает конструктор по умолчанию, если нет конструктора по умолчанию или параметризованного конструктора, написанного программистом. А также как и в C++ конструктор по умолчанию автоматически вызывает родительский конструктор по умолчанию. Но, в отличие от C++, конструктор по умолчанию в Java инициализирует члены класса значениями по умолчанию (числовые значения инициализируются как 0, логические значения инициализируются как false, а ссылки инициализируются как null). @java_geek

Для чего нужен метод hashCode()? Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смысле - битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть: • если хэш коды разные, то и объекты гарантированно разные; • если хэш коды равны, то объекты не обязательно равны(могут быть разные). @java_geek

Класс FileReader FileReader — это класс в пакете java .io, который можно использовать для чтения потока символов из файлов. Э
Класс FileReader FileReader — это класс в пакете java .io, который можно использовать для чтения потока символов из файлов. Этот класс использует либо указанную кодировку, либо кодировку платформы по умолчанию для декодирования байтов в символы. Разберём некоторые методы класса: read() — метод читает и передает один символ или -1, если поток завершен; read(char [] charBuffer, int offset, int length) — считывает поток символов и сохраняет их в заданном символьном буфере. offset - это позиция, с которой начинается чтение, а length - это общее количество символов, которые необходимо прочитать. Он передает большое количество прочитанных символов либо -1, если поток завершен; ready() — сообщает, готов ли поток к чтению. Считается, что поток готов, если его входной буфер не пуст; getEncoding() — используется для возврата заголовка кодировки символов, которая используется потоком; close() — закрывает поток и освобождает связанные с ним системные ресурсы. @java_geek

Что такое тернарный оператор выбора? Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else. Выражение записывается в следующей форме: условие ? выражение 1 : выражение 2 Если условие выполняется, то вычисляется выражение 1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение 2 и его значение становится результатом работы оператора. Оба операнда выражение 1 и выражение 2 должны возвращать значение одинакового (или совместимого) типа. @java_geek

Ключевое слово instanceof в Java и его применения instanceof — это ключевое слово, которое используется для проверки того, со
Ключевое слово instanceof в Java и его применения instanceof — это ключевое слово, которое используется для проверки того, содержит ли ссылочная переменная объектную ссылку данного типа или нет. Чтобы лучше понять его суть, предлагаю обратиться к примеру кода. @java_geek

Как получить доступ к переопределенным методам родительского класса? С помощью ключевого слова super мы можем обратиться к любому члену родительского класса - методу или полю, если они не определены с модификатором private. @java_geek

Класс Java.io.OutputStream в Java Этот абстрактный класс является суперклассом всех классов, представляющих выходной поток ба
Класс Java.io.OutputStream в Java Этот абстрактный класс является суперклассом всех классов, представляющих выходной поток байтов. Output-поток принимает байты и отправляет их в какой-то приемник. Приложения, которым необходимо определить подкласс OutputStream, всегда должны предоставлять по крайней мере метод, который записывает один байт вывода. @java_geek

Какие классы и интерфейсы доступны в Collection фреймворке? Интерфейсы: • Collection; • List; • Set; • Map; • Sorted Set; • Sorted Map; • Queue. Классы: • Lists(ArrayList, LinkedList, Vector(deprecated)) • Sets(HashSet, LinkedHashSet, TreeSet) • Maps(HashMap, TreeMap, HashTable (deprecated), LinkedHashMap) • Queue(Priority Queue) @java_geek