microJUG – Telegram
microJUG
979 subscribers
155 photos
1 video
2 files
237 links
Мысли о Java.
Основной канал: @miniJUG
Буст: https://news.1rj.ru/str/microJUG?boost
Чат: https://news.1rj.ru/str/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
Download Telegram
(В 15-00 по Москве) 👇
Forwarded from JUGNsk News
Друзья, уже совсем скоро, в 19-00 начнется наш первый онлайн митап с Алексеем Шипилёвым!

Вы уже можете заходить в Zoom конференцию, указанную на странице мероприятия на meetup.com (если зарегистрировались), либо начинать смотреть трансляцию на нашем youtube канале: https://www.youtube.com/watch?v=c1jVn5Sm8Uw



Заранее напишу несколько слов про то, как все будет организовано:

1. Алексей выступит с большим докладом из двух частей. Между ними и в самом конце будет время для вопросов и ответов. Вопрос можно задать: 1) в Zoom лично, 2) в нашем чате в телеграме, 3) в чате трансляции на youtube.

2. По умолчанию у участников будут отключены микрофоны, чтобы избежать случайного шума. Если вы хотите задать вопрос, пожалуйста, воспользуйтесь функцией "Поднять руку". Для этого в Zoom на вкладке "Manage Participants"/"Участники" выберите действие "Raise a hand"/"Поднять руку". После этого мы размьютим ваш микрофон.

3. Пожалуйста, включайте камеры! Хоть у нас и онлайн митап, но мы хотим по максимуму воспроизвести атмосферу нашего обычного офлайн митапа. И самое главное: так вы сделаете выступление более комфортным для спикера (кому понравится 2 часа говорить в пустоту?)

4. После основной части будет афтепати :) Все желающие смогут остаться и продолжить общение в свободной форме.

На этом все, ждем вас в 19-00!
Раскрыта правда об отце рэпера Моргенштерна!
#юмор
Марк Рейнолд объявил о новом проекте OpenJDK под кодовым названием Leyden. Цель проекта - уметь создавать из Java-программ самодостаточный статический образ с помощью AOT-компиляции. Похожая технология уже есть в GraalVM под названием Native Image, но она не будет использоваться при разработке.
Biased Locking всё
К сожалению, паттерны деконструкции для записей не появятся в Java 15. Об этом было написано в рассылке, а соответствующая секция была убрана из JEP'а.
Как сказал Gavin Bierman, там есть некоторые сложности с дженериками и varargs, и нужно ещё время, чтобы подумать над дизайном.
Это значит, что в Java 15 изменений в паттерн-матчинге не будет.
Решил составить список русскоязычных Telegram-каналов про Java. Добавил туда те каналы, про которые знаю сам. Но наверняка есть ещё. Если вы знаете, то напишите в комментариях, чтобы я добавил.

P.S. Про чаты писать не нужно, только каналы.
Скинули мне тут пару Telegram-каналов для добавления в список. Спасибо за это. Но я посмотрел на один из них и ужаснулся. Вот такой тест там. Я, будучи абсолютно уверенным, что правильный вариант четвёртый, проголосовал за него. Но правильным ответом по мнению автора должен быть второй. А теперь открываем javadoc к HashMap и читаем:
This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time.
Порядок элементов в HashMap не гарантирован. Точка.
Да, де факто там выделяется массив такой длины, что числа 10, 20 и 30 выстроятся по порядку. Но это деталь реализации. Сегодня она такая, завтра другая. И эта деталь скрыта от нас, чтобы всегда была возможность оптимизировать, не ломая обратную совместимость. А если кто завяжется на порядок, то он рискует, что у него это сломается в какой-нибудь Java 18 или Java 88.
А ведь это Телеграм-канал с 3k подписчиков! Они прочитают это, и кто-то начнёт вызывать new HashMap с initialCapacity, чтобы гарантировать порядок вставки! А те кто поумнее, даже не смогут возразить, потому что это канал и он работает в одну сторону. Как телевизор. Напоминает Первый Канал, который в прайм-тайме на полном серьёзе рассказывает про то, что Билл Гейтс создал коронавирус, чтобы заработать на вакцине.
Кстати, это касается и моего канала. Если вы видите, что я написал откровенный бред, то обязательно напишите мне и укажите на ошибку! Написать мне можно в Твиттере.
Хорошая новость! Sealed Classes & Interfaces попадут в Java 15! Ещё не 100%, но в JEP'е стоит Proposed to Target, а это означает, что почти наверняка.
#sealed
Рон Пресслер (лидер проекта Loom) выложил документ State of Loom. Есть что почитать на выходных.
#loom
К Java 16 OpenJDK полностью переедет на Git и на GitHub (кроме 8u)
#java16 #skara
Тут появилась новость о планах на C# 9.0. В нём появятся записи! Выглядеть будет примерно так:
public data class Person(string FirstName, string LastName);

И ещё много интересного. Например, target types:
Point p = new (3, 5);

Top-level programs:
using System;

Console.WriteLine("Hello World!");

Covariant returns:
abstract class Animal
{
public abstract Food GetFood();
}
class Tiger : Animal
{
public override Meat GetFood() => ...;
}
Удивительно, что эту фичу добавляют так поздно. В Java она присутствует с 1.5!

Конечно прикольно, что нововведений много. Но не кажется ли вам, что в C# с каждым релизом становится всё больше и больше избыточного синтаксического сахара? У меня от C# примерно такие же ощущения, как от Котлина. В обоих языках просто перебор сахара. Как будто сожрал целую банку мёда.
Ушёл писать Notepad драйвер для slf4j... https://twitter.com/nikitonsky/status/1265268383777460224
#юмор
В 12:00 по МСК сегодня будет беседа в прямом эфире с Тагиром Валеевым. Он кстати недавно стал Java-чемпионом. Тагир расскажет про свой доклад для JPoint 2020 и обсудит киллер-фичи в IntelliJ IDEA и в новых версиях Java.
Недавно вышло неплохое интервью с Сергеем Куксенко. Рекомендую послушать. Мне, например, понравилось его объяснение того, почему убирают biased locking. Я знаю, что многие были в недоумении, когда узнали, что его отключают по умолчанию в Java 15. Но под этим есть вполне чёткие основания. И это не просто потому, что biased locking значительно усложняет код и его поддержку. Но и потому, что у некоторых очень популярных инструментов он вообще давным-давно отключен, потому что без него производительность становится выше! Например, в Кассандре.
Внезапно узнал, что Rhino (движок для JavaScript) не только не умер, но и активно развивается. Можно использовать в качестве замены Nashorn, который исчезнет в Java 15.
#javanoscript #rhino
Нашёл очень полезный сайт, в котором удобно и компактно собрана информация о всех релизах Java начиная с 1.0. Со всеми ссылками на документацию, спецификации, Release Notes. Также можно посмотреть различия в API между версиями.
А ещё есть песочницы для запуска сниппетов на различных версиях Java, чтобы можно было потестить те или иные языковые фичи.
Если бы Яндекс был Java-поисковиком
#юмор
Новые API в Java 16!
#юмор
uH4Yu.png
137.2 KB
Как скачать Java?
2017: Просто заходим на сайт Oracle и качаем Java
2020: См. инструкцию