#java #collections
How HashMap works in Java
Как минимум будет полезно освежить в памяти или для подготовки к интервью понять внутреннее устройство самой популярной реализации Map в Java
Сорян за источник - в нём авторы совсем не знают меры с количеством рекламы
How HashMap works in Java
Как минимум будет полезно освежить в памяти или для подготовки к интервью понять внутреннее устройство самой популярной реализации Map в Java
Сорян за источник - в нём авторы совсем не знают меры с количеством рекламы
#java
Вышла Java 18
Вышла и вышла. Читать узнавать особо бесполезно. Полугодовой конвейер, который нагоняет Kotlin, но экспериментирует с Pattern Matching
Вышла Java 18
Вышла и вышла. Читать узнавать особо бесполезно. Полугодовой конвейер, который нагоняет Kotlin, но экспериментирует с Pattern Matching
#java
Хоть в прикладной Android разработке Java осталось мало, но у нас под капотом. Поздравить с ДР стоит - Java 27 лет
Хоть в прикладной Android разработке Java осталось мало, но у нас под капотом. Поздравить с ДР стоит - Java 27 лет
#java
Получение generic-типа в runtime
В Java Generic стираются в Runtime, но порой к ним нужен доступ. В статье автор рассказывает как через рефлексию можно достать необходимую информацию
Получение generic-типа в runtime
В Java Generic стираются в Runtime, но порой к ним нужен доступ. В статье автор рассказывает как через рефлексию можно достать необходимую информацию
Глубокое погружение в Java Memory Model
Если вы столкнулись с таким вопросом на собеседование, то вам будет полезно почитать. Если нет - вооружитесь знаниями заранее. Из статьи вы узнаете про:
👉 Java Memory Model (JMM)
👉 Memory Ordering
👉 Sequential Consistency
👉 Happens-before
Материал большой, но позволит вам разобраться
#concurrency #java
Если вы столкнулись с таким вопросом на собеседование, то вам будет полезно почитать. Если нет - вооружитесь знаниями заранее. Из статьи вы узнаете про:
👉 Java Memory Model (JMM)
👉 Memory Ordering
👉 Sequential Consistency
👉 Happens-before
Материал большой, но позволит вам разобраться
#concurrency #java
Вышла Java 19
👉 Паттерн-матчинг для switch (все еще превью)
👉 Паттерны записей (превью)
👉 Виртуальные потоки (или легковесный поток, схоже с корутинами). Конечно же тоже превью фичи
👉 Structured Concurrency (в инкубаторе, это даже раньше чем превью)
Kotlin и современные подходы драйвят Java, но вот Pattern Matching то что хотело бы увидеть в Kotlin
#java
👉 Паттерн-матчинг для switch (все еще превью)
👉 Паттерны записей (превью)
👉 Виртуальные потоки (или легковесный поток, схоже с корутинами). Конечно же тоже превью фичи
👉 Structured Concurrency (в инкубаторе, это даже раньше чем превью)
Kotlin и современные подходы драйвят Java, но вот Pattern Matching то что хотело бы увидеть в Kotlin
#java
Вышла Java 20
👉 Data Records (Превью)
👉 Паттерн-матчинг для switch (Превью)
👉 Виртуальные потоки они же Project Loom (Превью) - аналог Kotlin корутин
👉 Scoped Values (Инкубатор) - позволяет обмениваться иммутабельными данными без их передачи через аргументы методов
👉 Structured Concurrency (Инкубатор) - объединение несколько задач в разных потоках в единую работу
👉 Foreign Function & Memory API (Превью)
👉 Vector API (Инкубатор)
#java
👉 Data Records (Превью)
👉 Паттерн-матчинг для switch (Превью)
👉 Виртуальные потоки они же Project Loom (Превью) - аналог Kotlin корутин
👉 Scoped Values (Инкубатор) - позволяет обмениваться иммутабельными данными без их передачи через аргументы методов
👉 Structured Concurrency (Инкубатор) - объединение несколько задач в разных потоках в единую работу
👉 Foreign Function & Memory API (Превью)
👉 Vector API (Инкубатор)
#java
В Android Studio Flamingo и Android 14 (API level 34) появилась возможность использовать Java Records (появились в Java 16) - аналог data классов из Kotlin. Конечно же R8/D8 поддерживают Desugaring этой фичи для предыдущих версий Android, но вот кейсы с рефлексией будут доступны только на Android 14 и выше
Подробности тут
#androidstudio #java
Подробности тут
#androidstudio #java
Разница между загрузкой и инициализацией классов в Java на любопытном примере (9 мин)
Хоть вам Java уже и не нужна, вы ведь на ней не пишите, но знать работы JVM виртуальной машины все также нужно. В статье показывается разница между загрузкой класса и его инициализацией.
В статье узнаете причины таких ошибок как NoClassDefFoundError и ClassNotFoundException
#java
Хоть вам Java уже и не нужна, вы ведь на ней не пишите, но знать работы JVM виртуальной машины все также нужно. В статье показывается разница между загрузкой класса и его инициализацией.
В статье узнаете причины таких ошибок как NoClassDefFoundError и ClassNotFoundException
#java
Вышла Java 21
👉 Стабильный Pattern Matching для switch
👉 Record Pattern
👉 String Templates
👉 Безымянные переменные
👉 Можно запускать программы с методами
👉 Project Loom - виртуальные потоки (стабильные)
👉 Превью Structured Concurrency
В Java все больше и больше становится Kotlin, хотя вот pattern matching - это то что хотелось бы увидеть в Kotlin
#java
👉 Стабильный Pattern Matching для switch
👉 Record Pattern
👉 String Templates
👉 Безымянные переменные
👉 Можно запускать программы с методами
main()
, которые не являются public static
и у которых нет параметра String[] args
👉 Project Loom - виртуальные потоки (стабильные)
👉 Превью Structured Concurrency
В Java все больше и больше становится Kotlin, хотя вот pattern matching - это то что хотелось бы увидеть в Kotlin
#java
Вышла Java 22. Что нового:
👉 Unnamed Variables & Patterns (JEP 456)
👉 Launch Multi-File Source-Code Programs
👉 String Templates (Second Preview) (JEP 459)
👉 Statements before super(...) (Preview) (JEP 447)
👉 Implicitly Declared Classes and Instance Main Methods (Second Preview) (JEP 463)
👉 Stream Gatherers (Preview) (JEP 461)
👉 Class-File API (Preview) (JEP 457)
👉 Structured Concurrency (Second Preview) (JEP 462)
👉 Scoped Values (Second Preview) (JEP 464)
👉 Foreign Function & Memory API (JEP 454)
Много других изменений и подробнее в статье
#java
👉 Unnamed Variables & Patterns (JEP 456)
👉 Launch Multi-File Source-Code Programs
👉 String Templates (Second Preview) (JEP 459)
👉 Statements before super(...) (Preview) (JEP 447)
👉 Implicitly Declared Classes and Instance Main Methods (Second Preview) (JEP 463)
👉 Stream Gatherers (Preview) (JEP 461)
👉 Class-File API (Preview) (JEP 457)
👉 Structured Concurrency (Second Preview) (JEP 462)
👉 Scoped Values (Second Preview) (JEP 464)
👉 Foreign Function & Memory API (JEP 454)
Много других изменений и подробнее в статье
#java
Вышел Gradle 8.8:
👉 Поддержка Java 22
👉 Конфигурация JVM демона Gradle через toolchain
👉 Скорость работы больших проектов в IDE увеличена (наблюдали ускорение на 12% с проекте с 15 000 Gradle тасков)
👉 Version Catalog позволяет объявлять плагины без версий
👉 Новые методы-callback жизненного цикла GradleLifecycle
👉 Изолированные проекты через Project.getIsolated() - доступ только к свойствам проекта что не задевают другие проекты. В будущем позволит значительно ускорить параллельную сборку
#gradle
👉 Поддержка Java 22
👉 Конфигурация JVM демона Gradle через toolchain
👉 Скорость работы больших проектов в IDE увеличена (наблюдали ускорение на 12% с проекте с 15 000 Gradle тасков)
👉 Version Catalog позволяет объявлять плагины без версий
👉 Новые методы-callback жизненного цикла GradleLifecycle
👉 Изолированные проекты через Project.getIsolated() - доступ только к свойствам проекта что не задевают другие проекты. В будущем позволит значительно ускорить параллельную сборку
#gradle