**Java** (маўленне *джа́ва*) — аб’ектна-арыентаваная мова праграмавання, распрацаваная карпарацыяй «Sun Microsystems» на пачатку 1990-х гадоў. Праграмы, напісаныя на **Java**, звычайна кампілююцца ў байткод, які потым пры патрэбе пераўтвараецца ў машынны код падчас выканання. Таксама пад Java часам разумеюць праграмную платформу, для якой была напісана гэтая мова.

Мова шмат чаго пераняла ад сваіх папярэднікаў C і C++, але вылучаецца прасцейшай рэалізацыяй аб’ектаў і меншай колькасцю механізмаў нізкага ўзроўню. Скрыптавая мова JavaScript мае падобны сінтаксіс, але не мае дачынення да Java.

На цяперашні час «Sun Microsystems» пастаўляе GPL-рэалізацыю кампілятара і віртуальнай машыны Java.

Станам на верасень 2022 года апошняя версія мовы — Java 19, доўгатэрміновая падтрымка (LTS) працягваецца для версій Java 17, 11 і 8.

Гісторыя
--------

Java стала вынікам працы адмыслоўца з карпарацыі Sun Microsystems Джэймса Гослінга над праектам «Oak» (Дуб) у чэрвені 1991 года. Гослінг мэтай сваёй працы паставіў распрацоўку віртуальнай машыны і мовы праграмавання для яе, з сінтаксісам і прынцыпамі, падобнымі да C/C++. Першая версія мовы Java 1.0 з’явілася ў 1995 годзе. Галоўным прынцыпам гэтага праекту стаў лозунг «Write Once, Run Anywhere» (WORA), што ў перакладзе на беларускую мову гучыць як «Пісаць адзін раз, запускаць усюды», што абяцала гарантыю нармальнай работы аднаго і таго ж коду на любых падтрымліваемых платформах. Віртуальная машына забяспечвала даволі высокі ўзровень бяспекі (магчымасць абмежавання сеткавых, дыскавых аперацый і інш.), прычым яго можна было змяняць пры патрэбе. Праз некаторы час большасць папулярных вэб-браўзераў пачалі падтрымліваць бяспечнае выкананне аплетаў Java, убудаваных у старонкі сеціва. Пачынаючы з версіі «Java 2», Sun Microsystems выпускае некалькі розных пакункаў Java для розных платформаў. Напрыклад, версія J2EE прызначана для праграм з высокімі патрабаваннямі да апаратнага забеспячэння, а версія J2ME, наадварот, прызначана для мабільных платформ.

У лістападзе 2006 г. Sun выпусціла частку зыходнага кода Java пад адкрытай ліцэнзіяй GPL. 8 траўня 2007 года Sun скончыла працэс адкрыцця ўсяго галоўнага кода Java, за выключэннем невялікай часткі кода, на якую Sun не мела аўтарскіх правоў. З дапамогай праекта IcedTea, які з дазволу Sun распрацоўвала кампанія Red Hat, у чэрвені 2008 г. Java стала поўнасцю адкрытай.

Асаблівасці
-----------

1. Аб’ектна-арыентаваныя тэхналогіі праграмавання
2. Магчымасць выканання аднаго выканальнага файла на розных аперацыйных сістэмах
3. Падтрымка камп’ютарных сетак
4. Бяспечнае выкананне праграм аддалена, з іншага камп’ютара
5. Простасць выкарыстання, заснаваная на рэалізацыі толькі дзейсных метадаў аб’ектна-арыентаванага праграмавання
6. Аўтаматычнае збіранне смецця

Прыклад
-------

Прыклад напісання праграмы Hello world:

```
public class HelloWorldApp {
 public static void main(String[] args) {
 System.out.println("Hello World!");
 }
}

```

Паводле правіл мовы зыходны файл павінен называцца адпаведна публічнаму класу, які ён змяшчае, з дадаткам суфікса `.java`, напрыклад, `HelloWorldApp.java`. Кампілятар Java скампілюе зыходны файл у байт-код і створыць файл з суфіксам `.class` (у паказаным выпадку `HelloWorldApp.class`) — пасля гэтага яго можна выканаць.

Спасылкі
--------

* Афіцыйны сайт Java  (англ.)
* Дакументацыя Javadoc  (англ.)
* Беларуская Java User Group — супольнасць беларускіх Java-распрацоўшчыкаў

| ⛭Мовы праграмавання |
| --- |
| 
* Ada
* ActionScript
* ALGOL
* APL
* Асэмблер
* BASIC
* C
* C++
* C#
* COBOL
* Delphi
* Erlang
* Forth
* Fortran
* Go
* Haskell
* Java
* JavaScript
* Kotlin
* Lisp
* Logo
* Lua
* Modula-2
* Objective-C
* Pascal
* Perl
* PL/I
* PHP
* Prolog
* Python
* R
* Ruby
* Rust
* Scala
* SQL
* Scheme
* Smalltalk
* Swift
* Zig
* *больш...*

 |
|  Спіс паводле катэгорый |

|  |  |
| --- | --- |
| ⚙️   У сацыяльных сетках | X |
| Тэматычныя сайты | Open Hub |
| Слоўнікі і энцыклапедыі | Вялікая кітайская · Вялікая нарвежская · Britannica (онлайн) · Brockhaus · Treccani |
| 

| Нарматыўны кантроль |
| --- |
| BNE: XX540033 · BNF: 12533207m · GND: 4401313-9 · LCCN: sh95008574 · Microsoft: 548217200 · NKC: ph117027 |

 |



1. ↑