Мотивация для Stream API


Как я уже писал ранее, новый функциональный стиль в Java 8 — это переломный момент в истории языка, новый мир для разработчиков Java, поэтому настало время приспособиться к нему! В этой статье мы рассмотрим некоторые альтернативы традиционным циклам.

Функциональный стиль позволяет сказать, что мы хотим получить, вместо того чтобы говорить как этого можно добиться. Но причём здесь циклы, спросите вы? Безусловно они обладают гибкостью, но эта гибкость не обходится даром. Выражения return, break, continue изменяют поведение цикла так, что помимо основной задачи разобраться в
Продолжить

Рейтинг:  1  (Против: 1 | За: 2)
Добавлено: 20.01.2015 от Ксакеп

Комментарии (2)

Mockito и Behavior Driven Development

Java   test, bdd

Когда разработчик только начинает изучать принципы тестирования, он, как правило, знакомится в первую очередь с тестированием, основывающемся на проверке данных. То есть, чтобы протестировать функцию сложения чисел разработчик пишет, например, такой тест: “Заданы числа 2 и 3, в качестве результата ожидается 5”, и по тому, выполнилось ли это утверждение или нет, он делает вывод о верной или неверной реализации тестируемой функции.
Такой подход хорошо работает, когда код достаточно прост, результат предсказуем, и его проверка не займёт относительно много времени. Но на практике часто функции сложные, тяжело покрыть тестами каждый возможный исход, либо подготовка исходных или проверка конечных данных для теста занимает много времени. Можно, конечно, подумать: “Это сложно тестировать
Продолжить

Рейтинг:  8  (Против: 0 | За: 8)
Добавлено: 20.12.2014 от Freddy

Комментарии (32)

Практическое введение в JCF (Java Collections Framework) на примерах


В Java предусмотрено несколько способов хранения ссылок на объекты. Встроенным типом является массив, однако, ограниченное количество объектов может не всегда подойти для вашей программы. Библиотека java.util.* содержит достаточно полный набор классов контейнеров, обладающих весьма изощрёнными возможностями. Цель данной статьи - дать основные концепции и научить применять ту, или иную реализацию при решении определённых задач.


Основные интерфейсы и их реализации

В библиотеке коллекций Java существует два базовых интерфейса:
   # Collection - определены основные методы для работы с данными
   # Map - описывает коллекцию, состоящую из пар (ключ-значение)

Интерфейс Collection реализуют интерфейсы List, Set и Queue:
   # List - пронумерованная, неупорядоченная, допускающая
Продолжить

Рейтинг:  7  (Против: 1 | За: 8)
Добавлено: 1.12.2014 от Kalter

Комментарии (34)

ThreadPoolExecutor в Java ME


Для выполнения асинхронного кода программисту приходится создавать новый поток и переопределять метод run. Но что будет, если мы захотим выполнить 10, 100, 1000 задач? В этом случае на каждую задачу будет создан новый поток, и всё больше и больше времени система будет не на выполнение каждой задачи непосредственно, а на создание и уничтожение потоков и на переключение между ними, и таким образом мы можем потерять в производительности приложения даже больше, чем однопоточный вариант программы.
Чтобы избежать подобной проблемы, используется следующая идея: пусть некий объект создаст за нас некоторое количество потоков и хранит очередь задач, Любой свободный в данный момент времени поток извлекает из очереди задачу и исполняет её; во время выполнения задачи поток считается занятым, а после завершения
Продолжить

Рейтинг:  9  (Против: 1 | За: 10)
Добавлено: 28.11.2014 от Freddy

Комментарии (19)

Пишем компилятор — Введение


Компиляторы — вещь сложная, но принципы его работы достаточно просты.
1. Лексемный разбор — разбор входящего потока символов на лексемы и передача их следующему этапу в виде токенов.
2. Синтаксический разбор — разбор лексем, полученных в предыдущей стадии на синтаксические конструкции
3. Трансляция — формирование кода более низкого уровня из синтаксического дерева, полученного на предыдущей стадии

В первой статье я попытаюсь ввести общие термины и описать несложный язык, для которого мы напишем простое подобие компилятора.
В следующей статье я опишу разработку лексического анализатора для нашего языка.

В цикле статей трансляция, скорее всего, рассматриваться не будет, хотя выполнять программы, составленные на нашем языке, мы сможем.

Идентификатор
Продолжить

Рейтинг:  9  (Против: 1 | За: 10)
Добавлено: 20.11.2014 от Oak

Комментарии (14)
Всего: 41
<< 1 ... 5 6 7 8 9 >>

Мы в соцсетях

tw tg yt gt