Как быстро выучить Java в 2018 году

Java база данных MySQL HTTPS

предисловие

Только лысина может стать сильнее

Раннее предупреждение: эта статьяПодходит для новичков в Java(Ветераны могут внести предложения в область комментариев), я надеюсь, что каждый сможет что-то получить после прочтения.

Во-первых, почему я хочу написать эту статью

1.1 Прямая причина:

  • Сегодня (4 ноября 2018 г.) одноклассник прислал мне WeChat, чтобы найти меня
    • Одноклассник: Можете ли вы дать ему веб-страницу, чтобы он изменил ее, он хочет сослаться на нее, а затем использовать ее для своего дипломного проекта.
    • 3y: Да, какая у тебя тема? Хотите писать на Java?
    • Одноклассник: Да, я сейчас изучаю Java (ps: Когда я раньше болтал с этим одноклассником, «у меня кружится голова, глядя на эти коды, я действительно не интересуюсь компьютерами».... Это вкусно!)
    • Потом одноклассник прислал небольшое видео и сказал, что изучает Java. Я посмотрел на это: наверное, на практике&^|Эти операторы.

同学发过来的小视频图--截取

Напоследок я сказал однокурснику: «Иди и посмотри видео, то, что ты сейчас узнаешь, не поможет твоему дипломному проекту». Затем позвольте ему пойти на станцию ​​B, чтобы найти видео и посмотреть его.

ps: я не говорю, что изучение &^| этих операторов бесполезно, но если вы просто хотите написать свой выпускной проект на Java, эти знания должны быть бесполезны.

1.2 Косвенные причины:

Собственный опыт:

Я также изучал Java самостоятельно, и я изучал его самостоятельно в университетский период (у однокурсников дома могут быть шахты). Даже когда я учусьПерерыл много мненийНапример, найдите на Zhihu, , и подобные темы,ноОглядываясь назад, я все еще делал много «обходных путей».

Например, в то время я потратил много сил на изучение JSP и, наконец, организовал его в блог и отправил в Интернет. Комментарии пользователей сети:

  • «Я не играл в JSP более десяти лет».
  • «Разве JSP не является устаревшей технологией».
  • «Глядя на это, возникает ощущение путешествия во времени… После того, как я закодировал более 6 слов, я чувствую себя расстроенным, когда смотрю на это…».
  • "Десять лет назад эту технологию откопали?"
  • «Я написал несколько пользовательских тегов, когда только что окончил школу, и в то время я чувствовал чувство выполненного долга, но теперь jsp, используемый для представления, кажется немного устаревшим, и представление обычно использует [шаблон] или [полностью статический + аякс + json] "

JSP博文

Хм... ту статью, которую я опубликовал 2018.02.07 в то время. Я изучил JSP в начале 2017 года. Фактически, JSP уже является отсталой технологией в 2017 году, но я все еще трачу много времени на изучение различных вариантов использования JSP (пользовательские теги, JSTL, выражения EL) и т. д.).

На самом деле, нет ничего плохого в том, что говорят пользователи сети.Что касается меня: я потратил много денег в 2017 году.какое-то времяИди учись использовать JSP (устаревшая технология), вот что я думаюобъезд.

  • PS: можно потратить некоторое время на изучение JSP в 2018 году, но нет необходимости изучать его глубоко.

Описание «Обходные пути»: если у вас естьМного времени, независимо от того, как учиться, в конце концов, вы действительно учитесь программировать. Пока вы изучаете программирование, это не обходной путь, я больше всего боюсь, что вы его не выучите.


Ответ некоторым из моих читателей этой статьей:

С момента написания блога все еще есть читатели, которые изучали Java с нуля, некоторые сменили профессию, а некоторые стали молодыми учителями, братьями и сестрами. Обычно они также спрашивают меня, как мне лучше изучить Java и каким должен быть путь изучения Java.

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

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

1.3 Цель

если вы:

  • Я хочу написать дипломный проект на Java всего за несколько месяцев.
  • Хотите использовать Java, чтобы узнать, как создать собственный веб-сайт с нуля.

Тогда взгляните на то, что я написал ниженезрелый совет.

Во-вторых, как быстро выучить Java

Здесь я говорю из опыта Java EE (Jakarta EE)/Java Web. (Все вы считаетесь записью с нулевым отсчетом)

Изучение Java EE (Jakarta EE) обычно состоит из следующих трех модулей:

  • Java
  • база данных
  • Веб-интерфейс

数据库、Java、Web前端

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

  • Похоже, я говорю лишние слова, но если вы учитесь, когда технология не может ответить на три вопроса выше. Через несколько дней вы во многомзабыватьЭту технику вы «выучили».
  • Например, как вы даже не можете объяснить «зачем использовать многопоточность» простыми словами. даже если тытогдаКогда я учился, я знал, что многопоточность может быть создана ххх способом, многопоточным ххх апи. Затем через два месяца люди будут спрашивать вас: «Какая польза от многопоточности в Java?». Подумайте, что еще вы можете ответить, я думаю, вы не можете вспомнить знания о том, что «многопоточность может использовать xxx для создания многопоточного xxx API».
  • Другой пример: если я не знаю разницы между IOC и новыми объектами, когда я изучаю Spring, почему я должен утруждать себя изучением Spring вместо непосредственно новых объектов?

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


Если вы изучаете Java с нуля иПонимание не зашкаливает, Я рекомендуювидеоОбучение – это главное.

возможныйВы увидите такие заявления:

  • «Обучение по видео идет слишком медленно»
  • «Посмотрите прямо на исходный код, исходный код — лучшее объяснение»
  • «Если возникнут проблемы, обратитесь напрямую в Google. Каким Baidu вы пользуетесь?»
  • «Лучшая информация — это документ на официальном сайте»
  • .....

Но это все для людей со стажем или с точки зрения высокоинтеллектуальных людей.

еслиОбычные люди с нулевой базой, посмотрите видео, чтобы узнать / не могу понять исходный код / ​​используйте Baidu / прочитайте китайский блог, чтобы узнатьНе стыдно.

ps: Если скорость речи видео лектора не очень высока, рекомендуется смотреть его со скоростью в 1,5 или 1,75 раза выше.

2.1 О видеоресурсах

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

视频资源

Другие видеоресурсы:

  • Станция Б :(bilibili.com) замечательный сайт. Если вы хотите посмотреть какое видео, вы можете сначала найти станцию ​​B, чтобы увидеть, есть ли она.
  • МООК:(imooc.com) также имеет много видеоресурсов.
  • Нет публичной/смешанной группы qq/группы микроканала: многие люди имеют в руках несколько ресурсов t, если хорошие отношения с группой друзей, как правило, бесплатно для ваших волос
  • ......

2.1 Изучение основ Java

Путь обучения Java с нулевой базой кратко изложен следующим образом:

  • Сначала перейдите на официальный сайт, чтобы загрузить JDK в соответствии с общепринятой версией.JDK1.8достаточно, чтобы узнать
  • Затем перейдите к загрузке редакторов, обычно используемых в Java прямо сейчас.IDEA(Вы также можете использовать eclipse, но теперь IDEA действительно проста в использовании).
  • от1,5/1,75-кратная скорость просмотраБазовое видео по Java (на примере Лю И)

刘意视频

При изучении основы Java я буду кратко говорить оЧто не может прикоснуться:

  • &^|побитовые операторы,++iиi++такой синтаксис
  • внутренний класс
  • AWT, SWING-программирование
  • аннотация

необходимостьГлубокое пониманиеОчки знаний:

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

просто пройтись по немузнание:

  • аномальный
  • Многопоточность
  • сетевое программирование
  • механизм отражения
  • (тыВы должны знать, для чего используется эта точка знаний.Зачем изучать эти знания, сможете прочитать конкретный код! )

для вышеперечисленногоГлубокое пониманиеочки знаний, я личноОчень рекомендуется для заметок (ведения блога) во время учебы. Если вы хотите писать заметки,предпочтительно прямойзатем применитьmarkdownсинтаксис, а не слово/простой блокнот.

Синтаксис уценки очень прост в освоении, вы можете изучить его за несколько минут, и почти все блог-сайты его поддерживают.markdown:

если хочешьнарисовать ментальную картуДа, я рекомендую обрабатывать здесь. Нет необходимости скачивать Xmind так много хлопот:

Иногда вам не нужно использовать IDEA, чтобы открыть.javaили.xmlТакой файл вы можете использоватьnotepad++ноутбук:

Научитесь работать в Интернете и используйте браузер Chrome с научной точки зрения, например, загрузите плагины для блокировки рекламы, плагины для перевода на английский язык.

Хотя быстро выучить Java, после изучения вышеперечисленногонаверное месяц(:..

Через месяц я обнаружил, что это все консольно-ориентированное программирование (консоль), ввод и вывод некоторых данных для воспроизведения.

控制台

В течение периода вы можете копировать файлы, когда изучаете IO, и интересно изменить имя файла.Но хорошие дни приходят!

2.2 Изучение основ Java Web

Прежде всего, мы можем изучить знание веб-интерфейса (эта часть самая простая).

  • HTML/CSS/JavaScript/jQuery
  • Фреймворк CSS (есть мануалы на китайском языке, можно быстро приступить к работе, просто выберите понравившийся):

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

  • "HTML — это существительное, CSS — прилагательное, а JavaScript — глагол."

Тогда маршрут изучения JavaWeb выглядит следующим образом:

  • Tomcat (слишком просто)
  • XML/аннотации (кратко)
  • Servlet(сосредоточиться на понимании)
  • HTTP-протокол (сосредоточиться на понимании)
  • Фильтр(сосредоточиться на понимании)
  • Слушатель слушатель (кратко)
  • JSP (для краткого вида)
  • AJAX, JSON (кратко)

Servlet知识点

Основываясь на вышеизложенном, вы, по крайней мере, можете использовать объект запроса для получения данных, отправленных внешним интерфейсом, использовать объект ответа для возврата данных из внутреннего интерфейса Java во внешний интерфейс и использовать перехватчик фильтра для обработки данных. проблема с искаженными китайскими символами (кодировка Tomcat по умолчанию — ISO-88591). В общем можно добитьсяFront-end и back-end взаимодействуют!

2.3 База данных обучения

База данных здесь относится к реляционной базе данных, обычно мы используемMySQLДостаточно добраться до него.

В учебном периоде, по сути, это стоит во много раз.Среда конфигурацииВыше, например, прежде чем я установил JDK, установил MySQL и установил Oracle, потребовалось много времени. Позже я также написал его как блог, и я просто читаю блог, когда мне нужно его переустановить.

В основном изучите базовое использование SQL:

  • создать таблицу
  • Добавить, удалить, изменить и проверить (вставить, удалить, обновить, выбрать)
  • Узнайте о хранимых процедурах и триггерах
  • Об индексах и блокировках узнаете позже (Эта часть важна, но для быстрого старта можно сначала пропустить)

MySQL基本语法

2.4 Изучите Java для подключения к базе данных (JDBC)

На данный момент мы в основном завершили основы Java Web, базы данных и веб-интерфейса, но на данный момент Java и база данных независимы друг от друга. мы хотимпрограммаСпособы работы с данными базы данных, затем изучите базу данных соединений Java (JDBC).

Технология JDBC не сложна, это код шаблона, который приходит и уходит в несколько шагов:

  • Импорт пакета драйверов MySQL или Oracle
  • Загрузите драйвер базы данных
  • Получить подключение к базе данных
  • Получить объект, который может выполнять операторы SQL
  • Выполнить оператор SQL
  • закрыть соединение

Поскольку эти коды могут повторяться, мы можем научитьсяDbUtilsЭтот компонент: может помочь нам сократить код шаблона для написания JDBC.

2.6 Управление проектами и обучение основам

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

  • Фрейм страницы построен с использованием фреймворка BootStrap/Materialize.
  • Запрос Обработка Изданного сервлета, данные могут быть возвращены с помощью AJAX или JSP, DAO Payer May May DBUTILS.
  • Сохранить данные в MySQL

Чтобы написать кодкруче, предлагаю потратить полдня на изучениеMaven(инструмент управления проектами), изучите его за несколько днейSpringBoot.

  • Прыгаясь непосредственно из сервлета с Sprilboot может быть немного сложно, но я не верю в это несколько дней ..

2.7 Обучение Linux

Наконец, проекты, которые мы написали локально, хотят, чтобы их видели другие, и обычно развертываются в среде Linux. (Эта часть обучения может подождать, пока проект не будет написан, и вы хотите развернуть проект перед обучением)

Не рекомендую использовать виртуальную машину для занятий линуксом,Гораздо проще просто купить

  • Если вы студент, ежемесячная студенческая версия стоит всего 10 юаней в месяц.
  • Если это старший брат, сменивший карьеру, то сейчас у Alibaba Cloud есть скидка на Double Eleven, и купить его очень дешево.

Предложение ссылки:Aliyun.com/act/team111…

3. Резюме

Подводя итог тому, что я считаю путем изучения Java:

  • Java Foundation --> Управление процессом --> Объектно-ориентированный (включая синтаксис Java) --> Коллекция Java --> Поток ввода/вывода Java --> Исключение --> Многопоточность --> Сетевое программирование --> Отражение
  • JavaWeb Foundation-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/Аннотации->Сервлет-->HTTP-->Фильтры фильтров и прослушиватели-->JSP-->AJAX/JSON-->База данных (MySQL) --> JDBC и DbUtils
  • Управление проектами и структура --> Maven --> SpringBoot
  • Основные команды Linux

Наконец, наш проект таков:

  • Управляйте нашим проектом с Maven
  • Внешний интерфейс использует BootStrap для создания фрейма страницы.
  • SpringBoot создает внутреннюю среду Java, а SpringMVC обрабатывает внешние запросы (интегрируется SpringBoot).
  • Слой DAO выполняется с использованием компонента DbUtils с MySQL в качестве базы данных.

Конечно, мой маршрут Java не обязательно правильный, я просто даю маршрут здесь.

Опять же: этот путь состоит в том, чтобы выучить Java "быстро".Если вы хотите найти хорошую работу, то пункты знаний недостаточно!

Если бы это были вы, какой маршрут Java вы бы дали? Не стесняйтесь оставлять сообщения в разделе комментариев~~

ОдинПридерживайтесь общедоступной учетной записи оригинальной технологии Java: Java3y, приветствую всех, чтобы обратить внимание

Все 3 года оригинальные статьи: