Какие современные бэкенды Java не нужно изучать?

Java
Какие современные бэкенды Java не нужно изучать?

Сегодня я хочу поговорить о тех знаниях Java, которые «устарели», нет необходимости продолжать обучение.

  1. Решение основывается на следующих моментах:
  2. Можно ли его использовать в реальных разработках?
  3. Способствует ли это более глубокому пониманию технологии?
  4. Это полезно для интервью?

JSP

В реальной разработке JSP в основном появляется как слой V (View) в модели MVC. Конечно, технология рендеринга слоя View включает в себя FreeMaker, Velocity и т. д. в дополнение к JSP.

JSP используется в качестве шаблона страницы, который преобразуется в HMTL инфраструктурой MVC в серверной части, а затем отправляется клиенту (например, браузеру) для отображения.Это то, что мы часто называем «передняя и задняя стороны не разделены» и «гибридная» разработка.

В настоящее время в него входят многие компании и большинство интернет-компаний. Либо от этой модели отказались, либо она на пути к отказу от нее, и она превратилась в полное «разделение фронта и тыла».

В режиме «разделения интерфейсной и серверной частей» серверная часть отвечает только за предоставление сервисных интерфейсов (например, REST), а клиентская часть (например, HTML5) отправляет/извлекает и отображает данные (например, формате JSON) через интерфейс.

Таким образом, исходная структура MVC в некотором смысле превратилась в среду MC. Поэтому все шаблонные технологии, связанные с V (View), потеряли необходимость в обучении, в том числе и JSP, конечно.

** Итак, для более поздних изучающих Java мой совет:

«Вы можете полностью отказаться от изучения JSP».

Struts

В бэкенд-разработке Java модель MVC по-прежнему остается основной. Как инфраструктура MVC, Struts технически превосходна.

Однако сейчас Spring слишком силен, и все больше и больше становится «универсальным» набором инструментов в Java-разработке, одним из которых является Spring MVC.

Хорошо известно, что Spring MVC также является фреймворком MVC. И поскольку это собственный сын Спринга, он, естественно, идеально подходит Спрингу.

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

Так что теперь многие компании все еще поддерживают старый проект Struts. Но разработка нового проекта больше обратилась к Spring MVC.

Итак, если вы новичок в Java и только учитесь, мой совет:

«Хватит изучать Struts, начните с Spring MVC!»

Hibernate

Как старый фреймворк отображения ИЛИ, Hibernate очень мощен и охватывает очень широкий диапазон. Но в этом не только его преимущество, но и его «бремя», которое «непосильно» для разработчиков.

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

Конечно, для достижения этой цели Hibernate также спроектирован очень сложным и изощренным. Это неизбежно приведет к следующим побочным эффектам:

  1. высокая стоимость обучения
  2. сложная конфигурация
  3. Сложность настройки

Первые два пункта понять не сложно, просто скажем "сложность в настройке".

Поскольку целью разработки Hibernate является полное сопоставление ИЛИ, полная изоляция операторов SQL. Но это неизбежно приведет к некоторой потере производительности. В большинстве случаев, если приложение не чувствительно к производительности, Hibernate подойдет. Однако, как только приложение чувствительно к производительности и требует настройки на уровне SQL, преимущества Hibernate становятся недостатками.

Хотя Hibernate также поддерживает настройку на уровне SQL, из-за слишком сложной и замысловатой структуры фреймворка разработчики должны очень хорошо понимать Hibernate, что приводит к более высоким затратам на обучение.

Теперь самый популярный MyBatis, как «гибридный», легкий операционный картографический фреймворк, не только наследует преимущества Hibernate, но и извлекает из него уроки. Поддерживая настройку, он также может касаться SQL, что обеспечивает большую гибкость (включая отладку, оптимизацию).

В настоящее время в реальной разработке Hibernate используется все меньше и меньше. Все предпочитают легкий фреймворк, такой как MyBatis.

Итак, для более поздних учеников мой совет:

«Вам больше не нужно изучать Hibernate, просто изучите MyBatis».

Сервлет (чтобы быть опытным)

Конечно, не будет ни одной компании, которая реализует целое веб-приложение с помощью чистых сервлетов, а вместо этого обратится к более продвинутым технологиям (таким как различные фреймворки MVC). Следовательно, это создаст у людей иллюзию: Servlet устарел, и опоздавшим не нужно больше учиться.

Здесь я могу очень ответственно сказать: это мнение крайне неправильно и крайне безответственно.

Сервлет нужно не только изучить, но и изучить глубоко и основательно.

В настоящее время, хотя Servlet больше не является основной технологией веб-разработки, он по-прежнему является основой технологии веб-разработки Java, краеугольным камнем веб-контейнера Java и отраслевым стандартом. Различные фреймворки MVC (включая SpringMVC), которые сейчас популярны, по-прежнему основаны на Servlet внизу.

Для этого я нарисовал простенькую схему (неточную, просто поймите):

image.png

Итак, если вы хотите полностью освоить структуру MVC, вы должны хорошо понимать Servlet.

Кроме того, сервлеты служат инфраструктурой. Знание этого не только помогает понять различные фреймворки MVC. Даже сам сервлет имеет большую практическую ценность.

Если вы глубоко понимаете жизненный цикл сервлетов, вы можете делать многое под капотом. Например, когда приходит Запрос, перехватывайте его и определяйте полномочия. Вы также можете перехватывать, проверять и прикреплять единообразно при отправке ответа.

Итак, если вы изучаете Java, мой совет для сервлетов:

«Сервлет нужно не только изучить, но и изучить глубоко и основательно».

разное

В настоящее время в Китае Java выглядит скорее как серверная веб-технология. Поэтому в реальном обучении многие технологии не соответствуют «национальным условиям», и практическое значение обучения невелико.Я просто перечислю их ниже.

1.Applet

Излишне говорить, что в качестве технологии плагинов для страниц скоро исчезнет даже flash, не говоря уже о никогда не пользовавшемся популярностью апплете.

2.Swing

В качестве фреймворка пользовательского интерфейса рабочего стола. Не говоря уже о том, как он был разработан. В реальной разработке настольные приложения, с которыми я столкнулся, используют либо C++ (например, MFC), либо C# (Winform, WPF). Поэтому нет необходимости изучать Swing.

3.JDBC

Как низкоуровневая инфраструктура базы данных, JDBC поддерживается многими платформами, такими как MyBatis. Но в реальной разработке с программистами все в порядке, даже если они ничего не понимают. Так что, хотя я не могу посоветовать вам отказаться от изучения JDBC, если у вас мало времени, вы определенно можете сделать его немного более приоритетным.

4.XML

XML по-прежнему широко используется сегодня. Но как формат передачи веб-данных он постепенно вытесняется JSON. Поэтому для внутреннего обучения Java достаточно простого понимания XML. Что касается сложных API-интерфейсов для работы с XML (таких как XPath), то им совершенно не нужно учиться. Если вам это действительно понадобится в будущем, никогда не поздно проверить еще раз.

Наконец

Независимо от того, является ли технология Java чем-то, что вы должны освоить, или это уже "устаревшая технология", самое главное - это ваши базовые знания Java. Только когда у вас есть твердые базовые знания Java, вы можете больше бояться, иначе вы упадете на полпути.

Если вы хотите иметь прочный фундамент, вы не должны забывать о фундаменте Java.эпизоды java300Помогите закрепить базовые знания!

26637570-ae890e221715384a.jpg