#java_core — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #java_core, aggregated by home.social.
-
[Перевод] Kotlin переходит к деструктурированию по именам
В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
[Перевод] Kotlin переходит к деструктурированию по именам
В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
[Перевод] Kotlin переходит к деструктурированию по именам
В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
[Перевод] Kotlin переходит к деструктурированию по именам
В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
[Перевод] Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
Records, pattern matching и sealed-типы сделали Java куда более «функциональной» — читать вложенные данные стало легко и красиво. Но как только вам нужно изменить что-то глубоко внутри неизменяемой структуры, начинается боль: каскад пересоздания records, копирование полей, десятки строк ради одного изменения. В новом переводе от команды Spring АйО рассмотрим, почему у современной Java всё ещё есть пробел в истории неизменяемости — и как оптики закрывают его. Если pattern matching — это про элегантное чтение , то оптики дают то, чего так не хватает, — композиционную запись : определили путь один раз и дальше меняете вложенные поля одной строкой, без ручной реконструкции и без циклов.
https://habr.com/ru/companies/spring_aio/articles/1001066/
#java #kotlin #jvm #optics #java_core #spring #spring_framework #spring_boot
-
[Перевод] Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
Records, pattern matching и sealed-типы сделали Java куда более «функциональной» — читать вложенные данные стало легко и красиво. Но как только вам нужно изменить что-то глубоко внутри неизменяемой структуры, начинается боль: каскад пересоздания records, копирование полей, десятки строк ради одного изменения. В новом переводе от команды Spring АйО рассмотрим, почему у современной Java всё ещё есть пробел в истории неизменяемости — и как оптики закрывают его. Если pattern matching — это про элегантное чтение , то оптики дают то, чего так не хватает, — композиционную запись : определили путь один раз и дальше меняете вложенные поля одной строкой, без ручной реконструкции и без циклов.
https://habr.com/ru/companies/spring_aio/articles/1001066/
#java #kotlin #jvm #optics #java_core #spring #spring_framework #spring_boot
-
[Перевод] Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
Records, pattern matching и sealed-типы сделали Java куда более «функциональной» — читать вложенные данные стало легко и красиво. Но как только вам нужно изменить что-то глубоко внутри неизменяемой структуры, начинается боль: каскад пересоздания records, копирование полей, десятки строк ради одного изменения. В новом переводе от команды Spring АйО рассмотрим, почему у современной Java всё ещё есть пробел в истории неизменяемости — и как оптики закрывают его. Если pattern matching — это про элегантное чтение , то оптики дают то, чего так не хватает, — композиционную запись : определили путь один раз и дальше меняете вложенные поля одной строкой, без ручной реконструкции и без циклов.
https://habr.com/ru/companies/spring_aio/articles/1001066/
#java #kotlin #jvm #optics #java_core #spring #spring_framework #spring_boot
-
[Перевод] Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
Records, pattern matching и sealed-типы сделали Java куда более «функциональной» — читать вложенные данные стало легко и красиво. Но как только вам нужно изменить что-то глубоко внутри неизменяемой структуры, начинается боль: каскад пересоздания records, копирование полей, десятки строк ради одного изменения. В новом переводе от команды Spring АйО рассмотрим, почему у современной Java всё ещё есть пробел в истории неизменяемости — и как оптики закрывают его. Если pattern matching — это про элегантное чтение , то оптики дают то, чего так не хватает, — композиционную запись : определили путь один раз и дальше меняете вложенные поля одной строкой, без ручной реконструкции и без циклов.
https://habr.com/ru/companies/spring_aio/articles/1001066/
#java #kotlin #jvm #optics #java_core #spring #spring_framework #spring_boot
-
[Перевод] Hidden классы в Java. Что скрывают Lambda выражения
С переходом Java на более безопасные и стандартизированные подходы к динамической генерации классов, скрытые (hidden) классы стали ключевым механизмом замены устаревшего Unsafe::defineAnonymousClass . Они решают проблемы доступности, управления жизненным циклом и контроля доступа, особенно актуальные для разработчиков фреймворков и языков на JVM. Хотя скрытые классы пока не полностью заменяют функциональность Unsafe , они лежат в основе ряда важных механизмов, такие как, например, реализация лямбд в JDK. Подробнее - в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/980928/
#java #kotlin #jvm #java_core #spring #spring_boot #spring_framework #springboot #spring_data
-
[Перевод] Hidden классы в Java. Что скрывают Lambda выражения
С переходом Java на более безопасные и стандартизированные подходы к динамической генерации классов, скрытые (hidden) классы стали ключевым механизмом замены устаревшего Unsafe::defineAnonymousClass . Они решают проблемы доступности, управления жизненным циклом и контроля доступа, особенно актуальные для разработчиков фреймворков и языков на JVM. Хотя скрытые классы пока не полностью заменяют функциональность Unsafe , они лежат в основе ряда важных механизмов, такие как, например, реализация лямбд в JDK. Подробнее - в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/980928/
#java #kotlin #jvm #java_core #spring #spring_boot #spring_framework #springboot #spring_data
-
[Перевод] Hidden классы в Java. Что скрывают Lambda выражения
С переходом Java на более безопасные и стандартизированные подходы к динамической генерации классов, скрытые (hidden) классы стали ключевым механизмом замены устаревшего Unsafe::defineAnonymousClass . Они решают проблемы доступности, управления жизненным циклом и контроля доступа, особенно актуальные для разработчиков фреймворков и языков на JVM. Хотя скрытые классы пока не полностью заменяют функциональность Unsafe , они лежат в основе ряда важных механизмов, такие как, например, реализация лямбд в JDK. Подробнее - в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/980928/
#java #kotlin #jvm #java_core #spring #spring_boot #spring_framework #springboot #spring_data
-
[Перевод] Hidden классы в Java. Что скрывают Lambda выражения
С переходом Java на более безопасные и стандартизированные подходы к динамической генерации классов, скрытые (hidden) классы стали ключевым механизмом замены устаревшего Unsafe::defineAnonymousClass . Они решают проблемы доступности, управления жизненным циклом и контроля доступа, особенно актуальные для разработчиков фреймворков и языков на JVM. Хотя скрытые классы пока не полностью заменяют функциональность Unsafe , они лежат в основе ряда важных механизмов, такие как, например, реализация лямбд в JDK. Подробнее - в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/980928/
#java #kotlin #jvm #java_core #spring #spring_boot #spring_framework #springboot #spring_data
-
Обучение без отрыва от работы: кейс РТЛабс
Привет, Хабр! На связи Дмитрий Пирумов, руководитель подразделения QA РТЛабс. В этой статье хочу поделиться опытом развития внутреннего обучения — как, зачем и почему мы создали корпоративную школу автоматизированного тестирования. Наш опыт будет полезен, если нужно организовать внутреннее обучение и вы ищете ответ, как решить эту задачу.
https://habr.com/ru/companies/rtlabs/articles/974830/
#обучение_тестированию #внутреннее_обучение #автоматизированное_тестирование #организация_обучения #automation_approach #java_core
-
Обучение без отрыва от работы: кейс РТЛабс
Привет, Хабр! На связи Дмитрий Пирумов, руководитель подразделения QA РТЛабс. В этой статье хочу поделиться опытом развития внутреннего обучения — как, зачем и почему мы создали корпоративную школу автоматизированного тестирования. Наш опыт будет полезен, если нужно организовать внутреннее обучение и вы ищете ответ, как решить эту задачу.
https://habr.com/ru/companies/rtlabs/articles/974830/
#обучение_тестированию #внутреннее_обучение #автоматизированное_тестирование #организация_обучения #automation_approach #java_core
-
Обучение без отрыва от работы: кейс РТЛабс
Привет, Хабр! На связи Дмитрий Пирумов, руководитель подразделения QA РТЛабс. В этой статье хочу поделиться опытом развития внутреннего обучения — как, зачем и почему мы создали корпоративную школу автоматизированного тестирования. Наш опыт будет полезен, если нужно организовать внутреннее обучение и вы ищете ответ, как решить эту задачу.
https://habr.com/ru/companies/rtlabs/articles/974830/
#обучение_тестированию #внутреннее_обучение #автоматизированное_тестирование #организация_обучения #automation_approach #java_core
-
Обучение без отрыва от работы: кейс РТЛабс
Привет, Хабр! На связи Дмитрий Пирумов, руководитель подразделения QA РТЛабс. В этой статье хочу поделиться опытом развития внутреннего обучения — как, зачем и почему мы создали корпоративную школу автоматизированного тестирования. Наш опыт будет полезен, если нужно организовать внутреннее обучение и вы ищете ответ, как решить эту задачу.
https://habr.com/ru/companies/rtlabs/articles/974830/
#обучение_тестированию #внутреннее_обучение #автоматизированное_тестирование #организация_обучения #automation_approach #java_core
-
Java 25 выходит уже сегодня
Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречайте 25 версию Java вместе с командой Spring АйО !
https://habr.com/ru/companies/spring_aio/articles/947420/
#java #kotlin #oracle #java_core #java_25 #spring #spring_boot #spring_framework #springboot #core
-
Java 25 выходит уже сегодня
Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречайте 25 версию Java вместе с командой Spring АйО !
https://habr.com/ru/companies/spring_aio/articles/947420/
#java #kotlin #oracle #java_core #java_25 #spring #spring_boot #spring_framework #springboot #core
-
Java 25 выходит уже сегодня
Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречайте 25 версию Java вместе с командой Spring АйО !
https://habr.com/ru/companies/spring_aio/articles/947420/
#java #kotlin #oracle #java_core #java_25 #spring #spring_boot #spring_framework #springboot #core
-
Java 25 выходит уже сегодня
Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречайте 25 версию Java вместе с командой Spring АйО !
https://habr.com/ru/companies/spring_aio/articles/947420/
#java #kotlin #oracle #java_core #java_25 #spring #spring_boot #spring_framework #springboot #core
-
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
https://habr.com/ru/companies/spring_aio/articles/933306/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa
-
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
https://habr.com/ru/companies/spring_aio/articles/933306/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa
-
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
https://habr.com/ru/companies/spring_aio/articles/933306/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa
-
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
https://habr.com/ru/companies/spring_aio/articles/933306/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa
-
[Перевод] Structured Concurrency в Java: наконец-то находит опору
API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод open() , политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.
https://habr.com/ru/companies/spring_aio/articles/930812/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_data #spring_data_jpa
-
[Перевод] Structured Concurrency в Java: наконец-то находит опору
API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод open() , политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.
https://habr.com/ru/companies/spring_aio/articles/930812/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_data #spring_data_jpa
-
[Перевод] Structured Concurrency в Java: наконец-то находит опору
API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод open() , политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.
https://habr.com/ru/companies/spring_aio/articles/930812/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_data #spring_data_jpa
-
[Перевод] Structured Concurrency в Java: наконец-то находит опору
API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод open() , политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.
https://habr.com/ru/companies/spring_aio/articles/930812/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_data #spring_data_jpa
-
[Перевод] Очистите свою память: от Finalize к Cleaner
Сборка мусора в Java отвечает за управление памятью, но не очищает ресурсы, не связанные с памятью, такие как сокеты или дескрипторы файлов. Без надлежащего управления могут возникнуть утечки ресурсов, что приведет к снижению производительности или сбоям. Java Cleaner API , представленный в Java 9, обеспечивает современный и эффективный механизм очистки ресурсов, когда объекты больше не доступны. Он устраняет недостатки устаревшего метода finalize(), предлагая предсказуемый и эффективный способ управления ресурсами, не связанными с памятью: поэтому давайте совершим небольшой экскурс по методам очистки памяти от finalize до Cleaner API.
-
[Перевод] Очистите свою память: от Finalize к Cleaner
Сборка мусора в Java отвечает за управление памятью, но не очищает ресурсы, не связанные с памятью, такие как сокеты или дескрипторы файлов. Без надлежащего управления могут возникнуть утечки ресурсов, что приведет к снижению производительности или сбоям. Java Cleaner API , представленный в Java 9, обеспечивает современный и эффективный механизм очистки ресурсов, когда объекты больше не доступны. Он устраняет недостатки устаревшего метода finalize(), предлагая предсказуемый и эффективный способ управления ресурсами, не связанными с памятью: поэтому давайте совершим небольшой экскурс по методам очистки памяти от finalize до Cleaner API.
-
[Перевод] Очистите свою память: от Finalize к Cleaner
Сборка мусора в Java отвечает за управление памятью, но не очищает ресурсы, не связанные с памятью, такие как сокеты или дескрипторы файлов. Без надлежащего управления могут возникнуть утечки ресурсов, что приведет к снижению производительности или сбоям. Java Cleaner API , представленный в Java 9, обеспечивает современный и эффективный механизм очистки ресурсов, когда объекты больше не доступны. Он устраняет недостатки устаревшего метода finalize(), предлагая предсказуемый и эффективный способ управления ресурсами, не связанными с памятью: поэтому давайте совершим небольшой экскурс по методам очистки памяти от finalize до Cleaner API.
-
[Перевод] Очистите свою память: от Finalize к Cleaner
Сборка мусора в Java отвечает за управление памятью, но не очищает ресурсы, не связанные с памятью, такие как сокеты или дескрипторы файлов. Без надлежащего управления могут возникнуть утечки ресурсов, что приведет к снижению производительности или сбоям. Java Cleaner API , представленный в Java 9, обеспечивает современный и эффективный механизм очистки ресурсов, когда объекты больше не доступны. Он устраняет недостатки устаревшего метода finalize(), предлагая предсказуемый и эффективный способ управления ресурсами, не связанными с памятью: поэтому давайте совершим небольшой экскурс по методам очистки памяти от finalize до Cleaner API.
-
[Перевод] В центре внимания Java: Local Variable Type Inference
Мы (команда Axiom JDK) подготовили перевод статьи про var, или Local Variable Type Inference (LVTI). Из этой статьи вы узнаете как работает var, когда эту фичу лучше использовать в коде, а когда — воздержаться. Всё это с примерами кода и комментариями от нашей команды. Примечание от команды Axiom JDK: Хотя статья написана в 2019 году, она остаётся актуальной в 2025: var (Local Variable Type Inference) уже давно является частью LTS-релизов и ключевой особенностью современного Java-кода, но по-прежнему вызывает споры и вопросы даже у опытных разработчиков. Это отличный материал от Брайана Гётца — одного из архитекторов Java — с разбором принципов, которые не устарели. С тех пор появилось больше практики, но базовая теория осталась неизменной. Мы публикуем перевод как удобный справочник по механике var, его компромиссам и подводным камням.
https://habr.com/ru/companies/axiomjdk/articles/904928/
#var #lvti #java #java_core #java_10 #axiom_jdk #axiomjdk #spring #type_inference
-
[Перевод] В центре внимания Java: Local Variable Type Inference
Мы (команда Axiom JDK) подготовили перевод статьи про var, или Local Variable Type Inference (LVTI). Из этой статьи вы узнаете как работает var, когда эту фичу лучше использовать в коде, а когда — воздержаться. Всё это с примерами кода и комментариями от нашей команды. Примечание от команды Axiom JDK: Хотя статья написана в 2019 году, она остаётся актуальной в 2025: var (Local Variable Type Inference) уже давно является частью LTS-релизов и ключевой особенностью современного Java-кода, но по-прежнему вызывает споры и вопросы даже у опытных разработчиков. Это отличный материал от Брайана Гётца — одного из архитекторов Java — с разбором принципов, которые не устарели. С тех пор появилось больше практики, но базовая теория осталась неизменной. Мы публикуем перевод как удобный справочник по механике var, его компромиссам и подводным камням.
https://habr.com/ru/companies/axiomjdk/articles/904928/
#var #lvti #java #java_core #java_10 #axiom_jdk #axiomjdk #spring #type_inference
-
[Перевод] В центре внимания Java: Local Variable Type Inference
Мы (команда Axiom JDK) подготовили перевод статьи про var, или Local Variable Type Inference (LVTI). Из этой статьи вы узнаете как работает var, когда эту фичу лучше использовать в коде, а когда — воздержаться. Всё это с примерами кода и комментариями от нашей команды. Примечание от команды Axiom JDK: Хотя статья написана в 2019 году, она остаётся актуальной в 2025: var (Local Variable Type Inference) уже давно является частью LTS-релизов и ключевой особенностью современного Java-кода, но по-прежнему вызывает споры и вопросы даже у опытных разработчиков. Это отличный материал от Брайана Гётца — одного из архитекторов Java — с разбором принципов, которые не устарели. С тех пор появилось больше практики, но базовая теория осталась неизменной. Мы публикуем перевод как удобный справочник по механике var, его компромиссам и подводным камням.
https://habr.com/ru/companies/axiomjdk/articles/904928/
#var #lvti #java #java_core #java_10 #axiom_jdk #axiomjdk #spring #type_inference
-
[Перевод] В центре внимания Java: Local Variable Type Inference
Мы (команда Axiom JDK) подготовили перевод статьи про var, или Local Variable Type Inference (LVTI). Из этой статьи вы узнаете как работает var, когда эту фичу лучше использовать в коде, а когда — воздержаться. Всё это с примерами кода и комментариями от нашей команды. Примечание от команды Axiom JDK: Хотя статья написана в 2019 году, она остаётся актуальной в 2025: var (Local Variable Type Inference) уже давно является частью LTS-релизов и ключевой особенностью современного Java-кода, но по-прежнему вызывает споры и вопросы даже у опытных разработчиков. Это отличный материал от Брайана Гётца — одного из архитекторов Java — с разбором принципов, которые не устарели. С тех пор появилось больше практики, но базовая теория осталась неизменной. Мы публикуем перевод как удобный справочник по механике var, его компромиссам и подводным камням.
https://habr.com/ru/companies/axiomjdk/articles/904928/
#var #lvti #java #java_core #java_10 #axiom_jdk #axiomjdk #spring #type_inference
-
Чего ждёт рынок от java-разработчика уровня middle
Привет! Меня зовут Игорь Честнов, я автор на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/860272/
-
Чего ждёт рынок от java-разработчика уровня middle
Привет! Меня зовут Игорь Честнов, я автор на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/860272/
-
Чего ждёт рынок от java-разработчика уровня middle
Привет! Меня зовут Игорь Честнов, я автор на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/860272/
-
Чего ждёт рынок от java-разработчика уровня middle
Привет! Меня зовут Игорь Честнов, я автор на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/860272/
-
Паттерны или химеры программирования
Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с самого начала нашего пути, то они точно останутся в вашей голове и при последующем написании кода будут только всплывать и крепнуть. И даже просто, не знать что они это они - это не хорошо.
https://habr.com/ru/articles/804339/
#java_core #паттерны_проектирования #собеседование #собеседование_вопросы
-
Паттерны или химеры программирования
Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с самого начала нашего пути, то они точно останутся в вашей голове и при последующем написании кода будут только всплывать и крепнуть. И даже просто, не знать что они это они - это не хорошо.
https://habr.com/ru/articles/804339/
#java_core #паттерны_проектирования #собеседование #собеседование_вопросы
-
Паттерны или химеры программирования
Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с самого начала нашего пути, то они точно останутся в вашей голове и при последующем написании кода будут только всплывать и крепнуть. И даже просто, не знать что они это они - это не хорошо.
https://habr.com/ru/articles/804339/
#java_core #паттерны_проектирования #собеседование #собеседование_вопросы
-
Задачи от Tinkoff для Junior Java developers
Отличная тренировка для начинающих разработчиков на знание Java core. В статье будет представлено описание 5 задач с разным уровнем сложности. Надеюсь, эти задачи будут хорошей тренировкой для тебя и ты сможешь закрепить свои знания на практике. Позже появится мое решение на GitHub .
-
Задачи от Tinkoff для Junior Java developers
Отличная тренировка для начинающих разработчиков на знание Java core. В статье будет представлено описание 5 задач с разным уровнем сложности. Надеюсь, эти задачи будут хорошей тренировкой для тебя и ты сможешь закрепить свои знания на практике. Позже появится мое решение на GitHub .