java- все статьи тега


Незаслуженно забытый ForkJoinPool

Всем известно о новых функциях, которыми нас порадовал JDK 8, и, вероятно, трудно найти Java-разработчика, который не знает, что такое Java Streams, лямбды или CompletableFutures. Итак, все эти приятности появились несколько лет назад вместе с JDK 8, но что произошло немного раньше, когда состоялся выпуск JDK 7? Даже если мы заглянем в раздел “Нов...

Три способа захвата скриншотов с помощью Selenium WebDriver

При работе с автоматизированными тестами в Selenium часто приходится делать скриншот веб-страницы или ее части. Это полезно, особенно при отладке ошибок или проверке согласованности поведения приложения в разных браузерах. Скриншоты снимаются во время выполнения теста с помощью скрипта, который помогает анализировать ошибки, просматривая состояние...

Состояния потоков в Java

«Гораздо проще уже спроектировать класс потокобезопасным, чем модернизировать его позже».― Брайан Гетц. Состояния потоков (codeGym) Потоки Java играют важную роль в параллельном программировании. Поток в любой момент времени находится только в одном из показанных на схеме ниже состояний: Жизненный цикл потока Прежде чем переходить к рассмотре...

В ожидании Java 16: Stream.toList() и другие методы преобразования

Только самообслуживание  В 2004 году я работал архитектором ПО на Java в крупной финансовой компании. На тот момент в этом языке отсутствовало большинство эффективных функциональностей коллекций, которые свободно предоставлялись в Smalltalk. Я решил не ждать у моря погоды и самостоятельно приступил к созданию первых утилитных классов, впослед...

Как правильно учиться Java-программированию: история одного тьютора

Не знаю как вы, а я обожаю пиццу, особенно вместе с чесночными палочками от «Папа Джонс». И когда мне пришло это сообщение после последнего заказа, я был на седьмом небе от счастья: “Пройди наш опросник и получи бесплатные чесночные пицца-палочки или картофельные шарики на следующий онлайн заказ!”  Бесплатная еда! Я должен пройти этот оп...

Как пользоваться Thread.sleep на JVM без блокировки

У таких языков JVM, как Java и Scala, есть возможность запускать параллельный код с помощью класса Thread. Потоки, как известно, сложны и подвержены ошибкам, поэтому очень важно четко представлять, как они работают. Начнем с Javadoc для Thread.sleep: Приводит к тому, что выполняемый в данный момент поток переходит в спящий режим (временно прекраща...

Тестирование для не тестировщиков

Поздравляем, вы создали свое первое full-stack веб-приложение и теперь хотите выложить его в Интернет, чтобы показать своим друзьям, семье и будущим работодателям. С помощью этого руководства вы узнаете, как: Разместить свой бэкенд на Heroku.Перенести локальную базу данных Postgres на Heroku.Разместить интерфейс на Netlify.Добавить ключи API в при...

Как научиться программировать на Java и с чего начать

Что вас здесь ждёт Если вы так же любопытны, как я, вы наверняка задумывались о том, как работают операционные системы. Здесь я расскажу о некоторых исследованиях и экспериментах, которые я провёл, чтобы лучше понять, как работают вычислительные и операционные системы. После прочтения вы создадите свою загрузочную программу, которая будет раб...

Почему вы никогда не будете слишком стары, чтобы изучать Java (или любой другой язык программирования)

Когда речь заходит о нереляционных базах данных, не все видят две стороны одной медали: многие упускают из виду то, что у этих баз данных есть не только преимущества, но и недостатки, которые могут стать источником множества проблем 😉. Управление схемой БД В каждой нереляционной базе данных реализован свой подход к схеме. В одних схемы нет во...

Избегаем исключения Null Pointer Exception в Java с помощью Optional

В 1964 году британский ученый-компьютерщик Тони Хоар изобрел ссылки на нулевые указатели (Null Pointer References). Исключение Null Pointer Exception составляет львиную долю всех исключений, которые возникают в продакшне. Оно было реализовано во многих языках программирования, включая C, C++, C#, JavaScript, Java и другие. Потеря денег, времени и ...

Java против Kotlin. Android

Чтобы что-то было сделано компьютером, нужно указать ему, как это сделать. Нужно написать программу с пошаговым объяснением: какие задачи компьютер должен выполнить и каким образом. В этом нам помогают алгоритмы. Алгоритмы  —  это набор инструкций, используемых компьютерами для решения тех или иных задач, ведущих к достижению конечной цели. Знани...

Топ - 9 фреймворков Java в 2020 году

Язык Java в настоящее временя участвует в функционировании 134 861 сайта, включая ESPN, SnapDeal, Alibaba и т.д. За всю историю существования этот язык доказал свою высокую эффективность в разработке ПО. Java очень популярен во множестве индустрий, включая науку, медицину, образование, финансы, правительственные сегменты и не только. Выше на диагр...

Графовое моделирование данных на Java

Моделирование данных  —  это жизненно важная часть разработки ПО, а выбор подходящих структур данных или баз данных  —  основа успеха приложения или сервиса.  В этой статье мы рассмотрим ряд техник, используемых для моделирования областей данных с помощью графов. В частности, вы увидите, как размеченные графы свойств и графы баз данных могут ...

Когда параллелизм превосходит конкурентность

Скорее всего, для большинства из вас эти две концепции означают одно и то же, или же вы затрудняетесь объяснить, в чём между ними разница. Однако на самом деле они совершенно разные. И понять, как происходит в наши дни обработка данных, очень важно. В обоих случаях мы пытаемся ускорить процесс решения проблемы, увеличивая число работников, занятых...

Микрооптимизации в Java. Enum  -  хороший, красивый и медленный

Перечисления  —  важная часть каждого приложения, которое представляет собой чуть больше, чем “Hello World”. Они повсюду. И, на самом деле, перечисления очень полезны: они ограничивают ввод, позволяют сравнивать значения по ссылке, обеспечивают проверку во время компиляции и облегчают чтение кода. Однако применение перечислений приводит к некоторы...

Знакомство с функциональным программированием в Python, JavaScript и Java

Функциональное программирование (ФП) представляет собой процесс создания ПО путем компоновки чистых функций. В современном мире работодатели ищут программистов, способных применять к решению задач различные парадигмы программирования. При этом наблюдается рост популярности именно функциональной, так как она очень эффективна и позволяет легко масшт...

Java-Lombok: нужны ли геттеры и сеттеры?

(adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1591034030238691", enable_page_level_ads: true }); (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1591034030238691", enable_page_level_ads: true }); Привет всем энтузиастам ...

Кто на свете всех сильнее - Java, Go и Rust в сравнении

(adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1591034030238691", enable_page_level_ads: true }); (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-1591034030238691", enable_page_level_ads: true }); Мне показалось интересны...

5 основных фреймворков для Java-разработчиков

Приветствую вас, Java-разработчики! Размышляете над тем, какой фреймворк освоить, чтобы стать полноценным специалистом? Спешу вас обрадовать  —  это как раз тема данной статьи. Как-то я уже делился с вами свои видением плана по овладению всеми необходимыми профессиональными навыками Java-разработчика.А теперь настало время рассказать о важнейших ф...

Аннотации для параллелизма в Java: расцвечивание потоков

В Miro мы постоянно стараемся улучшить поддерживаемость нашего кода, применяя общепринятые практики, в том числе в вопросах многопоточности. Это не решает всех проблем, возникающих из-за постоянно возрастающей нагрузки, но упрощает поддержку: повышает как читабельность кода, так и скорость разработки новых функций. На сегодняшний день (2020 год) у...