Java программисты одни из самых востребованных на рынке труда.
На Java пишутся большинство Backend приложений в самых крупных банках мира.
Java — один из самых популярных языков программирования по индексу TIOBE
Много готовых библиотек и инструментов, масса источников информации
На Java написано:
- игра Minecraft Java Edition
- социальные сети Однокласcники и LinkedId
- Корпоративные приложения — Jira, Confluence
- IDE: IntellijIDEA, PyCharm
- Приложения для Андроид, чаще сейчас используется Kotlin
Особенности Java
Write once, run anywhere! (Написано однажды, работает везде!)
Скомпилированная Java-программа может быть запущена на любой платформе, где есть JVM.
- Автоматическое управление памятью
- Отсутствие указателей
- Виртуальная машина Java (Java Virtual Machine, JVM)
Маскоты Java
Cмешные персонажи олицетворяющие компьютерные языки и технологии называются маскотами (mascot). Дюк — это талисма (маскот) языка программирования Java.


Терминология
Термин | Описание |
---|---|
Java | Cтрого типизированный объектно-ориентированный язык программирования общего назначения |
Javac | Оптимизирующий компилятор языка java, включенный в состав многих Java Development Kit (JDK). Преобразует исходные тексты Java-программ в байт-код Java |
JVM (Виртуальная машина Java, Java Virtual Machine) | Программа, которая исполняет байт-код Java. Т.е. преобразует байт-код Java в инструкции процессору |
JRE (Java Runtime Environment, среда выполнения для Java) | Минимальная (без компилятора (javac) и других средств разработки) реализация виртуальной машины (JVM), необходимая для исполнения Java-приложений. Состоит из виртуальной машины Java Virtual Machine (JVM) и библиотеки Java-классов. |
JDK (Java Development Kit) | Комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE) |
IDE (Integrated development environment, Интегрированная среда разработки) | Комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО). Для программиста Java лучшая IDE является IntelliJ IDEA от компании JetBrains. |
JIT (Just-in-Time, динамическая компиляция) | Подход к реализации виртуальной машины, при котором байт-код не интерпретируется, а компилируется в машинный код для исполнения аппаратным процессором |
IDE
IntelliJ IDEA является платной, однако в России даже самые крупные компании используют пиратские версии или же программисты получают индивидуальные лицензии для студентов и преподавателей по скаченным с интернета студенческим билетам. IDE Eclipse на практике используется только для Pet-проектов или в малых фирмах, которые не крышуются и могут щемиться в отношении лицензионного ПО. Eclipse менее автоматизированная (менее умная IDE) — программировать на ней будет сложнее, дольше по времени, чем на IntelliJ IDEA, а время-деньги, поэтому я рекомендую использовать исключительно IntelliJ IDEA.
- IntelliJ IDEA — https://www.jetbrains.com/idea/download/
- NetBeans — https://netbeans.org/downloads/
- Eclipse — https://eclipse.org/downloads/
История версий
Sun Microsystems в рамках проекта Green Project начинает разработку языка Oak. Над Java трудилось много людей, но основным разработчиком исторически считается James Gosling
1994 Oak переименован в Java
1996 Java Development Kit 1.0 (JDK)
1997 JDK 1.1
1998 J2SE 1.2
2000 J2SE 1.3
2002 J2SE 1.4
2004 J2SE 5.0
2006 Java SE 6
Компания Sun Microsystems открыла исходники платформы Java, включая виртуальную машину (JVM) и компилятор (javac)
Компания Sun Microsystems была куплена компанией Oracle
Google выпускает операционную систему (ОС) Android для смартфонов со встроенной JVM и Android специфичными библиотеками, однако формат байт-кода Google придумали свой, поэтому скомпилированная программа под Android не будет работать в JVM Sun или Oracle/
2011 Java SE 7 (первый релиз под брендом Oracle)
2014 Java SE 8
20 марта 2018 года Java SE 10
25 сентября 2018 года Java SE 11
14 сентября 2021 Java SE 17
На практике на 2022 год для новых проектов применяется Java SE 11, а подавляющее большинство проектов на Java SE 8. Связано это с тем, что именно для этих версий существует максимальное количество библиотек и фреймворков.
Для бизнес приложений очень важно, чтобы в коде было минимальное количество ошибок. Как мы знаем программисты совершают ошибки, которые лишь спустя какое-то время обнаруживаются и исправляются. В библиотеках и фреймворках тоже могут быть ошибки, они же написаны такими же программистами, как вы через пару лет 😉
В успешных программах всегда используется библиотеки и фреймворки!
Если вас приглашают на работу, где используется чистая Java, без библиотек и фреймворков — то скорее всего проект, над которым вы будете работать неуспешный, имеет много устаревшего кода (legacy code), а ваша зарплата будет намного ниже, чем если бы вы работали в другой компании. Бывает, конечно что за старый стек технологий много платят, но это обычно исключение. Старайтесь найти работу с более свежим стеком технологий, тогда вам будет проще расти в карьере программиста!
Подробнее о том, какие инструменты необходимо освоить, чтобы стать начинающим программистом поговорим в следующей статье!