Замеряй и ускоряй: как мы сократили время вызова метода в Java-коде в 16 раз
Замер производительности кода — не самое простое упражнение для разработчика. Приходится решать кучу сложностей: разбираться с методом, создавать правильные условия. И всё равно можно получить результат с погрешностью, потому что любой метод «не бесплатный» и требует ресурсов процессора.
Читать статью
Замер производительности кода — не самое простое упражнение для разработчика. Приходится решать кучу сложностей: разбираться с методом, создавать правильные условия. И всё равно можно получить результат с погрешностью, потому что любой метод «не бесплатный» и требует ресурсов процессора.
Читать статью
Teletype
Замеряй и ускоряй: как мы сократили время вызова метода в Java-коде в 16 раз
Привет! Замер производительности кода — не самое простое упражнение для разработчика. Приходится решать кучу сложностей: разбираться...
👍5😢3
Как отобразить индикатор выполнения на стандартной консоли с помощью Java
Как на стандартной консоли отображается индикатор выполнения, особенно в случаях, когда для загрузки пакетов используются менеджеры вроде npm? Рассмотрим решение.
Читать статью
Как на стандартной консоли отображается индикатор выполнения, особенно в случаях, когда для загрузки пакетов используются менеджеры вроде npm? Рассмотрим решение.
Читать статью
Teletype
Как отобразить индикатор выполнения на стандартной консоли с помощью Java
Как на стандартной консоли отображается индикатор выполнения, особенно в случаях, когда для загрузки пакетов используются менеджеры...
👍8🔥1
Написание Spring Boot Microservice с помощью ChatGPT
В данной статье авторы с помощью ChatGPT создают микросервис на Spring Boot (клиент OpenAI API и POJO запроса/ответа, а так же код контроллера).
Читать статью
В данной статье авторы с помощью ChatGPT создают микросервис на Spring Boot (клиент OpenAI API и POJO запроса/ответа, а так же код контроллера).
Читать статью
👍4😁1
Создаем байт-код для JVM без компилятора
Виртуальная машина Java использует концепцию промежуточного байт-кода для обеспечения переносимости между операционными системами и аппаратными платформами. Использование байт-кода позволяет отделить компилятор от среды выполнения и выполнять компиляцию с разных языков программирования для исполнения на JVM. В этой статье мы разберемся с внутренней организацией class-файлов и байт-кода в них и научимся работать с фреймворком ASM для исследования и программной генерации байт-кода для динамического определения новых классов или их компиляции из других языков программирования.
Читать статью
Виртуальная машина Java использует концепцию промежуточного байт-кода для обеспечения переносимости между операционными системами и аппаратными платформами. Использование байт-кода позволяет отделить компилятор от среды выполнения и выполнять компиляцию с разных языков программирования для исполнения на JVM. В этой статье мы разберемся с внутренней организацией class-файлов и байт-кода в них и научимся работать с фреймворком ASM для исследования и программной генерации байт-кода для динамического определения новых классов или их компиляции из других языков программирования.
Читать статью
Teletype
Создаем байт-код для JVM без компилятора
Виртуальная машина Java использует концепцию промежуточного байт-кода для обеспечения переносимости между операционными системами...
👍6❤1
Отладка API Java Message Service с использованием Lightrun
API Java Message Service (JMS) был разработан Sun Microsystems во времена Java EE. Он предоставляет простые абстракции для обмена сообщениями, в том числе производителя сообщений (Message Producer), потребителя сообщений (Message Consumer) и т.д.
Читать статью
API Java Message Service (JMS) был разработан Sun Microsystems во времена Java EE. Он предоставляет простые абстракции для обмена сообщениями, в том числе производителя сообщений (Message Producer), потребителя сообщений (Message Consumer) и т.д.
Читать статью
Teletype
Отладка API Java Message Service с использованием Lightrun
API Java Message Service (JMS) был разработан Sun Microsystems во времена Java EE. Он предоставляет простые абстракции для обмена...
👍4
Разбираем float на части
Всем привет, многие, наверное, знают про структуру чисел с плавающей запятой, но мне захотелось вдохнуть немного жизни в эти формулы. В этой статье я разберу на части число, наглядно показав что и откуда берется. Код будет на Java.
Читать статью
Всем привет, многие, наверное, знают про структуру чисел с плавающей запятой, но мне захотелось вдохнуть немного жизни в эти формулы. В этой статье я разберу на части число, наглядно показав что и откуда берется. Код будет на Java.
Читать статью
Teletype
Разбираем float на части
Я буду использовать в статье стандартное 32-х битное представление числа IEEE 754 для примера. Другие форматы, в основном отличаются...
👍6
Строка на 1,5 гигабайта
На своей предыдущей работе я занимался поддержкой Java-сервиса, обеспечивавшего удалённую функциональность UI подобно RDP или Citrix. Этот сервис был устроен на основе сессий, состоявших из взаимосвязанных объектов Java, которые должны были очищаться или после выхода пользователя, или после истечения заданного таймаута.
На этапе планирования нагрузок мы обнаружили существенные траты памяти, о причинах которых я бы хотел рассказать в этой статье.
Читать статью
На своей предыдущей работе я занимался поддержкой Java-сервиса, обеспечивавшего удалённую функциональность UI подобно RDP или Citrix. Этот сервис был устроен на основе сессий, состоявших из взаимосвязанных объектов Java, которые должны были очищаться или после выхода пользователя, или после истечения заданного таймаута.
На этапе планирования нагрузок мы обнаружили существенные траты памяти, о причинах которых я бы хотел рассказать в этой статье.
Читать статью
Teletype
Строка на 1,5 гигабайта
На своей предыдущей работе я занимался поддержкой Java-сервиса, обеспечивавшего удалённую функциональность UI подобно RDP или Citrix...
👍6
Сопоставление с шаблоном в Java — 5 примеров для занятых разработчиков
Будучи занятым разработчиком, трудно следить за новыми возможностями и глубоко понимать, где и как их можно использовать.
В этой статье блога я расскажу о 5 местах, где вы можете использовать сопоставление с шаблоном в Java, не погружаясь в тонкие детали. Когда вы решите, что готовы к дальнейшему изучению, посмотрите ссылки, включенные в эту статью.
Читать статью
Будучи занятым разработчиком, трудно следить за новыми возможностями и глубоко понимать, где и как их можно использовать.
В этой статье блога я расскажу о 5 местах, где вы можете использовать сопоставление с шаблоном в Java, не погружаясь в тонкие детали. Когда вы решите, что готовы к дальнейшему изучению, посмотрите ссылки, включенные в эту статью.
Читать статью
Teletype
Сопоставление с шаблоном в Java — 5 примеров для занятых разработчиков
Будучи занятым разработчиком, трудно следить за новыми возможностями и глубоко понимать, где и как их можно использовать.
👍4
Шаблон проектирования: Chain of Responsibility
Данная статья будет полезна начинающим Java разработчиком понять зачем нужен шаблон проектирования «Цепочка ответственности» и как его можно использовать на примерах.
Итак начнем с самого начала. Основная суть данного шаблона: связывание объектов‑получателей в цепочку и передача запроса по ней.
Читать статью
Данная статья будет полезна начинающим Java разработчиком понять зачем нужен шаблон проектирования «Цепочка ответственности» и как его можно использовать на примерах.
Итак начнем с самого начала. Основная суть данного шаблона: связывание объектов‑получателей в цепочку и передача запроса по ней.
Читать статью
Teletype
Шаблон проектирования: Chain of Responsibility
Всем привет.
👍7🎄1
Манипуляции с байт-кодом Java
В этой статье мы разберём, как добавить к файлу класса публичный атрибут. Когда загрузчик классов завершит загрузку модифицированного файла класса, мы увидим то поле, которое добавили вручную.
Читать статью
В этой статье мы разберём, как добавить к файлу класса публичный атрибут. Когда загрузчик классов завершит загрузку модифицированного файла класса, мы увидим то поле, которое добавили вручную.
Читать статью
Teletype
Манипуляции с байт-кодом Java
В этой статье мы разберём, как добавить к файлу класса публичный атрибут. Когда загрузчик классов завершит загрузку модифицированного...
👍5
8 шагов по переезду приложения на Hibernate 6.x
Hibernate 6 был выпущен некоторое время назад, и последняя версия Spring Data JPA включает его в качестве зависимости. Поэтому неудивительно, что все больше и больше разработчиков хотят перевести свои приложения на шестерку. Если вы один из них, то данная статья поможет в этом.
Читать статью
Hibernate 6 был выпущен некоторое время назад, и последняя версия Spring Data JPA включает его в качестве зависимости. Поэтому неудивительно, что все больше и больше разработчиков хотят перевести свои приложения на шестерку. Если вы один из них, то данная статья поможет в этом.
Читать статью
👍5
Продвинутый GraphQL со Spring Boot
В этой статье вы узнаете, как использовать Spring for GraphQL в своем приложении Spring Boot.
Spring for GraphQL — относительно новый проект. Версия 1.0 была выпущена несколько месяцев назад. До этого релиза нам приходилось подключать сторонние библиотеки, чтобы упростить реализацию GraphQL в приложении Spring Boot.
Читать статью
В этой статье вы узнаете, как использовать Spring for GraphQL в своем приложении Spring Boot.
Spring for GraphQL — относительно новый проект. Версия 1.0 была выпущена несколько месяцев назад. До этого релиза нам приходилось подключать сторонние библиотеки, чтобы упростить реализацию GraphQL в приложении Spring Boot.
Читать статью
Teletype
Продвинутый GraphQL со Spring Boot
В этой статье вы узнаете, как использовать Spring for GraphQL в своем приложении Spring Boot.
👍8
Java на стероидах, или опыт работы с Jmix
Как после привычного Spring за месяц сделать сайт с платформой быстрой разработки Jmix. Коротко о технологии, особенностях, возникающих в процессе вопросах и ответах на них.
Читать статью
Как после привычного Spring за месяц сделать сайт с платформой быстрой разработки Jmix. Коротко о технологии, особенностях, возникающих в процессе вопросах и ответах на них.
Читать статью
Teletype
Java на стероидах, или опыт работы с Jmix
Как после привычного Spring за месяц сделать сайт с платформой быстрой разработки Jmix. Коротко о технологии, особенностях, возникающих...
👍7
Как заставить Jmeter собирать скриншоты графиков после тестов
Меня зовут Илья Улизко, я занимаюсь нагрузочным тестированием ДБО ЮЛ в блоке Цифровой Трансформации «РСХБ-Интех». В этой статье я поделюсь с вами опытом автоматизации сбора графиков в Grafana при отсутствии установленного grafana-image-render плагина на сервере. Для того, чтобы научить Apache Jmeter делать скриншоты панелей в Grafana нам понадобится Selenium и Browsermob-proxy.
Читать статью
Меня зовут Илья Улизко, я занимаюсь нагрузочным тестированием ДБО ЮЛ в блоке Цифровой Трансформации «РСХБ-Интех». В этой статье я поделюсь с вами опытом автоматизации сбора графиков в Grafana при отсутствии установленного grafana-image-render плагина на сервере. Для того, чтобы научить Apache Jmeter делать скриншоты панелей в Grafana нам понадобится Selenium и Browsermob-proxy.
Читать статью
Teletype
Как заставить Jmeter собирать скриншоты графиков после тестов
Меня зовут Илья Улизко, я занимаюсь нагрузочным тестированием ДБО ЮЛ в блоке Цифровой Трансформации «РСХБ-Интех». В этой статье...
👍7
JavaFX продолжает разрабатываться и выпускаться каждые шесть месяцев, поставляя разработчикам улучшения и новые фичи. Из данного видео, на примерах, вы узнаете, какие полезные нововведения были добавлены в JavaFX 20.
YouTube
JavaFX 20 and Beyond
JavaFX continues to be developed and released with the same rapid cadence as the Java Development Kit, with a new release every six months. Explore what's new in JavaFX 20 and beyond as we highlight the improvements to JavaFX over the past few releases. We…
👍8
Из данного видео вы узнаете, как делать code reviews:
- просматривать Pull Requests
- запускать тесты
- делать проверку Code Style и многое другое
- просматривать Pull Requests
- запускать тесты
- делать проверку Code Style и многое другое
YouTube
How To Do Code Reviews
A user sent in a GitHub pull request for our Google Photos clone. Which means we have to do a code review. How should you do such review? What is or isn't important? Learn all about my "every line of code is a liability"-philosophy when reviewing pull requests…
👍5❤1
Создаем eval через байт-код JVM
В интерпретируемых языках программирования (или в языках, которые включают возможность компиляции в runtime) есть возможность вычисления значения выражения, полученного из внешнего источника (например, для построения графика функции, введенной пользователем) с подстановкой актуальных значений переменных. Но JVM изначально ориентирована на компиляцию перед выполнением и механизма, аналогичного eval, в JVM нет (кроме, конечно, возможности использования Nashorn и eval в JavaScript-коде). В этой статье мы рассмотрим пример динамической генерации байт-кода из математического выражения.
Читать статью
В интерпретируемых языках программирования (или в языках, которые включают возможность компиляции в runtime) есть возможность вычисления значения выражения, полученного из внешнего источника (например, для построения графика функции, введенной пользователем) с подстановкой актуальных значений переменных. Но JVM изначально ориентирована на компиляцию перед выполнением и механизма, аналогичного eval, в JVM нет (кроме, конечно, возможности использования Nashorn и eval в JavaScript-коде). В этой статье мы рассмотрим пример динамической генерации байт-кода из математического выражения.
Читать статью
Teletype
Создаем eval через байт-код JVM
В интерпретируемых языках программирования (или в языках, которые включают возможность компиляции в runtime) есть возможность вычисления...
👍6
Стало скучно, не с кем поговорить? Залетай в наш чатик и будь няшкой 😉 https://news.1rj.ru/str/java_underground
Telegram
Java Underground
Библиотека по Java https://news.1rj.ru/str/javalib
✅ Наше сообщество ВК: https://vk.com/javatutorial
✅ Вакансии и резюме свои строго в этот канал: https://news.1rj.ru/str/job_java
✅ Наше сообщество ВК: https://vk.com/javatutorial
✅ Вакансии и резюме свои строго в этот канал: https://news.1rj.ru/str/job_java
Реализация gRPC с помощью Java и Spring Boot
Хорошо бы понимать различия между HTTP/1.1 и HTTP/2, поскольку gRPC использует HTTP/2 по умолчанию.
Читать статью
Хорошо бы понимать различия между HTTP/1.1 и HTTP/2, поскольку gRPC использует HTTP/2 по умолчанию.
Читать статью
Teletype
Реализация gRPC с помощью Java и Spring Boot
Хорошо бы понимать различия между HTTP/1.1 и HTTP/2, поскольку gRPC использует HTTP/2 по умолчанию.
👍9
Алгоритм оценки математического выражения с использованием JavaFX
Как обрабатывать подобные выражения с помощью кода и графического интерфейса?
Фанатам Тьюринга точно будет интересно)
Читать статью
Как обрабатывать подобные выражения с помощью кода и графического интерфейса?
Фанатам Тьюринга точно будет интересно)
Читать статью
Teletype
Алгоритм оценки математического выражения с использованием JavaFX
Постановка задачи: создать калькулятор с графическим интерфейсом и возможностью вычисления длинных выражений (для чего не годится...
👍8❤1
Устранение неисправностей в приложении Java под Kubernetes
Предположим, вы написали приложение на Java и развернули его в Kubernetes в среде разработки. Рано или поздно это приложение уйдёт в продакшен, и вам придётся узнать, каково оно на деле. Затем начинают возникать новые неожиданные проблемы. Причин у таких проблем может быть множество: слишком много пользователей, утечки памяти, условия гонки, и на этапе разработки такие проблемы выявить сложно.
Читать статью
Предположим, вы написали приложение на Java и развернули его в Kubernetes в среде разработки. Рано или поздно это приложение уйдёт в продакшен, и вам придётся узнать, каково оно на деле. Затем начинают возникать новые неожиданные проблемы. Причин у таких проблем может быть множество: слишком много пользователей, утечки памяти, условия гонки, и на этапе разработки такие проблемы выявить сложно.
Читать статью
Telegraph
Устранение неисправностей в приложении Java под Kubernetes
❯ Когда взаимодействуют разработчики и операторы Предположим, вы написали приложение на Java и развернули его в Kubernetes в среде разработки. Рано или поздно это приложение уйдёт в продакшен, и вам придётся узнать, каково оно на деле. Затем начинают возникать…
👍7