Статья о реализации паттерна Builder с проверкой на уровне компиляции, реализованного с помощью параметрического полиморфизма. В ней мы поговорим о том, что такое полиморфизм, каким он бывает. Как устроена магия «оператора» =:= в scala, можно ли повторить ее в java и как используя эти знания реализовать Builder, не допускающий неполной инициализации создаваемого объекта.
Читать полностью »
Рубрика «java» - 148
Безопасный Builder на Scala и Java
2017-03-06 в 9:38, admin, рубрики: builder, java, patterns, scalaApache Ant – быстрый старт
2017-03-04 в 11:52, admin, рубрики: ant, apache ant, java, быстрый старт, системы сборкиApache Ant должен быть знаком каждому Java-программисту: это популярный инструмент сборки ПО (build tool), полностью написанный на Java. Сценарий представляет собой простой XML-файл. Несмотря на Java-направленность, этим инструментом пользуются и другие разработчики.
Мы пройдём пять простых шагов, чтобы начать использовать Ant:
Читать полностью »
Как с помощью maven работать с библиотеками, которых в maven нет
2017-03-02 в 10:00, admin, рубрики: java, maven, библиотеки, Блог компании ГК ЛАНИТ, Программирование, системы сборкиВ статье я расскажу, как подключить библиотеку, которой в maven по умолчанию нет, и как подключить другую библиотеку, исходники которой давным-давно потеряны.
Также я опишу, как сделать maven проект, который генерирует артефакт, по совместительству являющийся библиотекой, и как подключить эту библиотеку к другому своему же maven проекту.
Эта статья для тех, кто только начинает осваивать java.
В моей предыдущей статье было сказано, что maven сам скачает все указанные в pom.xml зависимости. А вот что будет, если он какую-нибудь зависимость не найдёт? В таком случае maven скажет, что зависимость не обнаружена и прервёт процесс сборки с ошибкой. Что делать в этом случае?
Java-конференция JPoint 2017: Москва, 7-8 апреля — Обзор докладов
2017-03-02 в 7:06, admin, рубрики: java, jpoint, jvm, performance, Блог компании JUG.ru Group, высокая производительность, доклады, конференции, хардкор, шипилёвДо Java-конференции JPoint 2017 осталось пять недель, 75% докладов уже утверждены, оставшиеся 25% будут выбраны из имеющихся заявок к середине марта. В этом посте я расскажу вам о том, что у нас получилось.
Если темы всех докладов разделить по тематикам, то получится следующее:
- Производительность Java, как на уровне JVM, так и в работе с фреймворками;
- Препарирование JVM и публичная демонстрация кровавых кишочков;
- Построение распределенных систем, которые работают;
- Проблемы параллелизма и многопоточности в больших проектах;
- Контейнеризация и оркестрация Java-приложений и сервисов.
Плюсом к основным блокам будут доклады на более специфические темы: Kotlin, trueOOP на Java от Егора, паттерны и, конечно, немного паззлеров!
Под катом я расскажу о тех докладах, которые уже утверждены на JPoint 2017. Чтобы все это не выглядело кашей, я попытался разбить доклады по темам.
Читать полностью »
Встречайте Kotlin 1.1: JavaScript, корутины и многое другое
2017-03-01 в 15:46, admin, рубрики: coroutines, java, javascript, jvm, kotlin, Блог компании JetBrains, Разработка под androidМы рады представить вам Kotlin 1.1, новую версию языка программирования Kotlin.
Наша цель — сделать выразительный статически типизированный язык, на котором можно эффективно писать все компоненты современного приложения. Сегодняшний релиз делает два важных шага в этом направлении.
Представляем Upsource 2017.1
2017-03-01 в 11:23, admin, рубрики: android, code review, collaboration, Git, github, gitlab, java, jetbrains, team tools, teamwork, upsource, Блог компании JetBrains, Разработка под android, Системы управления версиямиПривет!
На прошлой неделе мы выпустили новую версию Upsource 2017.1 — первое крупное обновление в этом году. В новую версию вошло множество новых функций, ряд улучшений по части юзабилити и не только. Теперь к вашим услугам кросс-проектный текстовый поиск, браузерные уведомления, отслеживание прогресса ревью, поддержка squash/rebase, новые воркфлоу, базовая поддержку GitLab и многое другое!
Посмотрите краткий обзор новой версии на английском языке:
Итак, мы сделали дамп JVM на 150 Гб. Что дальше?
2017-03-01 в 9:38, admin, рубрики: heap dump, java, jvm, memory usage, Блог компании Технологический Центр Дойче БанкаВозможность сделать снимок (или дамп) памяти виртуальной машины Java — это инструмент, ценность которого сложно переоценить. Файл дампа содержит копии всех Java объектов, находившихся в памяти в момент снимка. Формат файла хорошо известен, и существует множество инструментов, которые умеют с ним работать.
Круглое нести, квадратное катить: история джависта
2017-03-01 в 9:36, admin, рубрики: java, Блог компании Яндекс.Деньги, Карьера в IT-индустрии, карьера ИТ-специалиста, управление персоналом, управление разработкой, фриланс
Считается, что в детстве формируется наша будущая специальность. Любители собирать головоломки должны попасть в ученые, программисты или шифровальщики, а тем, у кого есть способности к рисованию, прямой путь в дизайнеры или художники. Но мы почему-то делаем все возможное, чтобы «что-то пошло не так».
Сейчас я работаю программистом в Яндекс.Деньгах и занимаюсь интеграцией с транспортными решениями. Можно подумать, что я — джавист в пятом поколении, с вытянутым свитером и бородой до пояса. Но все еще интереснее, ведь карьера моя началась с журналистики.
Unsafe продолжает жить в Java 9
2017-02-28 в 10:57, admin, рубрики: java, java 9, unsafe, ПрограммированиеС началом работы над Java 9 было анонсировано удаление критически важных классов из пакетов sun.* (понятное дело Sun, а в последствии и Oracle заявляли, что их использование является собственным риском компаний и проектов), что вызвало шквал критики и недовольства со стороны сообщества (ибо highload решения для которых производительность это все, используют скрытые возможности sun.*). Предыстория началась 15 лет назад с выходом версии языка 1.4, за это время большое количество библиотек, фреймворков, приложений успели внедрить закрытый код в свой.
Вот только не полный перечень проектов, которые у всех на слуху: Scala, Kafka, Akka, Hadoop, Cassandra, Hazlecast и прочие…
Читать полностью »