На конференции JBreak я не читал задачки спонсоров специально. Ну, конечно, кроме ада от Excelsior: уж эти ребята всем задали жару. А тут принесли мне листок от СКБ Контур, смотри, мол, посмейся. Я посмеялся: первая задача действительно выглядела настолько наивно сформированной и недоопределённой, что даже не хотелось идти к стенду и убеждать в этом сотрудников компании. Я про это почти забыл, однако тут на Хабре появился авторский разбор этой задачи, не лишённый некоторой глубины. Даже про modCount написали. Выходит, зря я смеялся?
Рубрика «java 8» - 3
Задача про forEach(ps::println) от СКБ Контур
2018-03-10 в 11:47, admin, рубрики: java, java 8, performance, stream api, наш ответ чемберлену!, параллельное программирование, параллельные вычисления, ПрограммированиеJava 9 — Вы уже перешли? Нет? И не надо …!?
2018-03-09 в 9:40, admin, рубрики: clojure, java, java 8, java 9, jvm, scala, ПрограммированиеНедели две назад InfoQ напомнил, что официальная поддержка Java 9 заканчивается… в Марте 2018г. (т.е. через 20 дней :)
Вот cсылка на официальный EOL от Oracle, в которой в разделе "Java SE Public Updates" черным по английскому говорится, что Java 9 будет поддерживаться до Марта 2018, а Java 8 — до Января 2019 (или позже) и Декабря 2020 (или позже).
Java 8 и паттерн Стратегия
2018-03-03 в 16:02, admin, рубрики: java, java 8, ооп, паттерн стратегия, Проектирование и рефакторингПотенциально возможное продолжение книги Паттерны проектирования (Элизабет Фримен и другие).
На дворе 2017 год. В компанию, где работает старший разработчик Джо, пришел на стажировку молодой студент Мартин. Он целый год скрупулезно изучал Java по современному учебнику с акцентом на функциональные интерфейсы, лямбда-выражения и прочие новшества.
Читать полностью »
Пошаговое руководство работы с Antlr4 с Maven проектом для Java через Intellij Idea
2017-11-07 в 8:31, admin, рубрики: antlr, intellij idea, java, java 8, maven, oracle, системы сборкиANTLR — это генератор парсеров, который позволяет создавать парсер по описанию грамматики на одном из основных языков программирования. Он сам написан на java и прекрасно работает с Java.
Пошаговое руководство:
1) Поставить Oracle Java JDK и Intellij Idea, (можно пропустить этот шаг, если они уже поставлены), и запустить Intellij Idea
2) File-Setting-Plugins
Используйте Stream API проще (или не используйте вообще)
2017-09-07 в 5:35, admin, рубрики: foreach, java, java 8, java 9, stream api, коллекции, оптимизация, Программирование, редукцияС появлением Java 8 Stream API позволило программистам писать существенно короче то, что раньше занимало много строк кода. Однако оказалось, что многие даже с использованием Stream API пишут длиннее, чем надо. Причём это не только делает код длиннее и усложняет его понимание, но иногда приводит к существенному провалу производительности. Не всегда понятно, почему люди так пишут. Возможно, они прочитали только небольшой кусок документации, а про другие возможности не слышали. Или вообще документацию не читали, просто видели где-то пример и решили сделать похоже. Иногда это напоминает анекдот про «задача сведена к предыдущей».
В этой статье я собрал те примеры, с которыми столкнулся в практике. Надеюсь, после такого ликбеза код программистов станет чуточку красивее и быстрее. Большинство этих штук хорошая IDE поможет вам исправить, но IDE всё-таки не всесильна и голову не заменяет.
Сравниваем Java 8, RxJava, Reactor
2017-04-26 в 17:22, admin, рубрики: flux, futures, java, java 8, Observer, reactor, rxjava, Stream, stream api, subscribe, Программирование, разработка мобильных приложений, Разработка под androidОт переводчика:
Я подготовил для вас адаптированный перевод с небольшими дополнениями и исправлениями. Я сохранил несколько пропагандистский стиль оригинальной статьи, но, сама по себе, информация в ней интересная, поэтому решил, все же, перевести.
Люди часто спрашивают меня:
Зачем мне вообще использовать RxJava или Reactor, если то же самое можно сделать с помощью Streams, CompletableFutures и Optionals?

Проблема, на самом деле, в том, что большую часть времени вы занимаетесь решением простых задач и вам действительно не нужны эти библиотеки. Но когда все усложняется, вам приходится писать какой-то уродский кусок кода. Затем этот кусок кода становится все более и более сложным и трудно поддерживаемым. В RxJava и Reactor есть много удобных функций, которые будут удовлетворять вашим потребностям еще долгие годы.
Давайте определим 8 критериев, которые помогут нам понять разницу между этими библиотеками и стандартными возможностями Java:
Jerminal — эмулятор терминала для Java-программ
2017-04-24 в 10:01, admin, рубрики: cli, console, java, java 8, library, terminal, библиотека, консоль, консольная утилитаВступление
Привет, читатели! Решил поведать вам о мини-библиотеке Jerminal. Я сейчас работаю над большим коммерческим проектом на Groovy/Java. Ну и мне пришло задание — написать консольку для приложения. К сожалению, было поставлено условие: никаких сторонних решений, все только свое. Недолго думая, я сел и написал ее. Подробнее — под катом.
Обзор IntelliJ IDEA 2017.1: Java 9, Kotlin 1.1, Spring, Gradle, JavaScript, Go и многое другое
2017-03-22 в 17:39, admin, рубрики: Go, intellij, intellij idea, java, java 8, java 9, Kotlin 1.1, scala, spring, Блог компании JetBrains, метки: Java 9Привет!
Спешу поделиться хорошей новостью. Работа над IntelliJ IDEA 2017.1 закончена, и новую версию IDE можно наконец скачать и попробовать. В этом обновлении исправлены многие важные баги а также появились улучшения для многих поддерживаемых языков, фреймворков и встроенных инструментов. Ниже краткий обзор наиболее важных изменений.

Чисто экспериментальные приёмы портирования Stream API из Java 8 на Java 6
2016-10-28 в 19:31, admin, рубрики: ant, java, java 8, jvm, portingГод назад я рассказывал о том, как с помощью Maven и Retrolambda портировать своё приложение, использующее языковые средства Java 8, а также сопутствующие “не совсем Java 8” библиотеки, на Android. К сожалению, новые Java 8 API использовать не удастся ввиду банального их отсутствия на более старой целевой платформе. Но, поскольку сама идея не покидала меня продолжительное время, мне стало интересным: можно ли портировать, например, Stream API на более старую платформу и не ограничиваться самими только возможностями языка вроде лямбда-выражений.
В конечном итоге, такая идея подразумевает следующее: как и в предыдущем случае, нужно с помощью доступных инструментов, в частности старой-доброй Retrolambda, переписать байткод Stream API таким образом, чтобы код, использующий этот API, мог работать и на старых версиях Java. Почему именно Java 6? Честно говоря, с этой версией Java я проработал дольшее время, Java 5 я не застал, а Java 7 для меня скорее как пролетела мимо.
Как в Java выстрелить себе в ногу из лямбды и не промахнуться
2016-10-17 в 11:58, admin, рубрики: java, java 8, анонимные функции, для начинающих, для новичков, замыкания, лямбды, Программирование, функциональное программированиеИногда можно услышать такие разговоры: никаких принципиальных изменений в Java 8 не произошло и лямбды это старые добрые анонимные классы щедро посыпанные синтаксическим сахаром. Как бы не так! Предлагаю сегодня поговорить, в чём отличие лямбд от анонимных классов. И почему попасть себе в ногу стало всё-таки сложнее.
Читать полностью »

