try с ресурсами

try с ресурсами

Одним из основных нововведений, которые были включены в Java 7, стало введение нового оператора «try c ресурсами». «try c ресурсами» это оператор try, в котором объявляются один или несколько ресурсов. Ресурс — это объект, который должен быть закрыт после того, как программа закончит с ним работу. «try c ресурсами» берет всю работу по закрытию ресурсов на себя. Прежде, чем подробно его рассмотреть давайте разберемся в причинах, которые вызвали его появление. Закрытие ресурсов до Java 7. Предположим нам нужно написать метод,

Читать далее

Функциональные интерфейсы в Java 8

Функциональные интерфейсы в Java 8

Функциональные интерфейсы в Java 8 – это интерфейсы, которые содержат в себе только один абстрактный метод. Функциональные интерфейсы имеют тесную связь с лямбда выражениями и служат как основа для применения лямбда выражений в функциональном программировании на Java. Хотелось бы напомнить один нюанс — до появления Java 8 все методы в интерфейсе неявно считались абстрактными. С выходом JDK 8 появилось такое понятие как метод по умолчанию. Метод по умолчанию – это метод объявленный в интерфейсы, поведение которого предопределено, иначе говоря, метод

Читать далее

Обобщения в Java

Обобщения в Java

На протяжении всей истории развития языка Java, он претерпевал изменения. Иногда изменения носили косметический характер, иногда это было просто исправление уязвимостей, а иногда переход на новую версию языка знаменовал поистине значительные, а в некоторых случаях и революционные изменения, одним из таких изменений стали обобщения (generics). Обобщения в Java были представлены в версии 5.0 это было результатом реализации самых первых требований к спецификации Java, которые были сформулированы еще в 1999 году. Они позволили создавать более безопасный и легче читаемый код, который

Читать далее

Паттерн Команда

Паттерн "Команда"

Паттерн Команда – поведенческий шаблон проектирования, инкапсулирует запрос в виде объекта, делая возможной организацию клиентских объектов с другими запросами, организацию очереди или регистрацию запросов, а также, поддержку отмены операций. В объектно-ориентированном программировании шаблон проектирования Команда используется для инкапсуляции всей информации, необходимой для выполнения действия или вызова события в более позднее время. Эта информация включает в себя имя метода, объект, который является владельцем метода и значения параметров метода. Реализация: на этот раз попробуем реализовать запуск двигателя автомобиля с пульта, а потом

Читать далее

Курс лекций от Mail.Ru Group

Курс лекций от Mail.Ru Group посвященный алгоритмам и структурам данных, мало математики, много полезной информации, вообщем рекомендую. Ссылка на полный курс: https://www.youtube.com/playlist?list=PLrCZzMib1e9rvDqeX2jRXrEWoTqUxrqUA

Сравнение объектов в Java

В этой статье мы рассмотрим методики сравнения объектов в Java и какие инструменты нам для этого понадобятся. Как вы сможете понять из этой статьи задача сравнения объектов не такая уж, и тривиальная и выработать единый и универсальный подход для сравнения всех объектов едва ли представляется возможным. Сравнение объектов в Java выполняется с помощью оператора сравнения == и метода equals(). Если оператор сравнения можно использовать с примитивами, то метод equals() используется только с экземплярами классов. При их использовании проверяется ссылаются ли

Читать далее

Паттерн Одиночка

Паттерн "Одиночка"

Паттерн Одиночка – порождающий паттерн проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр класса с глобальной точкой доступа. Реализация: паттерн чрезвычайно прост, попробуем с его помощью создать машину для президента, которая будет существовать в единственном экземпляре. Создание приватного конструктора в классе будет неплохим первым шагом в достижении нашей цели, это позволит избежать создание одиночки другими классами, вторым шагом будет создание метода получения экземпляра класса. Если с конструктором все понятно, то с методом, который возвращает экземпляр нашего «одиночки», все несколько

Читать далее

Дата и время в Java 8

Дата и время Java

Нарекания к классам для работы с датой и временем из стандартной библиотеки Java были давно. Некоторые, особо разозленные программисты, даже говорили, что это позор Java. Но выбор был небольшой – либо пользуйся стандартной библиотекой, либо можешь попытать счастья используя сторонние библиотеки, которые тоже не были лишены недостатков. Из основных недостатков стандартной библиотеки можно было отметить низкую точность (1 миллисекунда), изменяемость (muttable), в связи с этим усложнялась работа с ними в многопоточном режиме, отсутствие классов для работы с периодами и т.д.

Читать далее

Топ 10 языков программирования

топ-10 языков програмирования

Преподаватель Калифорнийского университета в Беркли Дэвид Гевирц поставил перед собой задачу определить наиболее популярный язык программирования и понять, что значит «самый популярный». Для этого он сопоставил существующие рейтинги, определив «абсолютную десятку» в собственной колонке на ZDNet. Чтобы выделить нужные данные и определить агрегированный рейтинг, Гетц объединил столбцы, оценил частоту упоминания в них каждого языка программирования, сформировав таким образом топ-10. При этом исследователь разделил языки на три группы: первичные, вторичные и третичные. В первую группу попали Java, C, Python и C++,

Читать далее

Паттерн Абстрактная фабрика

Абстрактная фабрика

Паттерн Абстрактная фабрика – предоставляет интерфейс создания семейств взаимосвязанных или взаимозависимых объектов без указания их конкретных классов. Шаблон реализуется созданием абстрактного класса, который представляет собой интерфейс для создания компонентов системы (например, для оконного интерфейса он может создавать окна и кнопки), затем пишутся классы реализующие этот интерфейс. Применяется в случаях: когда программа должна быть независимой от процесса и типов создаваемых новых объектов; когда необходимо создать семейства или группы взаимосвязанных объектов исключая возможность одновременного использования объектов из разных этих наборов в одном

Читать далее

Site Footer