Java
обектно ориентиран език за програмиране / From Wikipedia, the free encyclopedia
Java, или джава, е обектно ориентиран език за програмиране, разработен от Sun Microsystems и пуснат в употреба през 1995 година, като част от Java платформата. Впоследствие се появяват множество други реализации включително от GNU, Microsoft, IBM, Oracle и други технологични доставчици. Изходният код, написан на Java, не се компилира до машинен код за определен микропроцесор, а се компилира до междинен език – така нареченият байткод. Байт кодът не се предава за директно изпълнение от процесора, а се изпълнява от негов аналог – виртуален процесор, наречен Java Virtual Machine (JVM).[1] Подобна реализация има своите предимства и недостатъци. Сред главните предимства са:
- лесната преносимост между различните платформи (софтуерни или хардуерни) – веднъж написана и компилирана, една Java-програма може да бъде стартирана на различни компютри, независимо от архитектурата или от операционната им система. За целта е необходимо само да се инсталира виртуална машина за съответната платформа;
- допълнителните действия, извършвани от виртуалната машина, като освобождаване на паметта от обекти (класове), които не се използват (Garbage collector), проверка за размерността на масивите;
- възможността за контрол на правата на потребителя на ниво виртуална машина
- първоначално заделяна на heap, част от паметта резервирана за джава
- висока степен на сигурност поради факта, че програмистите не работят директно с паметта и др.
Тази статия се нуждае от вниманието на редактор с по-задълбочени познания. Ако смятате, че имате необходимите знания, подобрете тази страница. |
Java | |
Парадигма | мултипарадигмален, обектно ориентиран, структуриран, императивен, използващ обобщено програмиране, рефлексивен език |
---|---|
Реализиране през | 1995 |
Автор | Джеймс Гослинг и Sun Microsystems |
Софтуерен разработчик | Oracle Corporation |
Последна стабилна версия | Java Standard Edition 11 (1.11) 25 септември 2018 г.; преди 5 години (2018-09-25) |
Типизация на данните | строга, статична |
Имплементация | OpenJDK и много други |
Програмни диалекти | Generic Java, Pizza |
Повлиян от | Objective-C, C++, Smalltalk |
Повлиява | C# |
Уебсайт | За разработчици |
Java в Общомедия |
Главен недостатък е необходимостта от допълнителни ресурси (под формата на процесорно време и памет) за работата на самата виртуална машина.
Съществуват и компилатори, които превеждат байт кода до машинен код. Недостатък при използването им е, че тогава програмата не може да се стартира на различни платформи.
Ранните версии на виртуалните машини страдат от слаба производителност поради необходимостта от компилиране на байт кода до машинен код. Този проблем е решен в значителна степен след въвеждането на JIT компилатора във виртуалната машина.
Java e език за програмиране от високо ниво с общо предназначение. Синтаксисът му е подобен на C и C++, но не поддържа много от неговите възможности с цел опростяване на езика, улесняване на програмирането и повишаване на сигурността. Програмите, написани на Java, представляват един или няколко файла с разширение .java. Тези файлове се компилират от компилатора на Java – javac до изпълним код и се записват във файлове със същото име, но различно разширение .class. Клас-файловете съдържат Java байткод инструкции, изпълним от виртуалната машина.[1]
Ето примерна версия на програмата „Hello, world!“ (в системна конзола), написана на Java:
class HelloJava {
public static void main(String[] arguments) {
System.out.println("Hello, Java");
}
}