# Java

### от Уикипедия, свободната енциклопедия

Java
Парадигма: | обектно ориентиран
Излиза през: | 1990 те
Разработен от: | en:Sun Microsystems
Система типове: | строга, статична
Главни реализации: | много
Диалекти: | няма
Повлиян от: | Objective-C, C++, Smalltalk
Повлиял: | C#
Сайт: | http://java.sun.com/

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

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

Подобна реализация има своите предимства и недостатъци. Сред главните предимства са:

- лесната преносимост между различните платофрми (софтуерни или хардуерни) - веднъж написана и компилирана, една Java-програма може да бъде стартирана на компютри независимо от архитектурата или от операционната им система. За целта е необходимо само да се инсталира виртуална машина за съответната платформа;
- допълнителните действия, извършвани от виртуалната машина като освобождаване на паметта от обекти(класове) които не се използват(Garbage collector), проверка за размерността на масивите;
- възможността за контрол на правата на потребителя на ниво виртуална машина
- първоначално заделяна на heap, част от паметта резервирана за джава
- висока степен на сигурност поради факта че програмистите на работят директно с паметта и др.

Главен недостатък е необходимостта от допълнителни ресурси (под формата на процесорно време и памет) за изпълнението на самата виртуална машина.

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

Ранните версии на виртуалните машини страдат от слаба производителност поради необходимостта от компилиране на байт кода до машинен код. Този проблем е решен в значителна степен след въвеждането на JIT компилатора във виртуалната машина.

### [редактиране] Факти за езика

Java е обектно-ориентиран и основна концепция са класовете, които се дефират свойствата (атрибутите) и поведението (методите) на обектите. Няма глобални променливи и функции - всчко се дефинира в класове. Липсва и множественото наследяване от C++ в някаква степен заместени от интерфейсите. Пример за противното е C++. Синтаксисът на Java е сходен до този на C++ и преминаването от C++ към Java е лесно.

### [редактиране] Версии на Java

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

- Java Standard Edition - базовата версия която се използва за разработка на клиентски приложения и т.нар. Java аплети.
- Java Enterprise Edition - базирана е върху Standard Edition, използва се най-често при сървърните приложения в интернет под формата на т.нар. Java сървлети и Java Server Pages (JSP), но освен това включва и голям брой други софтуерни технологии.
- Java Micro Edition - самостоятелна олекотена версия за работа на устройства с ограниченa изчислителнa мощност като мобилни телефони, смартфони, PDA устройства и др.

Към настоящият момент са известни следните версии на езика:

- 1.0
- 1.1
- 1.2 с пазарно наименование Java 2, с което наименование се разпространяват и следващите версии. Тази версия включва значителни промени в API включени към езика
- 1.3
- 1.4
- 1.5 с пазарно наименование Java 5. Тази версия включва значителни промени както в API, така и в синтаксиса на езика.
- 1.6 с пазарно наименование Java 6. Тази версия на езика включва допълнения към API и по-бърза виртуална машина.

## [редактиране] Исторически факти

Първоначалната версия на езика, наричана още Oak, е разработвана в продължение на 18 месеца — от пролетта на 1991 до лятото на 1992 — от Патрик Нотън (Patrick Naughton), Майк Шеридан (Mike Sheridan) и Джеймс Гослинг (James Gosling), както и от още десет разработчика. Поръчката е била на компютърния производител Sun Microsystems. Проектът е носил името „The Green Project“ (Зеленият проект). Един от основните разработчици е Джеймс Гослинг, който се смята и за един от бащите на езика. Истинския пробив започва с версиите 1.3 и 1.4 през 1998. Днес Java е много широко разпространена в сървърните приложения.

## [редактиране] Синтаксис

### [редактиране] Примерът "Здравей, свят!"

В този пример на конзолен екран се извежда текстът „Здравей, свят!“:

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Здравей, свят!");
        }
     }

Забележка: Частите от програмата са оцветени различно, за да се подчертае принадлежността им по смисъл от гледна точка на езика Java. Повечето съвременни редактори на програми поддържат подобно оцветяване.

### [редактиране] Основни типове данни

Тип | Описание | Брой битове | Стойности
--- | --- | --- | ---
boolean | Логическа стойност | 1 | true, false
byte | Цяло число | 8 | -128 до 127
char | Цяло (неотрицателно) число или знак | 16 | 0 до 65535 или \u0000 до \uffff
short | Цяло число | 16 | - 32768 до 32767
int | Цяло число | 32 | - 2147483648 до 2147483647
long | Цяло число | 64 | - 9223372036854775808 до 9223372036854775807
float | Дробно число | 32 | ± 1,40239846x10−45 до ±3,40282347x10+38
double | Дробно число | 64 | ±4,94065645841246544x 10−324 до ±1,79769313486231570x10+308

### [редактиране] Ключови думи

Следните думи не могат да се използват в имената на функции или променливи:

    abstract   do         if         package    synchronized
    boolean    double     implements private    this
    break      else       import     protected  throw
    byte       extends    instanceof public     throws
    case       false      int        return     transient
    catch      final      interface  short      true
    char       finally    long       static     try
    class      float      native     strictfp   void
    const      for        new        super      volatile
    continue   goto       null       switch     while
    default

### [редактиране] Коментари

// ... - коментари до края на реда
/* ... */ - Блок-коментар
/** ... */ - Java-Doc коментар

## [редактиране] Външни препратки

- Страницата за теглене на Java Runtime Environment
- Sun Microsystems за Java
- IBM за Java
- HP за Java

Езици за програмиране

Ada | ALGOL | APL | AspectJ | BASIC | COBOL | C | C++ | C# | D | ColdFusion | Delphi | Eiffel | Forth | FORTRAN | Haskell | Java | JavaScript | Jython | Lisp | Logo | Lua | Mesa | ML | Modula-2 | Oberon | Pascal | Objective-C | Perl | PHP | PL/I | PostScript | Powerbuilder | Prolog | Python | Ruby | Scheme | Smalltalk | Tcl/Tk | Visual Basic

Взето от „http://bg.wikipedia.org../../../j/a/v/Java.html“.

Категории: Езици за програмиране | Компютърни езици

##### Views

- Статия
- Беседа
- Текуща версия

##### Търсене

##### На други езици

- العربية
- Azərbaycan
- Žemaitėška
- Беларуская
- Беларуская (тарашкевіца)
- Bosanski
- ᨅᨔ ᨕᨘᨁᨗ
- Català
- Mìng-dĕ̤ng-ngṳ̄
- Česky
- Dansk
- Deutsch
- Ελληνικά
- English
- Esperanto
- Español
- Eesti
- Euskara
- فارسی
- Suomi
- Français
- Galego
- עברית
- Hrvatski
- Magyar
- Interlingua
- Bahasa Indonesia
- Íslenska
- Italiano
- 日本語
- 한국어
- Lietuvių
- Latviešu
- Македонски
- മലയാളം
- Bahasa Melayu
- Nederlands
- ‪Norsk (nynorsk)‬
- ‪Norsk (bokmål)‬
- Polski
- Português
- Русский
- Simple English
- Slovenčina
- Slovenščina
- Shqip
- Српски / Srpski
- Svenska
- தமிழ்
- ไทย
- Tagalog
- Türkçe
- Українська
- Tiếng Việt
- 中文