Java

Java е името на езика за програмиране, създаден от Sun Microsystems. Тази компания е изкупена от Oracle Corporation, която продължава да го поддържа в актуално състояние. Най-новата версия е Java 14, пусната през март 2020 г. Освен това единствените поддържани версии са, последната версия Long Term Support (LTS) Java 11, пусната на 25 септември 2018 г.; и Oracle пусна за "наследената" Java 8 LTS последната безплатна "публична актуализация". Следващата планирана LTS версия е Java 17 (LTS), планирана за септември 2021 г.

Java, която по времето, когато все още се разработваше, се наричаше Oak, е обектно-ориентирана, което означава, че се основава на обекти, които работят заедно, за да изпълняват задачите на програмите. Кодът на Java прилича на този на C, C++ или C#, но кодът, написан на тези езици, в повечето случаи няма да работи в Java, без да бъде променен.

Java работи на много различни операционни системи, включително Android, най-популярната мобилна операционна система в света (въпреки че Java продължава да се използва в Android, дори и от нейния създател Google, който вече не предпочита Java; сега предпочитаният език е Kotlin, който може да се използва и с целия код на Java). Това прави Java платформено независима. Това става, като компилаторът на Java превръща кода в Java байткод вместо в машинен код. Това означава, че когато програмата се изпълнява, виртуалната машина на Java интерпретира байткода и го превежда в машинен код.

Концепции на Java

Java е разработена за постигане на пет основни цели. Те са:

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

 

Java платформа

Платформата Java се отнася за група софтуерни продукти на Sun Microsystems. Платформата се използва за разработване и изпълнение на програми на Java. Платформата включва двигател за изпълнение (наречен Java Virtual Machine), който позволява на Java програмите да правят едно и също нещо на различни компютърни системи.

Тази възможност за разработване на софтуер на една платформа и използването му на други платформи се нарича "междуплатформена способност".

Пример за Java програма

Примерна Java програма "Hello World":

/** * Това е проста програма на Java.   * Тя показва на екрана "Hello World!".   */ class HelloWorld { public static void main(String[] args) { System. out. println("Hello World!"); } }

Видове програми на Java

Съществуват много видове програми Java, които се изпълняват по различен начин:

  • Java Applet - малка програма, написана на Java, която се изтегля от уебсайт и се изпълнява в уеб браузър на клиентски компютър.
  • Приложение - изпълнява се на клиентски компютър. Ако е онлайн, то трябва да бъде изтеглено, преди да бъде стартирано.
  • JAR файл (Java архив) - използва се за пакетиране на Java файлове в един файл (почти като .zip файл).
  • Сервлет - изпълнява се на уеб сървър и помага за генерирането на уеб страници.
  • Swing приложение - използва се за създаване на приложение с графичен потребителски интерфейс (прозорци, бутони, менюта и др.).
  • EJB - работи на уеб сървър и се използва за разработване на големи и сложни уебсайтове.

Предимства

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

  • Java изисква всяка променлива да бъде инициализирана. Някои по-стари езици, като например C, позволяват променливите да не бъдат инициализирани, което може да доведе до случайни грешки с мистериозни бъгове.
  • Java изисква всеки метод да декларира тип на връщане - методът трябва винаги да връща стойност, освен ако типът му на връщане е void. Това също така предотвратява грешки.
  • Java се предлага с голям набор от класове и методи - Java API, които могат да се използват, без да се налага да се разработва толкова много код "от нулата".
  • За разлика от езика C, примитивните типове в Java, като int, са винаги с еднакъв размер по брой битове, което спомага за постигане на съвместимост между платформите.
  • Преди се смяташе, че Java е по-бавна от C, но през последните години това не е толкова важно, защото компютрите са по-бързи.
  • Java разполага с обработка на изключения, която изисква от програмиста да се справя със състояния на грешка, като например входно-изходни грешки.
  • Кодът, компилиран на една Java платформа, може да се изпълнява на други платформи, които поддържат Java, без да се променя нито изходният, нито байтовият код. Това означава, че човек може да направи програма на Java за компютър с Windows и тя да работи на компютър с Linux или Mac.

Критика

Java също е критикувана. Някои от критиките са:

  • Генериците бяха добавени в Java по такъв начин, че съществуващият код да продължи да работи. Това беше направено с помощта на изтриване на типове. Това означава, че по време на компилирането действителният тип на генеричния аргумент се премахва. Това може да доведе до неочаквано поведение на интерпретатора на Java в някои моменти.
  • Java не разполага с беззнакови целочислени типове, които езици като C използват в голяма степен. Това също така означава, че е невъзможно да се обменят директно числови данни между програми на C и Java. Криптографията също разчита до известна степен на такива типове; това затруднява писането на приложения, които използват криптография на Java.
  • IEEE е определил стандарт за аритметиката с плаваща запетая - IEE 754. Java поддържа само част от функциите на този стандарт.

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

Въпрос: Как се нарича езикът за програмиране, създаден от Sun Microsystems?


О: Езикът за програмиране, създаден от Sun Microsystems, се нарича Java.

В: Кой в момента поддържа и актуализира Java?


О: Oracle Corporation понастоящем поддържа и актуализира Java.

В: Кои са текущите версии на Java с дългосрочна поддръжка (LTS)?


О: Настоящите версии на Java с дългосрочна поддръжка (LTS) са версии 17, 11 и 8.

Въпрос: Кога беше пусната последната версия на Java?


О: Най-новата версия на Java, версия 19, беше пусната през септември 2022 г.

В: Има ли друга компания, която поддържа Java, освен Oracle?


О: Да, Eclipse Adoptium също поддържа Java поне до май 2026 г. за версия 8 и поне до септември 2027 г. за версия 17.

В: Какъв тип код използва Java?


О: Java използва обектно-ориентиран код, което означава, че се основава на обекти, които работят заедно, за да накарат програмите да изпълняват задачите си. Той прилича на C, C++ или C#, но кодът, написан на тези езици, в повечето случаи няма да работи, без да бъде променен.

Въпрос: Как Java се прави платформено независима?


О: Java се прави платформено независима, като кара компилатора да превръща кода в специален формат, наречен байткод, вместо в машинен код. Това означава, че когато програмата се изпълни, байткодът може да бъде интерпретиран от специална програма, наречена виртуална машина, която го превежда в машинен код, така че да може да работи на различни операционни системи, като например Android.

AlegsaOnline.com - 2020 / 2023 - License CC3