Java SE и Java EE: различия, характеристики и подробный обзор
![]()
Среда разработки, чтобы программировать на языке Java
- Java SE;
- Java EE;
- Java ME;
- Java FX.
- «мощность»;
- стабильная работа;
- простота в разработке;
- полная защищенность.
Java SE (Standar d Edition)
- использование API,
- виртуалку от Ява Оракл,
- инструмент для разработки,
- технологию для запуска приложения,
- различные библиотеки классов и т.д.
Java EE (Enterprise Edition)
Сама по себе Java EE строится, используя в качестве основ ы платформу Java SE. Однако , кроме всего , Java EE может позволять использовать нестандартные и расширенные API, а также дает возможность разработки более крупномасштабируемых, сложноуровневых, максимально надежных и безопасных программ.
Java ME (Micro Edition)
Платформа Java ME представляет из себя API и минимально требовательную виртуалку (VM) для разработки и старта приложения на небольшом устройстве, таком как современный смартфон или планшет. В составе своей библиотеки Java ME , как правило, содержит определенную библиотеку классов, рассчитанную как раз для устройств с небольшим разрешением. Это во много м упрощает само создание приложения для маленького устройства. Сайт для поиска девушек по вызову проститутки омск Сохрани чтобы не потерять
Java FX
Ява FX — это полноценная среда, которая часто применяется для создания функционального приложения с возможностью применения облегченного API. Программа на Java FX пользуется аппаратной, ускоренной графикой и медиа-движком, чтобы воспользоваться достоинством современного внешнего вида, ну и чтобы использовать производительность на максимуме.
Java SE и Java EE — в чем , собственно , такая разница?
Если простым языком объяснить различия , возникающие между Java SE и Java EE, то получается следующее : к примеру, если вы желаете разработать что-то «крупное», допустим , корпоративную программу для предприятия , тогда вам точно нужно применять Java EE. Потому что Ява SE , как мы уже знаем, — стандартный образец и в основном используется для создания локального приложения без использования серверов. А в Java EE любая программа может работать на сервере или веб-сайте и использует более сложные библиотеки.
Если еще проще : Java SE используется , когда нужно разработать что-то несложное. Java EE используется , когда нужно разработать что-то сложное.
В Java SE пишутся приложения, имеющие возможность запускаться как простые java-программы внутри самого контейнера. А в Java EE возможно делать то же самое, однако она еще предоставляет в ам более широкие возможности управления и возможность поточного масштабирования.
У Java EE есть собственные фреймворки, которые использует язык шаблонов Java Server Pages (JSP). Соответственно , есть возможность разрабатывать быстрее.
Если попытаться подытожить, то Java EE = Java SE + дополнительные библиотеки + наличие фреймворков + технологические спецификации, расширяющие ваши возможности управления. Вот и вся разница и все различия в данных продуктах Java Oracle (Ява Оракл).
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Разнообразие Мира Java: SE, EE, ME
Давайте окунемся в мир Java, где разные редакции предоставляют уникальные возможности для разработчиков. Это как различные грани одного и того же языка программирования, каждая со своей спецификой.
Java SE (Java Platform Standard Edition):
Это основная версия Java, предназначенная для создания разнообразных приложений — от консольных до графических с интерфейсом. Java SE является стандартной платформой для общих задач разработки. Важно отметить, что до версии 6, она была известна как J2SE (Java 2 Platform Standard Edition), отражая свою роль в семействе Java 2.
Java EE (Java Platform Enterprise Edition):
Эта редакция Java предназначена для разработки масштабных распределенных приложений предприятия. Java EE включает в себя мощные технологии, такие как EJB, JPA, Servlets, JMS и другие, обеспечивая эффективное создание и управление крупными приложениями. Перед тем, как стать Java EE, она была известна как J2EE (Java 2 Platform Enterprise Edition) до 6 версии.
Java ME (Java Platform Micro Edition):
Это специализированная редакция Java, ориентированная на создание приложений для микрокомпьютеров. Java ME предоставляет возможности для разработки на мобильных устройствах и других устройствах с ограниченными ресурсами. До 6 версии Java, она была известна как J2ME (Java 2 Platform Micro Edition).
В этом увлекательном путешествии по редакциям Java каждая из них предлагает свой уникальный набор возможностей, отвечая потребностям разнообразных сценариев разработки.
Презентацию с видео можно скачать на Patreon .
- Погружение в Мир Java: 10 Особенностей, Сделавших Его Непревзойденным
- Эволюция Имени и Инноваций
- Разбираем Термины: JVM, JRE и JDK в Мире Java
- Заглядываем в Мир Компиляторов и Интерпретаторов: Как Работает Ваш Код
- Заглядываем Под Капот Языка Java: Компиляция и Байт-Код
Java SE
Java SE (Standard Edition) – это базовая платформа программирования Java. В этом разделе рассматриваются фундаментальные основы объектно-ориентированного языка программирования Java. Java — так называют не только сам язык, но и платформу для создания и исполнения приложений на основе данного языка. Изначально язык назывался Oak («дуб») и разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Впоследствии он был переименован в Java и стал использоваться для написания клиентских приложений и серверного программного обеспечения.
Назван этот язык в честь марки кофе Java, любимого некоторыми программистами, поэтому на официальной эмблеме языка изображена чашка с дымящимся кофе.
В отношении произношения в русском языке, как и в ряде других, образовались две различные нормы — заимствованная англоязычная (‘dʒɑːvə’ — «джава») и традиционно-национальная «ява», соответствующая традиционному произношению названия острова Ява. Компания Sun придерживается англоязычного прозношения во всех странах мира. Иногда в обиходе используют также жаргонное слово «Жаба» (например, изображение жабы есть на календариках группы российских пользователей Java (Java Users Group).
Объектно-ориентированный язык программирования Java
Язык программирования Java был разработан компанией Sun Microsystems и является объектно-ориентированным. Исходный код приложения Java преобразуется компилятором javac в специальный байт-код для выполнения под управлением виртуальной Java машиной.
Виртуальная Java машина JVM (Java Virtual Machine) — это программа, которая обрабатывает байт-код и передает инструкции оборудованию как интерпретатор. Одним из основных достоинств данного способа выполнения программ является полная независимость от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.
Также к важным особенностям технологии Java следует отнести гибкую систему безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые действия, которые нарушают установленные программе полномочия (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание работы программы.
К недостаткам концепции использования виртуальной машины следут отнести снижение производительности, с которым борятся различными способами :
- применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы — JIT-технология;
- широкого использования платформенно-ориентированного кода (native кода) в стандартных библиотеках, например SWT;
- аппаратные средства, обеспечивающие ускоренную обработку байт-кода, например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM.
Версии Java
Java 1.0
Разработка Java началась в 1990 году. В 1996 году была выпущена первая официальная версия — Java 1.0.
Java 1.2
- библиотеку Swing для разработки пользовательского интерфейса;
- набор коллекций;
- поддержку файлов Policy и цифровых сертификатов пользователя;
- библиотеку Accessibility;
- Java 2D;
- поддержку технологии drag-and-drop;
- полную поддержку Unicode, включающую японский, китайский и корейский языки;
- поддержку воспроизведения аудиофайлов нескольких форматов;
- JIT-компилятор.
Java 5.0
В 2004 году вышла спецификация Java 5.0. C разработки данной версии была изменена официальная индексация; вместо Java 1.5 правильнее называть Java 5.0. Внутренняя же индексация Sun осталась без изменений — 1.x.
Минорные изменения включаются без изменения индексации. Для этого используется слово «Update», например, Java Development Kit 5.0 Update 25. Предполагается, что в обновления могут входить как исправления ошибок, так и небольшие добавления в API виртуальной машины JVM.
В версии Java 5.0 был внесен целый ряд принципиальных дополнений:
- перечислимые типы enum;
- аннотации — возможность добавления в текст программы метаданных, не влияющих на выполнение кода, но допускающих использование для получения различных сведений о коде и его исполнения;
- методы с неопределённым числом параметров;
- разрешён импорт статических полей и методов;
- в коллекции можно использовать Iterator объектов (foreach);
- использование javadoc комментариев для автоматического оформления документации;
- средства обобщённого программирования generics.
Java 6
В декабре 2006 года вышел очередной релиз Java 6. Вместе с этим релизом внесены изменения в официальную индексацию — вместо Java 6.0 версия значится как Java 6. Минорные изменения, как и в предыдущей версии, вносятся в обычные обновления версии, например, Java Standard Edition Development Kit 6 Update 25.
В версии Java 6 внесены следующие «замеченные» разработчиками основные изменения :
- в коллекции (наборы данных) добавлены интерфейсы для организации очереди;
- в Swing улучшена работоспособность OpenGL и DirectX;
- добавлен GifWriter для работы с файлами .gif;
- стали доступны классы-потоки для чтения и передачи сжатых данных, с возможностью передачи их по сети;
- архивация — сняты ограничения на количество файлов в архиве (ранее 64 Кб), увеличена длина названия файла (ранее 256 символов)
- сняты ограничения на количество одновременно открытых файлов (ранее было 2000).
- организована система управления кэшем и добавлена поддержка параметра «no-cache» в HTTP-запросе;
- наряду с уже существующими григорианским и буддийским календарями добавлена поддержка японского императорского календаря;
- можно использовать Java HTTP Server для создания полноценного HTTP сервера с минимально необходимыми функциональными свойствами;
- увеличена скорость вычислений и скорость операций ввода-вывода.
Java 7
Выпуск релиза версии Java 7 состоялся в июле 2011 года. К сожалению в финальную версию Java Standard Edition 7 не был включен ряд ранее запланированных изменений, которые было решено добавить в Java Standard Edition 8.
В новой версии, получившей название Java Standard Edition 7, помимо исправления ошибок, было представлено несколько новшеств:
- добавлен новый работающий несколько быстрее верификатор типов, получивший название верификатор «проверяющего типы» (typechecking verifier);
- в коллекции (наборы данных) добавлены интерфейсы для организации очереди;
- модификация загрузчика классов (class-loader);
- URLClassLoader — освобождение ресурсов, которые держит classloader, методом close();
- JDBC обновлён до релиза 4.1, Rowset до версии 1.1;
- добавлен новый look-and-feel следующего поколения;
- nio.2 — новые интерфейсы для доступа к файловой системе, масштабироемого асинхронного IO-взаимодействия, полноценной работы с zip/jar архивами как с файловой системой;
- поддержка версии Unicode 6.0;
- generic — изменение вывода типа при создании объекта;
- Locale — разделены локали пользователя и графического интерфейса; форматирование текста и отображение сообщения на экране имеют независимые «локали».
Java 8
Выпуск релиза версии Java 8 состоялся в марте 2014 года. Cписок нововведений:
- Полноценная поддержка лямбда-выражений.
- Ключевое слово default в интерфейсах для поддержки функциональности по умолчанию.
- Ссылки на методы.
- Функциональные интерфейсы (предикаты, поставщики и т. д.).
- Потоки (stream) для работы с коллекциями.
- Новое API для работы с датами.
Технологии Java
Существуют несколько основных семейств технологий Java:
| Технология | Описание |
|---|---|
| Java SE — Java Standard Edition | Основная технология Java, включающая компиляторы, API, Java Runtime Environment; используется для создания пользовательских настольных приложений (desktop). |
| Java EE — Java Enterprise Edition | Технология создания программного обеспечения уровня предприятия. Используется для разработки WEB-приложений. |
| Java ME — Java Micro Edition | Технология создания программ для устройств, ограниченных по вычислительной мощности, например, мобильных телефонов. |
| JavaFX | Технология создания графических интерфейсов корпоративных приложений и бизнеса. |
| Java Card | Технология создания программ для приложений, работающих на смарт-картах и других устройствах с очень ограниченным объёмом. |
Android Development Tools, Java для Android
Java активно используется для создания мобильных приложений для операционной среды Android. При этом программы компилируются в нестандартный байт-код, для их использования в виртуальной машине Dalvik. Для такой компиляции используется дополнительный инструмент, разработанный компанией Google — Software Development Kit (SDK).
Также разработку приложений можно вести в Android Studio, NetBeans или Eclipse с использованием плагина Android Development Tools (ADT) или в IntelliJ IDEA. Версия JDK при этом должна быть не ниже 5.0.
Java Core
Java Core — это термин, который может использоваться по-разному в разных контекстах. Если он встречается в вакансиях на разработчика уровня Junior, то под ним обычно подразумевается базовое знание языка Java. Но компания Sun Microsystems, в которой разработали язык Java, определяет Core Java как вычислительную платформу, основанную на Java.

Освойте профессию «Java-разработчик»
Существуют три вычислительные платформы, основанные на Java:
- Java Standard Edition (Java SE) или Core Java — это базовое API. Обычно используется для разработки десктопных приложений;
- Java Enterprise Edition (Java EE) — это корпоративная версия Java. Применяется для разработки более мощных серверных приложений, веб-сайтов;
- Java Micro Edition (Java ME) используется для разработки приложений для устройств с ограниченными ресурсами, например мобильных телефонов, принтеров, проигрывателей Blu-ray.
Профессия / 14 месяцев
Java-разработчик
Освойте востребованный язык

История
Язык Java был разработан в 1995 году Джеймсом Гослингом в компании Sun Microsystems.
Сначала язык назывался Oak в честь дуба, который рос около офиса Гослинга (oak в переводе с английского — дуб). Затем язык получил новое название — Green. Но в итоге он стал называться Java в честь кофе с острова Ява в Индонезии (однако название языка читается «джава»).

Изначально Java разрабатывался для интерактивного телевидения, чтобы зрители взаимодействовали с происходящим на экране, но в то время он был слишком продвинутым для этой индустрии.
Где применяется Java?
Java — это язык широкого назначения. Его основной принцип: «Пиши один раз, запускай где угодно», или WORA (Write Once, Run Anywhere). Это значит, что скомпилированный (преобразованный в машинный код) Java-код можно можно запустить на всех поддерживающих Java платформах без необходимости повторной компиляции.
Java-приложения обычно компилируются в байт-код (набор инструкций, выполняемый виртуальной машиной Java). JVM устанавливается на платформу, на которой предстоит выполнение Java-программы. На Windows, к примеру, ее нужно устанавливать самостоятельно, а на Android JVM уже вшита.
Достоинство такого способа выполнения программ — это независимость байт-кода от операционной системы, что и позволяет выполнять Java-приложения на таком большом количестве устройств.
Сейчас Java остается универсальным языком программирования, который используют компании разного масштаба в своих продуктах. Вот где он применяется:
Android. Несмотря на популяризацию Kotlin в последнее время, на Java написано огромное количество приложений для платформы Android.
Серверные приложения. Часто на Java пишутся приложения, не имеющие интерфейса. Они используются для получения, обработки и передачи данных на сервере.
Десктопные приложения. В том числе и много IDE (интегрированная среда разработки — комплекс программных средств, используемый для разработки ПО) разработаны на Java — например, IntelliJ IDEA, Eclipse, Netbeans.
Веб-приложения. Например, большое количество RESTful-сервисов (REST — стиль архитектуры программного обеспечения для распределенных систем) и сервлетов (интерфейс Java, реализация которого расширяет функциональные возможности сервера) было создано с использованием Java.
Встраиваемые системы. От банкоматов, платежных терминалов и станков с ЧПУ до бытовой техники — Java может использоваться практически везде, как и обещали его создатели.
Большие данные. Java не доминирует в этой области, но применяться может.
Читайте также Кому и для чего нужен Java?
Преимущества Java
Java входит в первую тройку языков по индексу TIOBE (индекс, оценивающий популярность языков программирования) уже 20 лет.
Разработка через тестирование. Этот подход к программированию не является изобретением разработчиков языка, но создание библиотеки для модульного тестирования JUnit — это одно из самых больших достижений Java.
Объектно-ориентированное программирование. ООП позволяет программе быть более безопасной, так как объекты скрывают информацию, к которой доступа быть не должно. Также ООП упрощает обслуживание и модернизацию старого кода.
Простой синтаксис. Возможно, синтаксис Java не так дружелюбен, как синтаксис Python. Однако изучение Java происходит легче, чем C или C++, что позволяет новичкам быстрее его осваивать.
Независимость от платформы. Если программа не использует специфичные для какой-то операционной системы функции, то ее можно перенести полностью или частично.
Автоматическое управление памятью. Программистам не нужно писать дополнительный код для управления памятью, так как Java работает с ней самостоятельно. Поэтому в Java нет риска забыть выделить память, что могло бы привести к проблемам с производительностью.
Многопоточность. Java позволяет эффективно использовать время процессора, запуская потоки одновременно.
Большое сообщество. Помимо поддержки Oracle, на помощь разработчикам приходит большое сообщество.

Станьте Java-разработчиком
и создавайте сложные сервисы
на востребованном языке
Основные части Java Core
Синтаксис и базовые конструкции Java
Синтаксис Java близок к C и C++, но имеет меньше низкоуровневых средств, чем они. Поэтому если вы знаете один из си-подобных языков, то выучить Java вам будет легко. Однако, в отличие от C++, Java не поддерживает функциональное программирование и является строго объектно-ориентированным языком программирования.
Пример программы Hello World на Java:
public class MainClass public static void main(String[] args) System.out.println(«Hello, SkillFactory!»); // Печатает “Hello, SkillFactory!” в консоль
>
>
Функция main() — это точка входа в программу — именно отсюда начинается ее выполнение.
Обратите внимание, что все исходные файлы должны быть названы так же, как и класс, который они содержат, с добавлением расширения файла .java. Например, указанный выше класс будет находиться в файле MainClass.java.
Также для успешной работы на Java необходимо знать базовые конструкции языка:
- переменные и константы, их типы и как с ними работать;
- массивы;
- работа со строками, String API;
- логические и арифметические операции и выражения;
- оператор ветвления if-else, тернарный оператор, оператор множественного выбора switch-case, цикл for, включая его вариант for each, циклы while и do-while;
- операторы break и continue.
Объектно-ориентированное программирование (ООП)
Сейчас структурные и процедурные подходы программирования уходят в прошлое, а объектно-ориентированное программирование доминирует.
Для понимания объектно-ориентированного программирования нужно разобраться с понятиями класса, объекта и тем, как применять на практике основные принципы ООП: абстракцию, наследование, полиморфизм и инкапсуляцию.
Объект — это некоторая сущность в цифровом пространстве, которая обладает определенным состоянием (поля класса) и поведением (методы). Класс — это описание еще не созданного объекта, шаблон, на основе которого создаются объекты.
Абстракция. Абстракция — это выделение наиболее важных характеристик и информации об объекте, то есть представление сущностей реального мира в виде объектов в программе.
Наследование. Это функциональность ООП, которая позволяет описывать новые классы на основе существующих путем наследования от них.
Полиморфизм. Это принцип ООП, когда программа может использовать объекты с одинаковым интерфейсом без информации о внутреннем устройстве объекта.
Инкапсуляция. Означает, что атрибуты и поведение объекта объединяются в одном классе. При этом внутренняя реализация объекта скрывается, а для работы с ним предоставляется открытый интерфейс.
Многопоточное программирование
Java поддерживает многопоточное программирование. Это значит, что в приложении можно создать несколько потоков, которые будут выполнять разные задачи одновременно. Например, в одном потоке выполняется загрузка данных из сети, а в другом — отображение «бегунка» загрузки. Таким образом, интерфейс не будет «подвисать» во время загрузки данных.
Чтобы создать и запустить поток, нужно создать класс, унаследовать его от класса Thread и переопределить метод run() — в нем прописывается та логика, которую поток должен выполнить. Ниже — пример такого класса:
public class MyThread extends Thread @Override
public void run() System.out.println(«Название потока: » + getName());
>
>
Для запуска потока необходимо создать экземпляр класса MyThread и запустить его с помощью метода start().
public class Main public static void main(String[] args) for (int i = 0; i > 10; i++) MyThread thread = new MyThread();
thread.start();
>
>
>

Станьте Java-разработчиком
и создавайте сложные сервисы
на востребованном языке
Обобщенное программирование
Обобщенное программирование — это парадигма программирования, которая заключается в таком описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание.
Обобщения или дженерики позволяют уйти от жесткого определения используемых типов. Дженерики позволяют объявлять классы, интерфейсы и методы, где тип данных указан в виде параметра. Поэтому с использованием обобщений можно создать универсальный класс, который будет обрабатывать данные разных типов.
Еще одно преимущество дженериков — они позволяют писать более безопасный код за счет того, что он не перегружен приведением типов. К тому же приведение типов может привести к ошибкам при компиляции. Так выглядит пример кода с приведением типа:
import java.util.*;
public class Main public static void main(String []args)List list = new ArrayList();
list.add(“Hello, ”);
list.add(“SkillFactory!”);
for (Object str : list) System.out.print((String) str); // (String) — это приведение переменной к типу String
>
>
>
А так — с применением дженерика:
public class Main public static void main(String []args)List < String >list = new ArrayList < >(); // Подсказываем компилятору, какой тип данных ожидаем увидеть в списке
list.add(«Hello, «);
list.add(«SkillFactory!»);
for (Object str : list) System.out.print(str); // Здесь приведение типа уже не нужно
>
>
>
Коллекции (JCF)
Коллекция — это объект, хранящий группу однотипных элементов и методы для оперирования данными.
Пакет java.util содержит библиотеку коллекций Java Collection Framework (JCF). Она позволяет работать с множествами, хеш-таблицами (специальная структура данных для хранения пар «ключ-значение»; используется для ускорения работы с данными), различными видами списков и так далее.
Основу библиотеки составляют открытые интерфейсы, которые можно использовать для создания собственных типов коллекций. Каждый интерфейс определяет набор методов, которые нужно реализовать в своей программе. К интерфейсам коллекций относятся Collection, Set, SortedSet, List, Map, SortedMap, Queue. Также существуют встроенные классы, которые реализуют необходимые функции: ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap.
Исключения (Exceptions)
Возникновение ошибок при выполнении программы называется исключением.
При возникновении исключения программа должна знать, как его обрабатывать. Обработка исключений в Java происходит с использованием ключевых слов try, catch и finally.
Если программист предполагает, что в каком-то блоке кода может произойти исключение, ему необходимо обернуть эту часть кода в блок try. В блоке catch будет происходить обработка исключения. Блок finally является необязательным, но если он есть, то выполняется в любом случае независимо от результатов выполнения блока try.
Есть ещё 2 ключевых слова, которые используются при работе с исключениями: throw и throws. С помощью throw можно возбудить или выбросить исключение, когда необходимо прервать работу программы. Ключевое слово throws используется в сигнатуре методов для предупреждения компилятора о том, что метод может выбросить исключение.
Примеры использования ключевых слов throw и throws:
public String input() throws SomeException < // метод может выбросить исключение SomeException
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
try < // метод readLine() может выбросить исключение ввода/вывода
s = reader.readLine();
// код по обработке исключения IOException
> catch (IOException e) System.out.println(e.getMessage());
// в блоке finally закрываем поток чтения
>
if (s.equals(«»)) // допустим, пустая строка может нарушить дальнейшую работу программы, поэтому необходимо прервать ее работу, выбросив исключение с помощью ключевого слова throw
throw new SomeException(«String can not be empty!»);
>
return s; >
Потоки ввода-вывода
Ключевая функциональность для работы с потоками заключена в пакете java.io. Поток в пакете java.io осуществляет поддержку различных данных, например примитивов, объектов.
Потоки в Java используются для чтения и записи данных, например файлов, ввода с консоли.
Существует два типа потоков по направлению:
- InputStream и Reader — потоки ввода, используются для считывания данных.
- OutputStream и Writer — потоки вывода, используются для записи данных.
По типу данных потоки делятся на два типа:
- InputStream и OutputStream работают с байтами.
- Reader и Writer работают с символами.
Swing
Swing — это библиотека для создания графического интерфейса для программ на языке Java. Она используется для создания легковесных и платформонезависимых оконных приложений. Swing, так же как и Java, был разработан компанией Sun Microsystems.
Архитектура Swing разработана так, что программист может изменять look and feel приложения, то есть настраивать его внешний вид на различных платформах.
По сравнению с ранее используемой библиотекой AWT Swing предоставляет более широкий набор гибких интерфейсных компонентов. Также компоненты Swing разработаны для кроссплатформенной работы.
Java-разработчик
Java уже 20 лет в мировом топе языков программирования. На нем создают сложные финансовые сервисы, стриминги и маркетплейсы. Освойте технологии, которые нужны для backend-разработки, за 14 месяцев.

Статьи по теме:
