Java SE против Java EE, колледж и карьера

В настоящее время я изучаю компьютерные науки в колледже, где в основном преподают стандартную версию Java, я вижу, что в отрасли это не так часто используется, вместо этого используется Java EE. Если мой колледж обучает меня Java SE, а не Java EE, делает ли это меня менее трудоспособным?

А в чем точные отличия? другой синтаксис? другой способ программирования что ли?

Вот подсказка - бросьте фразу «Я сейчас ...». "... сделать меня менее трудоспособным?" не совсем полезный вопрос - это вызов для суждения. Сосредоточьтесь на том, на что мы можем ответить: J2EE против J2SE и что люди на самом деле используют.

S.Lott 13.10.2008 03:45

Небольшое примечание: Java 2 Enterprise Edition (J2EE) была переименована в Java Enterprise Edition (Java EE; JEE) в 2005 году или около того. Было бы здорово, если бы люди наконец приняли нынешнее, более простое (и более логичное) имя ...

Jonik 23.04.2009 00:05

@Jonik: Да, мне это тоже надоело. Прошло три года. Когда я вижу "J2EE", я думаю, что Java 1.4

Adam Jaskiewicz 23.04.2009 00:13

См. Здесь: <a href="stackoverflow.com/questions/106820/what-is-j2ee">http:‌ //…>

Milan Babuškov 13.10.2008 03:19

@Arjan Tijms: вы редактировали каждый ответ, включая вопрос. :)

Govind Malviya 25.09.2013 18:59

@GovindKamalaPrakashMalviya ха-ха, к сожалению, для этого нет ТАКОГО бонуса: P

Arjan Tijms 28.09.2013 23:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
6
15 864
9

Ответы 9

Java EE - это просто надмножество Java SE (корпоративные библиотеки, такие как сервлеты). Изучите Java SE, и вы в основном знаете Java EE.

Язык Java сам по себе является одним из аспектов разработки Java. Приложения, созданные с помощью стандартной версии, удовлетворяют определенным требованиям. Думать, что вы можете просто «взлететь» с корпоративной версией, если все, что вы знаете, это стандартная версия, - это заблуждение. Библиотеки создают язык. Хотя некоторые аспекты Java EE имеют свою (заслуженную) критику, там все еще есть много функциональных возможностей. Даже сомнительные детали по-прежнему широко используются в промышленности.

Java SE содержит стандартные библиотеки Java: все основы, контейнеры, сеть, графический интерфейс и так далее. Он предназначен в основном для настольных приложений и апплетов браузера.

Java EE добавляет серверную структуру. Когда вы говорите о Java на сервере, вы имеете в виду именно это. Это библиотека огромный с множеством предустановленных «лучших практик». Когда JIT были еще молоды, сильно масштабируемая конструкция Java EE сделала ее очень хорошо принятой на сервере, не считая (тогда значительных) накладных расходов JVM.

Я действительно не использовал Java EE ни в чем серьезном; но я думаю, что лучше сначала изучить Java SE, а затем Java EE. На это уходит больше времени; но позволяет лучше понять, что это за язык и какова структура.

На мой взгляд, университет действительно предназначен для того, чтобы научить вас быть сильными в основах и концепциях, не обязательно для того, чтобы научить вас точным навыкам, которые вам понадобятся на работе. Поэтому больше всего я бы рекомендовал вам убедиться, что вы изучаете концепции, содержащиеся в требованиях к корпоративным приложениям (например, транзакции, очереди / темы обмена сообщениями и т. д.). Однако, если это действительно вас беспокоит, я бы предложил сделать самообучение (возможно, для получения кредита на курс). Кроме того, попробуйте найти стажировку, которая позволит вам поиграть в код Java EE.

Я задавал себе тот же вопрос, когда приближался к окончанию университета. Сейчас я работаю в среде Java EE, и мне пришлось немного научиться пользоваться библиотеками Java EE. Я должен согласиться со многими другими и сказать, что заниматься корпоративной java-разработкой не очень весело по сравнению с другими проектами, над которыми я работал, поэтому вы можете продолжать получать удовольствие в университете и откладывать скучные вещи на время, когда вы будете частью. рабочей силы.

Во всех смыслах и целях Java и Java SE - одно и то же. Когда вы говорите, что изучаете Java SE, это означает, что вы изучаете Java, ее синтаксис, функции и стандартные библиотеки. Вы не можете изучить Java EE, не изучив эти навыки.

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

Думайте об изучении Java SE как об обучении вождению автомобиля. Java EE похожа на обучение вождению 18-колесного автомобиля, вам не нужно знать, как это сделать, чтобы добраться из пункта А в пункт Б, но он наверняка поможет, если вам нужно взять с собой 10 тонн груза 8-)

Я вижу это так: «JSE» и «J2EE» являются «Java», если (а) вы кадровое агентство или (б) вы слишком долго с ними имеете дело ...

Neil Coffey 23.04.2009 00:03

Вот как я это вижу.

Известный вам язык программирования называется Java.

Как и большинство других языков программирования, он также поставляется в комплекте со многими стандартными библиотеками.

Java SE - это комбинация языка и определенных библиотек, которая делает возможной разработку общих приложений.

Java EE - это еще один набор библиотек, который можно использовать в сочетании с Java SE для разработки корпоративных / веб-приложений.

От Википедия:

The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server.

Синтаксис такой же. Все, что вы узнаете о Java SE, применимо и к Java EE. Он просто добавляет кучу новых API и требует определенного стиля дизайна приложения, который хорошо подходит для конкретных типов проблем. Такого рода проблемы (большие, отказоустойчивые, распределенные, масштабируемые, многоуровневые ...) и способы их решения - это действительно суть Java EE, а не фактические API-интерфейсы, которые оказались частью спецификации.

Помните, что степень CS - это не профессиональная степень. Он предназначен для того, чтобы научить вас учиться и думать, а не обучать вас конкретному набору навыков, адаптированному к определенной отраслевой нише.

Я думаю, вы неправильно понимаете связь Java SE (или «Core Java») и Java EE.

Ядро Java важно изучать, и это то, чему вас научат в большинстве школ.

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

Например, некоторые школы учат людей создавать графические интерфейсы пользователя с использованием библиотеки классов AWT или Swing, которые поставляются вместе с Java, хотя есть и другие варианты.

Java EE, хотя и поддерживается дополнительным программным обеспечением для запуска программы на серверах, может рассматриваться скорее как библиотека классов и связанных служб. Вы по-прежнему постоянно занимаетесь Java, вы просто пользуетесь популярной библиотекой, поддерживаемой Sun. Вы также увидите Hibernate и Spring, которые не являются частью Java EE.

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

If my College is teaching me Java SE rather than Java EE does this make me less employable?

Нет. Это то, что должен делать ваш университет: сосредотачиваться на основах. В случае Java это в основном стандартная версия.

Java EE (нет J2EE; см. Мой комментарий в вопросе) добавляет некоторые серверные Java API, спецификации и библиотеки. Наиболее важными из них являются спецификации Сервлет API и JSP контейнера. Но я думаю, что важно знать, что даже на стороне сервера это все еще в основном стандартная Java! Вполне возможно, что вы будете заниматься разработкой Java на стороне сервера без необходимости изучать большинство технологий Java EE, таких как Enterprise Java Beans (EJB), особенно с появлением альтернативных, легких подходов, таких как предпочтение POJOs, с Спящий режим для уровня сохраняемости. . Многие части Java EE, такие как EJB, определенно давно прошли пик своего ажиотажного цикла. Возможно, вам даже не потребуется досконально знать все «низкоуровневые» сервлеты и JSP, поскольку стали популярными высокоуровневые фреймворки, такие как Стойки, JSF или Калитка.

Один пример: я изучил основы Java (и объектно-ориентированного программирования) в университете - и только немного (и ничего практического) о Enterprise Edition не знал. Сейчас я проработал 4-5 человек как «разработчик Java EE», то есть занимался серверной Java. Я никогда не использовал EJB или большинство других технологий Java EE. Я в основном делал только чистую Java (т.е. стандартную версию) с добавлением некоторых JSP, сервлетов, фильтров и т. д. (Плюс, конечно, веб-методы, такие как HTML, JS, CSS); использование лоты сторонних библиотек (в основном с открытым исходным кодом) и сбор всего по мере необходимости. (Однако в какой-то момент я планирую освежить свои знания о Java EE и возьми SCWCD - я думаю, это пойдет мне на пользу, даже если Java SE пройдет долгий путь :)

Другие вопросы по теме