Java (програмски језик) — разлика између измена

Садржај обрисан Садржај додат
Нема описа измене
Нема описа измене
Ред 52:
* [[2004]]. Појављује се J2SE 5.0 – интерна ознака J2SE 1.5
* [[2006]]. Sun објављује Java SE6
* [[2010]]. Java постаје власништво компаније [[Oracle Corporation|<ref>[https://docs.oracle.com/javase/tutorial/ Oracle]] </ref>
* [[2011]]. Појављује се Java SE7
* [[2014]]. Појављује се Java SE 8
 
[[James Gosling]], [[Mike Sheridan]] и [[Patrick Naughton]], група инжињера компаније Sun, су иницирали језички пројекат Јава у јуну [[1991]]. Језик је назван Храст ({{јез-енгл|Java}}. [[Oak]]), и био је намењен за програмирање кућних електронских уређаја (телевизора, видео рекордера и сл.). Име пројекта Храст је касније промењено у Јава, по бренду Јава кафе ({{јез-енгл|Java Coffee}}), која је добила име по истоименом острву [[Јава]], тако да лого језика Јава приказује чашу вруће кафе. Постоји још једна верзија порекла имена језика, која се односи на алузију на апарат за кафу као пример кућног уређаја, за који је програмски језик првобитно креиран.<ref>[https://www.javaworld.com/article/2077265/core-java/so-why-did-they-decide-to-call-it-java-.html "Зашто се зове Јава"]</ref>
 
 
== Писање и извршавање Јава кода ==
Јава платформа, тј. Јава окружење у ком се програм извршава, седизајнирана састојије тако да што мање зависи од: специфичних карактеристика конкретног рачунарског система.
*Јава се извршава коришћењем [[Јава виртуелна машина|Јава виртуелне машине]] -ЈVМ ({{јез-енгл|[[Јаva Virtual Machine]]}}) - језгро Јаве, апстрактна машина који постоји само у [[Рачунарска меморија | меморији]].
* Јава API ({{јез-енгл| [[Application programming interface]]}}) - скуп класа и компоненти које садржи Јава, и које су на располагању програмеру за коришћење ради веће функционалности и ефикасности програма.
 
Јава је језик који се преводи и интерпретира. Јава изворни код (*.java [[фајл]]) након компајлирања, [[компилатор | компајлером]] [[javac]], се преводи у изворни код тзв. [[бајткод|бајткод]] (*.class фајл). Формирани бајткод је исти за све [[Архитектура рачунара|архитектуре рачунара]] и представља инструкције за Јава виртуелну машину.
Бајткод у Јава виртуелној машини, јава [[интерпретатор_(рачунарство)|интерпретатором]] - јаva, се дешифрује и интерпретира у извршни код, погодан за извршавање на рачунару, одговарајућем [[хардвер |хардверу]].
У зависности од [[Јава виртуелна машина|ЈVМ]], за исти изворни код можемо добити различите извршне кодове, за различите платформе.
Јава [[изворни код]] и бајткод остају исти без обзира на којој се платформи извршава програм -“Write once, run everywhere”.
 
Јавина преносивост, међутим, изазива губитак перформанси.
То је зато што се тек приликом интерпретирања бајткод преводи у машински за конкретну платформу. Ово може бити проблем ако се исти код више пута интерпретирана истој платформи.
Губитак перформанси је смањен коришћењем [[Just-in-time compilation|Just-in-time]] ({{ јез-срп| "у право време"}}) или [[ЈИТ компајлер|JIT компајлера]]. JIT компајлер преводи Јава методе у машински код за конкретну платформу на којој се користи.
 
== Уништавање објеката ==
Линија 268 ⟶ 270:
* {{Cite book|ref= harv|last=Horstmann|first=Cay S.|title=Core Java Volume I-Fundamentals|edition=9th|publisher=Prentice Hall|year=2013|isbn=978-86-7991-367-8|pages=}}
* {{Cite book|ref= harv|last=Horton|first=Ivor|title=Ivor Horton's Beginning Java 2 JDK|edition=5th|publisher=Wiley Publishing|year=2005|id=ISBN 86-7991-299-9|pages=}}
* [https://docs.oracle.com/javase/tutorial/ Oracle]
* [http://files.bruckner.cz/be2a5b2104bf393da7092a4200903cc0/PecinovskyOOP.pdf Rudolf Pecinovsky, OOP – Learn Object Oriented Thinking and Programming]
* [http://cet.rs/wp-content/uploads/2017/06/Java_2_JDK_5_Pog_01_Od_pocetka.pdf Ivor Horton, Java 2 JDK 5]