Учебник по Java для новичков, план изучения Java (видео + заметки + инструменты)

Java

Прошло четыре года с тех пор, как я неосознанно вошел в интернет-индустрию.

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

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

1. Схема

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

image.png

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

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

Что касается трудоустройства, я лично считаю, что освоение основ Java, компьютерных основ, использования инструментов, базы данных, веб-интерфейса, Javaweb, использования фреймворка, Linux и промежуточного программного обеспечения считается кодером начального уровня.  

1. Основы Java

Я перечислю то, что вам действительно нужно изучить, в разделе Основы Java.

01. Введение в Java 

  • Обзор языка Java

  • Связь между JDK, JRE и JVM в Java

  • открытый класс и класс в Java

  • Идентификаторы и ключевые слова Java

  • Java-переменные

  • Типы данных Java

  • операторы Java

  • Выражения и операторы Java и блоки кода

  • Аннотации в Java

02. Операторы управления Java

  • Java if else

  • Оператор переключения Java

  • Java для цикла

  • Java-цикл во время выполнения

  • Оператор разрыва Java

  • Оператор продолжения Java

03. Массивы Java

  • Массив Java

  • Многомерные массивы

  • Копия массива Java

04. Объектно-ориентированный Java (1)

  • Классы и объекты Java

  • Java-метод

  • Перегрузка метода Java

  • Конструктор Java

  • Строка Java

  • доступ к Java

  • Java это ключевое слово

  • Окончательное ключевое слово Java

  • Java-рекурсия

  • Оператор экземпляра Java

05. Объектно-ориентированный Java (2)  

  • Наследование Java

  • Переопределение метода Java

  • Суперключевое слово Java

  • Абстрактный класс и абстрактный метод

  • Java-интерфейс

  • Java-полиморфизм

  • Java-оболочка

06. Объектно-ориентированный Java (3)

  • Вложенные и внутренние классы

  • Статическое ключевое слово Java

  • Анонимный внутренний класс Java

  • Java синглтон

  • Класс перечисления Java

  • Конструктор перечисления Java

  • Java перечисляет строки

  • Java-отражение

07. Обработка исключений Java

  • Введение в исключения Java

  • Обработка исключений Java

  • Java try catch

  • Java бросает и бросает

  • Java ловит несколько исключений

  • Java try-with-resources

  • Java-аннотации

  • Типы аннотаций Java

  • Журнал Java

  • Утверждения Java

08. Коллекции Java

  • Платформа коллекций Java

  • Интерфейс коллекции Java

  • Интерфейс списка Java

  • Java ArrayList

  • Java Vector

  • Java Stack

09. Очередь Java

  • Интерфейс очереди Java

  • очередь приоритетов Java

  • Интерфейс Java Deque

  • Java LinkedList

  • Очередь массива Java

  • Интерфейс очереди блокировки Java

  • Java ArrayBlockingQueue

  • Java LinkedBlockingQueue

10. Карта Явы  

  • Интерфейс карты Java

  • Java HashMap

  • Java LinkedHashMap

  • Java WeakHashMap

  • Java EnumMap

  • Интерфейс Java SortedMap

  • Интерфейс Java NavigableMap

  • Java TreeMap

  • Интерфейс Java ConcurrentMap

  • Java ConcurrentHashMap

11. Набор Java

  • Интерфейс набора Java

  • Java HashSet

  • Java EnumSet

  • Java LinkedHashSet

  • Интерфейс Java SortedSet

  • Интерфейс Java NavigabaSet

  • Java TreeSet

  • Алгоритм набора Java

  • Интерфейс итератора Java

  • Интерфейс Java ListIterator

12. Поток байтов Java

  • Введение в потоки ввода-вывода Java

  • Java InputStream

  • Java OutputStream

  • Java FileInputStream

  • Java FileOutputStream

  • Java ByteArrayInputStream

  • Java ByteArrayOutputStream

  • Java ObjectInputStream

  • Java ObjectOutputStream

  • Java BufferedInputStream

  • Java BufferedOutputStream

  • Java PrintStream

13. Поток символов Java

  • Java Reader

  • Java Writer

  • Java InputStreamReader

  • Java OutputStreamWriter

  • Java FileReader

  • Java FileWriter

  • Java BufferedReader

  • Java BufferedWriter

  • Java StringWriter

  • Java PrintWriter

14. Параллельное программирование на Java

  • процесс и линия

  • Начальные классы и интерфейсы для многопоточности

  • Группы потоков и приоритеты потоков

  • Состояние потока и основной метод преобразования

  • связь между потоками

  • Изменение порядка и происходит-до

  • volatile

  • синхронизируется и блокируется

  • CAS и атомарные операции

  • AQS

  • Дела по расписанию

  • Принцип потоковых параллельных вычислений

  • Frok/Join

  • средства связи

  • CopyOnWrite

  • контейнер с параллельным сбором

  • Блокировка интерфейсов и классов

  • очередь блокировки

  • Принцип пула потоков

15. Виртуальная машина Java

  • Структура памяти Java

  • куча

  • куча

  • вывоз мусора

  • Область памяти JVM

  • Стек виртуальной машины Java

  • файл класса

  • инструкции байт-кода

  • Настройка параметров JVM

  • Объектная модель Java

  • HotSpot

  • механизм загрузки классов

  • Компиляция и декомпиляция

  • Инструмент декомпилятора (javap)

  • JIT

  • Инструменты мониторинга производительности виртуальных машин и устранения неполадок (jps, jstack, jmap, jstat, jconsole, javap)

Как учиться систематически?

Я рекомендую набор видеороликов, учебник по Java с нулевой базой, который преподает силовой узел Лао Ду, и посмотреть его на станции B.

воооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

2. Основы работы с компьютером

Каковы основы информатики?  

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

Давайте сначала поговорим о принципе компьютерной композиции, эта часть в основном включает в себя

  • обзор компьютерной системы

  • данные и операции

  • Обзор ЦП

  • Обзор подсистемы хранения

  • Обзор шины и ввода-вывода

При изучении базовых компьютерных знаний рекомендуется изучить «Введение в информатику».  

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

Студенты, изучающие программную инженерию, также могут прочитать «Введение в программную инженерию».

3. Использование инструментов

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

Вы можете пойти на станцию ​​B, чтобы посмотреть обучающее видео Intellij IDEA.

воооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

Всем известно, что системы контроля версий очень важны! ! ! ! ! !

Даже если вы просто программируете в одиночку, это может помочь вам создавать моментальные снимки вашего проекта, документировать каждое изменение, создавать разные ветки и многое другое.

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

Существует множество систем контроля версий, наиболее ярким представителем которых является Git.  

Если вы хотите хорошо изучить Git, вы можете посмотреть этот набор обучающих видеороликов по Git.  

woooooooo.scaler.com/video/BV1IV…

В-четвертых, база данных

Стажировка Java — это не что иное, как добавление, удаление, изменение и проверка.Не питайте слишком много иллюзий.По сути, стажировка любого человека начинается с CRUD. Если вы хотите изучить MySQL, рекомендуется ознакомиться со следующим набором  

Woohoo. Масштаб Proportion.com/video/BV1 узнал…

Очень классические видеоуроки на станции B получили восторженные отзывы, охватывающие все точки знаний MySQL.

С таким сочетанием ударов, я думаю, найти стажировку совершенно не проблема.

Это также навык, которым должен овладеть Java-программист, и он незаменим!

Пять, веб-интерфейс

Хотя Coder разработан как серверная часть Java, перед лицом законченного проекта он имеет неотъемлемую связь с интерфейсной частью.  

Простые внешние знания, которые нам все еще нужно знать.  

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

Базовая технология интерфейса (HTML/CSS/JavaScript)

  HTML:

вооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

CSS:

Woohoo.Proportion.com/video/BV1 каждый день…

JavaScript:

вооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

Также порекомендуйте некоторые учебные пособия по изучению знаний, с которыми вы столкнетесь

Основы Linux (для веб-сервера)

воооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

Vue.js (самый простой интерфейсный фреймворк для начала работы)

воооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо по

6. JavaWeb

После веб-фазы идет JavaWeb.

Порекомендуйте эти два набора видео, разные версии, просто следуйте видео, чтобы узнать

JavaWeb [версия IDEA]

вооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо по

JavaWeb [классическая версия Eclipse]

уууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу

7. Рамки

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

Основное содержание:

  • Spring

  • Spring MVC

  • MyBatis

  • Spring Boot

Для изучения SSM (Spring+Spring MVC+MyBatis) вы можете посмотреть следующее видео.

ууууууууу. Масштаб пропорций.com/video/BV1UG…

Чтобы узнать о Spring Boot, вы можете посмотреть видео ниже.

WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO непосредственно пропорционально вам

Изучив SSM + Spring Boot, вы можете начать работу с практическими проектами, такими как vhr и mall на GitHub, которые являются хорошими практическими проектами и настоятельно рекомендуются.  

8. Интернет-распределенная технология

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

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

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

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

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

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

Теперь, когда вы вступили в интернет-кружок и стали членом сообщества программистов, вы должны придерживаться концепции «всегда учиться» и часто обновлять свою собственную технологическую библиотеку.Это действительно не преувеличение для профессиональных программистов Java!

Рекомендуемые видео:  

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