Въведение в Java

⚡ Умно обобщение

Въведение в Java обяснява универсален, базиран на класове, обектно-ориентиран език за програмиране, който служи и като изчислителна платформа. Този урок обхваща JavaИсторията, версиите, функциите, основните компоненти (JDK, JVM, JRE), изданията на платформата и механизмът на байткод, който го прави... Java истински език за писане веднъж, който може да се изпълнява навсякъде.

  • Основна дефиниция: Java е универсален, базиран на класове, обектно-ориентиран език за програмиране и платформа за изпълнение, проектирана за преносимост и надеждност.
  • 🧩 Три компонента: - Java Платформата включва JDK за разработка, JVM за изпълнение и JRE за поддръжка по време на изпълнение.
  • 📜 Акценти от историята: Първоначално наречен OAK през 1991 г., преименуван Java през 1995 г. и придобита от Oracle от Sun Microsystems през 2009 г.
  • 🌐 Четири издания: Java ЗНАМ, Java ЕЕ (сега Джакарта ЕЕ), Java АЗ и JavaFX е насочен към настолни компютри, корпоративни системи, вградени устройства и богати клиенти.
  • 🔁 Независимост на платформата: Java Изходният код се компилира в байткод, който работи на всяка JVM, което позволява истинска преносимост между операционни системи с еднократно записване и изпълнение навсякъде.

Въведение в Java - Как Java Виртуалната машина работи

Какво е Java?

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

Каква е Java Платформа?

- Java платформа е колекция от програми, която помага на разработчиците да създават и изпълняват Java приложенията ефективно. Той обединява механизъм за изпълнение, компилатор и набор от библиотеки, заедно със спецификациите, които определят как те взаимодействат. Джеймс Гослинг разработи Java платформа в Sun Microsystems и Oracle Корпорацията го придоби чрез придобиването на Sun през 2009 г.

Това видео представя Java платформа и обяснява защо Java е едновременно платформа и език за програмиране:

Кликнете тук ако видеото не е достъпно.

Какво е Java Използвани за?

Ето някои от най-важните приложения в реалния свят на Java:

  • Развиванеping Android Приложения.
  • Изграждане на корпоративен софтуер за големи организации.
  • Захранване на широка гама мобилни устройства Java приложения.
  • Изпълняване на приложения за научни изчисления.
  • Управление на канали за анализ на големи данни.
  • Програмиране на вградени хардуерни устройства.
  • Сървърни технологии като Apache, JBoss, GlassFish и Tomcat.

История на Java Програмен език

Ето важните забележителности от историята на Java език:

  • - Java език първоначално се нарича OAK.
  • Първоначално е разработен за работа с преносими устройства и приемници, където OAK се оказа търговски неуспешен.
  • През 1995 г. Sun преименува езика на „Java„и го префокусира, за да се възползва от бързо разрастващата се световна мрежа.“
  • В 2009, Oracle Corporation придоби Sun Microsystems и пое собствеността върху три ключови софтуерни актива на Sun: Java, MySQL, и Solaris.

Java Версии

Ето кратка история на Java версии и техните дати на издаване, актуализирани чрез най-новото издание за дългосрочна поддръжка:

Java версия Дата на излизане
JDK алфа и бета 1995
JDK1.0 23rd Jan 1996
JDK1.1 19th февруари 1997
J2SE 1.2 8 Дек 1998
J2SE 1.3 8th май 2000
J2SE 1.4 6th февруари 2002
J2SE 5.0 30th септември 2004
Java SE 6 11 Дек 2006
Java SE 7 28 юли 2011
Java SE 8 (LTS) 18th Mar 2014
Java SE 9 21 септември 2017 г
Java SE 10 20th Mar 2018
Java SE 11 (LTS) 25th септември 2018
Java SE 12 19th Mar 2019
Java SE 13 17th септември 2019
Java SE 14 17th Mar 2020
Java SE 15 15th септември 2020
Java SE 16 16th Mar 2021
Java SE 17 (LTS) 14th септември 2021
Java SE 18 22 март 2022 г
Java SE 19 20th септември 2022
Java SE 20 21st Mar 2023
Java SE 21 (LTS) 19th септември 2023
Java SE 22 19th Mar 2024
Java SE 23 17th септември 2024
Java SE 24 18th Mar 2025
Java SE 25 (LTS) 16th септември 2025

Java Характеристики:

Ето някои от най-важните Java характеристики, които го поддържат актуален в продължение на почти три десетилетия:

  • Това е един от най-лесните за изучаване обектно-ориентирани езици за програмиране.
  • „Пишете веднъж, изпълнявайте навсякъде“ – код, компилиран на една машина, работи на почти всяка компютърна платформа.
  • Java е платформено независим благодарение на своя модел на изпълнение на байткод.
  • Той е проектиран от самото начало за обектно-ориентирани приложения.
  • Това е многонишков език с автоматично управление на паметта (събиране на боклук).
  • Той е създаден за разпределената среда на интернет.
  • Той улеснява разпределените изчисления поради мрежово-центричния си дизайн.

Компоненти на Java Програмен език

A Java Програмистът пише код на език, разбираем за човек, наречен изходен кодПроцесорът никога не разбира директно изходния код — процесорите изпълняват само машинен код, а този машинен код се различава в различните семейства процесори. За да се преодолее тази празнина, Java Платформата превежда изходния код в преносима междинна форма. Всичко това се случва в рамките на три основни компонента: JDK, JVM и JRE.

Java Комплект за разработка (JDK)

JDK е среда за разработка на софтуер, използвана за изграждане на аплети и Java приложения. Пълната форма на JDK е Java Комплект за разработка. Java разработчиците могат да го използват на Windows, macOS, Solarisи Linux. JDK им помага да кодират и изпълняват Java програми. Възможно е да инсталирате повече от една JDK версия на един и същи компютър.

Защо да използваме JDK?

  • JDK съдържа инструментите, необходими за писане Java програми и JRE за тяхното изпълнение.
  • Включва компилатор (javac), Java програма за стартиране на приложения, AppletViewer и подобни помощни програми.
  • Компилаторът преобразува код, написан на Java в байткод.
  • - Java инструментът за стартиране на приложения отваря JRE, зарежда необходимия клас и изпълнява главния му метод.

Java Виртуална машина (JVM)

- Java Виртуална машина (JVM) е двигател, който осигурява среда за изпълнение на шофиране Java код или приложения. Той преобразува Java байткод в машинен език. JVM е част от Java Runtime Environment (JRE). В други езици за програмиране компилаторът създава машинен код за определена система. Въпреки това, Java компилаторът създава код за виртуална машина, известна като Java Виртуална машина.

Защо JVM?

  • JVM предоставя независим от платформата начин за изпълнение Java изходен код.
  • Той разполага с множество библиотеки, инструменти и рамки, налични веднага след инсталирането му.
  • След като компилирате Java програма, можете да я стартирате на всяка платформа, което спестява значително време.
  • JVM се доставя с JIT (Just-In-Time) компилатор, който преобразува байткод в ниско ниво на машинен език по време на изпълнение, което често го прави по-бърз от интерпретирано приложение.

Java Среда за изпълнение (JRE)

JRE е софтуер, предназначен за изпълнение на друг софтуер. Той съдържа библиотеки с класове, клас за зареждане и JVM. С прости думи, ако искате само да стартирате Java програма (а не да разработвате такава), ви е необходима JRE, а не пълният JDK.

Защо да използваме JRE?

  • JRE съдържа библиотеки с класове, JVM и други поддържащи файлове. Не включва инструменти за разработчици, като например дебъгер или компилатор.
  • Той използва важни класове пакети, включително math, swing, util, lang, awtи библиотеки за изпълнение.
  • Ако трябва да бягате Java аплети или приложения, JRE трябва да бъде инсталирана на вашата система.

Различни видове Java Платформи

Има четири различни Java платформи за програмни езици, всяка от които е настроена към различна цел за внедряване:

1. Java Платформа, стандартно издание (Java SE): Java API на SE предлага Java основната функционалност на езика за програмиране. Той дефинира всичко - от базови типове и обекти до класове от високо ниво, използвани за работа в мрежа, сигурност, достъп до бази данни, разработване на графичен потребителски интерфейс (GUI) и XML парсинг.

2. Java Платформа, Enterprise Edition (Jakarta EE, преди това Java EE): Платформата Jakarta EE предлага API и среда за изпълнение за разработкаping и изпълнение на високо мащабируеми, мащабни, многослойни, надеждни и сигурни мрежови приложения. Oracle прехвърли платформата на Eclipse Foundation през 2017 г., което го преименува на Jakarta EE.

3. Java Платформа, Микро издание (Java АЗ): - Java Платформата ME предлага API и виртуална машина с малък отпечатък за изпълнение Java приложения на малки устройства, като например обикновени телефони и вградени контролери.

4. JavaFX: JavaFX е платформа за разработкаping богати интернет приложения, използващи лек потребителски интерфейс API. Използва хардуерно ускорена графика и медийни двигатели, които помагат Java Възползвайте се от по-високопроизводителни клиенти, модерен външен вид и високо ниво на API за свързване към мрежови източници на данни.

За да разберем Java език за програмиране, трябва да преразгледаме някои основни концепции за това как една компютърна програма изпълнява команди и действия.

Какво е компютър?

Компютърът е електронно устройство, способно да извършва изчисления. Състои се от монитор, клавиатура, мишка и памет за съхраняване на информация. Най-важният компонент обаче е ПРОЦЕСОРЪТ. Процесорът извършва цялата мисловна дейност на компютъра - но как всъщност го прави? Как разбира текст, изображения и видеоклипове?

Какво е компютър - основни компоненти
Какво е компютър?

Какво е Assembly език?

Компютърът е електронно устройство, така че той разбира само електронни сигнали - двоични сигнали. Електронен сигнал от 5 волта може да представлява двоично число 1, докато 0 волта може да представлява двоично число 0. Вашият компютър е непрекъснато бомбардиран с тези сигнали.

Двоични сигнали, обработени от компютър

Осем бита от тези сигнали са групирани заедно, за да интерпретират текст, числа и символи.

Осембитова групаping за текст и символи

Например, символът # се идентифицира от компютъра като 10101010. По подобен начин, шаблонът за функция „събиране“ се представя с 10000011.

Двоично представяне на компютърни инструкции

Това е известно като 8-битови изчисления. Съвременните процесори са способни да декодират 64-битови инструкции едновременно. И така, какво общо има тази концепция с... JavaНека разгледаме един пример.

Да предположим, че искате да кажете на компютъра да събере две числа (1 + 2), представени с някакви двоични числа (10000011). Как да съобщите това на компютъра си? Използвате асемблерен език, за да изпълните кода си.

"Assembly Езикът е най-елементарната форма на езиците за разработка на софтуер.“

Издавате команди в следния формат. Кодът за събиране на две числа на асемблерен език би изглеждал така:

Assembly пример за събиране на две числа на език

  • Запазете номер 1 на място в паметта А.
  • Запазете номер 2 на място в паметта B.
  • Добавете съдържанието на местоположения A и B.
  • Запазете резултата.

През 1950-те години на миналия век, когато компютрите бяха огромни и енергоемки, се преобразуваше асемблерен код в съответен машинен код (1 и 0), използвайки map.ping листове. След това кодът се щанцоваше в машинни карти и се подаваше към компютъра. Компютърът четеше тези кодове и изпълняваше програмата. Това беше дълъг процес - докато не пристигна АСЕМБЛЕРЪТ, за да автоматизира преобразуването.

Какво представляват асемблерът и компилаторът?

С напредъка на технологиите бяха изобретени входно/изходните устройства. Можете да въведете програмата си директно в компютъра, използвайки ASSEMBLER, който я преобразува в съответния машинен код (110001…) и го подава към процесора. Връщайки се към нашия пример 1 + 2, асемблерът преобразува асемблерния код в машинен код като изход.

Асемблерът преобразува асемблерния код в машинен код

Освен асемблирането, трябва също да се извикват функции, предоставени от операционната система, за да се покаже резултатът.

Само асемблерът не е достатъчен; той се нуждае и от КОМПИЛАТОР, който да компресира дългия изходен код на по-малки, оптимизирани парчета. При езиците за разработка на софтуер от по-високо ниво, целият фрагмент от асемблер по-горе се свива до един ред, например printf("%d", 1+2)Компилаторът преобразува вашия C език код в асемблерски код; след това асемблерът го преобразува в машинен код transmitсвързано с процесора. Най-разпространеният процесор, използван в персоналните компютри, е процесорът Intel.

Компилатор и асемблер конвейер

Съвременните компилатори често включват асемблера, за да могат да конвертират код на език от по-високо ниво директно в машинен код.

Сега, да предположим Windows работи на процесор Intel — комбинацията от операционна система и процесор се нарича ПЛАТФОРМА. Най-разпространената платформа е Windows на Intel, известна още като платформата Wintel. Други популярни платформи включват AMD, Linux, PowerPC и macOS.

С промяна на процесора, инструкциите за асемблиране също се променят. Например:

  • Инструкцията „добавяне“ на Intel може да се нарече ADDITION на AMD.
  • Или „Math ADD“ на PowerPC.

И с промяна в операционната система, нивото и естеството на повикванията на ниво операционна система също се променят.

Като разработчик, искате вашият софтуер да работи на всяка платформа, за да увеличите максимално обхвата. Това означава, че ще трябва да закупите отделни компилатори, които конвертират вашия printf команда в оригиналния машинен код за всяка цел.

Компилатори за множество платформи

Компилаторите са скъпи и винаги съществува риск от проблеми със съвместимостта между различните операционни системи. Купуването и инсталирането на отделен компилатор за всяка комбинация операционна система и процесор не е практично. И така, каква е алтернативата? Въведете... Java език.

Как ли Java Работа с виртуална машина?

Чрез използване на Java Виртуална машина, този проблем може да бъде решен. Но как работи на различни процесори и операционни системи? Нека го разгледаме стъпка по стъпка.

Как Java Виртуалната машина работи стъпка по стъпка

Стъпка 1) Кодът за показване на събирането на две числа — System.out.println(1+2) — се запазва като .java файл.

Стъпка 2) Използване на Java компилатор (javac), кодът се преобразува в междинен код, наречен байткодИзходът е .клас файл.

Стъпка 3) Този байткод не се разбира от никоя физическа платформа, а само от виртуална платформа, наречена Java Виртуална машина.

Стъпка 4) JVM се намира в RAM паметта на вашата операционна система. Когато JVM получи този байткод, тя идентифицира платформата, на която работи, и преобразува байткода в машинен код в движение.

Докато работите на компютъра си или сърфирате в интернет, винаги когато видите Javaсвързани с икони, можете да сте сигурни, че JVM е заредена във вашата RAM памет. Какво прави Java attracПредимството е, че компилираният код може да работи не само на всяка PC платформа, но и на мобилни телефони и други електронни устройства, които поддържат Java.

"Java е език за програмиране, както и платформа.“

Как е Java Независимо от платформата?

За разлика от C компилатора, Java компилаторът не създава естествен изпълним код за конкретна машина. вместо това Java създава уникален междинен формат, наречен байткодБайткодът се изпълнява съгласно правилата, посочени в спецификацията на JVM, поради което Java е език, независим от платформата.

Байткодът е разбираем за всяка JVM, инсталирана на всяка операционна система. Накратко, Java изходният код може да работи на всяка съвременна операционна система без рекомпилация, което е основата на Javaобещанието на „пиши веднъж, изпълнявай навсякъде“.

Въпроси и Отговори

JDK е комплектът за разработка, съдържащ компилатор и инструменти. JRE е средата за изпълнение, която включва JVM и библиотеки с класове, необходими за изпълнение. Java програми. JVM е двигателят в JRE, който преобразува байткода в машинен код по време на изпълнение.

Да. Java остава изключително актуален за корпоративните системи, Android приложения, финансови платформи, големи данни и микросървиси. Съвременни издания като Java 21 и Java 25 LTS добавят записи, виртуални нишки, съпоставяне на шаблони и подобрена производителност, за да се запази Java конкурентен.

Начинаещите трябва да инсталират версия с дългосрочна поддръжка (LTS). Java SE 25, издадена през септември 2025 г., е най-новата LTS версия, с Java 21 и Java 17 все още се използва широко. LTS версиите получават разширени корекции за сигурност и стабилна поддръжка от доставчиците.

Изкуственият интелект се използва с Java за машинно обучение в предприятията, откриване на измами, системи за препоръки и чатботове. Библиотеки като DJL, Deeplearning4j и Tribuo внасят дълбоко обучение в JVM, докато асистентите за кодиране с изкуствен интелект ускоряват Java рефакторинг и генериране на модулни тестове.

Да. Асистентите за кодиране с изкуствен интелект обясняват Java синтаксис, генериране на практически упражнения, отстраняване на грешки и преглед на код в реално време. Начинаещите се възползват от интерактивна обратна връзка, която подчертава най-добрите практики за обектно-ориентирани приложения, поведението на JVM и често срещаните грешки, които традиционните учебници рядко срещат.

Обобщете тази публикация с: