Рубрика «jvm» - 5

Привет! Надеемся в обозримом будущем и до Kotlin добраться. Мимо этой статьи (февральская) пройти не смогли.

Читаем и комментируем!
Читать полностью »

Android почти исполнилось десять лет.

Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта.

Доклады с митапа Android Paranoid - 1

Вместо них — доклады, записанные на видео, и короткая выжимка полезной информации для Android-разработчиков. Под катом о том,

  • что происходит после нажатия на иконку приложения;
  • как перевести приложение на Kotlin и уместиться в 300 строк кода;
  • как менялись инструменты фоновой работы в Android;
  • как быстро получить анимации в RecyclerView.

Читать полностью »

Привет! Недавно мы запустили IntelliJ IDEA 2018.1 – первое большое обновление в этом году. В нем вас ждет множество важных улучшений: поддержка частичных коммитов Git, отображение внешних аннотаций в коде, функциональность, добавленная из Android Studio 3.0, и многое другое. Ниже мы расскажем об этом подробнее, а попробовать новую версию можно здесь.

imageЧитать полностью »

Разбор последней четвёртой задачи:

    public double octaPow(double a) {
        return Math.pow(a, 8);
    }

    public double octaPow(double a) {
        return a * a * a * a * a * a * a * a;
    }

    public double octaPow(double a) {
        return Math.pow(Math.pow(Math.pow(a, 2), 2), 2);
    }

    public double octaPow(double a) {
        a *= a; a *= a; return a * a;
    }

Условие (упрощённо):

Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161).

Под катом бенчмарки, куски ассемблера и разбор оптимизаций со стороны JVM.

Другие публикации серии: Часть 1, Часть 2 и Часть 3.
Читать полностью »

Хардкорные Java-JVM задачки - 1Перформансные задачи от Контура уже были, настала и наша очередь: представляем хардкорные задачи с Java-конференции JBreak 2018, aka «ад от Excelsior».

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

Задача 1

Ваш коллега начитался Java Language Specification и написал следующее:

void playWithRef() {
    Object obj = new Object();
    WeakReference<Object> ref = new WeakReference<>(obj);
    System.out.println(ref.get() != null);
    System.gc();
    System.out.println(ref.get() != null);
}

А разгребать вам: какие результаты исполнения возможны?

Читать полностью »

Недели две назад InfoQ напомнил, что официальная поддержка Java 9 заканчивается… в Марте 2018г. (т.е. через 20 дней :)

Вот cсылка на официальный EOL от Oracle, в которой в разделе "Java SE Public Updates" черным по английскому говорится, что Java 9 будет поддерживаться до Марта 2018, а Java 8до Января 2019 (или позже) и Декабря 2020 (или позже).

Читать полностью »

Если кто еще не в курсе, сегодня вышла IntelliJ IDEA 2017.3. Продолжая традицию, я рассказываю о том, что новое и интересное было добавлено или поменялось в релизе: умные подсказки, рефакторинги, навигация, инструменты для работы с Git, базами данных, поддержка фреймворков и многое другое.

image

Поехали!Читать полностью »

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

В версии Kotlin 1.1 мы официально выпустили поддержку JavaScript — возможность транслировать код на Kotlin в JS и выполнять его в браузере. В этой версии мы добавляем к этому возможность переиспользования кода между JVM и JavaScript. Теперь вы можете использовать одну и ту же реализацию бизнес-логики во всех компонентах вашего приложения — бэкэнде, фронтэнде в браузере и мобильном приложении под Android. Мы также работаем над библиотеками, которые в этом помогают — в частности, над кросс-платформенной библиотекой для сериализации.

Kotlin 1.2: общий код для JVM и JavaScript - 1

Читать полностью »

Пришло время рассказать о нашей новой конференции — JBreak 2018.

Для нетерпеливых, визитная карточка мероприятия:

Анонс Java-конференции JBreak 2018: Соединяем точки - 1

Но вначале я хочу рассказать одну историю. Обычно такие истории-предисловия весьма скучные, знаю, но все-таки — послушайте. Она поможет вам принять решение, стоит ли идти на эту конференцию.

Так получилось, что у меня много друзей в возрасте около 25 лет. Все они искренне верят, что не доживут до 30, и спрашивают — ну как там, по другую сторону? Еще они спрашивают, как стать настоящим программистом (что бы это ни значило). А еще — стоит ли ехать на конференцию. Отвечаю: пока что здесь замечательно, стать успешным разработчиком можно и нужно, и чтобы объяснить это — у меня есть три истории.

Читать полностью »

Alt text

Объединяем Websockets, Lisp и функциональное программирование. Но как?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js