Java (праграмная плятформа): розьніца паміж вэрсіямі

Змесціва выдалена Змесціва дададзена
Legobot (гутаркі | унёсак)
д Bot: Migrating 19 interwiki links, now provided by Wikidata on d:q1713118 (translate me)
артаграфія
Радок 17:
 
== Плятформа ==
Згодна з канцэпцыяй «напісана адзін раз, працуе ўсюды», праграма, напісаная для платформыплятформы Java, кампілюецца не ў машынны код, а ў байт-код, асяродкам выкананьня для якога зьяўляецца Java Runtime Environment(JRE). Віртуальная машына Java (JVM) — частка JRE — інтэрпрэтуе байт-код у машынныя інструкцыі, спэцыфічныя для той апаратнай і праграмнай плятформы, для якой рэалізаваная дадзеная вэрсія JRE. Такім чынам дасягаецца кросплятформенасьць праграмнага забесьпячэньня, напісанага для Java.
* Java Card: тэхналёгія, якая дазваляе запускаць у асяродку павышанае бясьпекі Java-праекты на смарт-картах і іншых прыладах, якія максымальна абмежаваныя ў памяці й выканаўчых магчымасьцях
* Java ME: набор тэхналёгіяў і спецыфікацыяўспэцыфікацыяў, прызначаных для невялікіх прыладаў, якія абмежаваныя ў памяці, спажываньні энэргіі, маюць невялікі дысплэй. Зь цягам часу былі вылучаныя дзьве галіны гэтае плятформы: Connected Limited Device Configuration (CLDC) з асаблівай увагай на невялікія мабільныя тэлефоны й Connected Device Configuration (СDС) для прыладаў, якія ня так моцна абмежаваныя ў рэсурсах і маюць пашыраныя магчымасьці, напрыклад, смартфоны.
* Java SE: базавая плятформа, якая можа быць выкарыстаная й на ўсталяваных прыладах, і на хатніх кампутарах, і на вялікіх сэрвэрах
* Java EE: плятформа, якая прапануе шырокі функцыянал, неабходны для пабудовы маштабуемых праграмных прадуктаў, якія забясьпечваюць вэб-патрэбы й патрэбы вялікіх прадпрыемстваў, як сэрвэрнае ПЗ
 
=== Java Virtual Machine ===
Канцэпцыя віртуальнае машыны Java ляжыць у аснове ўсёй Java-плятформы. Java-праграмы кампілююцца ў байт-код, аднолькавы для ўсіх апаратных асяродзьдзяў, бо інтэрпрэтатарам кода зьяўляецца JVM. Першапачаткова JVM проста правярала на бясьпеку й выконвала байт-код, які на ёй запускаецца, але, пачынаючы з вэрсіі 1.2, якая выйшла ў 1998 годзе, кампанія Sun выпускае віртуальныя машыны Java, у склад якіх уключаны кампілятар часу выкананьня (just-in-time альбо JIT compiler). Гэтая тэхналёгія дазваляе пад час выкананьня аналізаваць уваходны байт-код. Часткі праграмы, якія паўтараюцца, JIT-кампілятар перапрацоўвае ў апаратныя інструкцыі, спэцыфічныя для дадзенай аперацыйнайапэрацыйнай сыстэмы й працэсара. JIT-кампіляцыя значна паскарае працэс інтэпрытацыі, бо скампіляваны код будзе выконвацца так жа хутка, як і код, спэцыфічны для канкрэтнай сыстэмы выкананьня.
 
Java Virtual Machine дазваляе пісаць праграмныя прадукты, якія не залежаць ад плятформы, але сама JVM кросплятформенай не зьяўляецца, і кожны асяродак выкананьня мае сваю асабістую віртуальную машыну.
 
У 1996 годзе кампанія Sun выпусцілавыпусьціла першую вэрсію спэцыфікацыі Java-машыны, вядомую пад назвай «Блакітная кніга». Гэтая спэцыфікацыя дэ-факта сталася стандартам плятформы Java й дазволіла стварыць мноства альтэрнатыўных рэалізацыяў JVM. Зыходны код на мове C адной зь мінімальных рэалізацыяў віртуальнае машыны Java (Kilo Virtual Machine) прадстаўлены на афіцыйным сайце кампаніі Sun (такая Java-машына звычайна выкарыстоўваецца ў мабільных прыладах у складзе плятформы Java ME).
 
=== API плятформы Java ===
Большасьць сучасных аперацыйныхапэрацыйных сыстэмаў палягчаюць працу праграмістаў шляхам прапановы дынамічна зьвязуемых бібліятэкаў, у якіх ужо рэалізованы найбольш запатрабаваны функцыянал. Бібліятэкі й сыгнатуры іхніх мэтадаў складаюць інтэрфэйс праграмнага прыкладаньня (API). Цалкам зразумела, што API розных апэрацыйных сыстэмаў будуць адрозьнівацца адзін ад аднаго й іх прамое выкарыстаньне прывяло б да залежнасьці Java ад той ці іншай плятформы.
 
З гэтай прычыны асяродзьдзе выкананьня Java (JRE) уключае ў сябе, разам зь віртуальнай машынай, яшчэ й свой асабісты API. Можна вылучыць тры асноўныя задачы, якія ён вырашае. Па-першае, гэта рэалізацыя каранёвых клясаў, ад якіх насьледуюцца ўсе астатнія (Object, Class, Enum, Exception, Thread...), а таксама рэалізацыя трывіяльных праблемаў праграмаваньня, такіх як вылічэньне матэматычных функцыяў, праца з «доўгімі» лічбамі, сартыроўка масываў ды іншае. Па-другое, API Java высока абстрагуе задачы, вельмі спэцыфічныя для кожнай плятформы. Напрыклад, сыстэмы ўвода-вывада, праца зь сеткай і сеткавымі пратаколамі, выкарыстаньне далучаных прыладаў. І, па-трэцяе, калі ніжэйляжачая плятформа не падтрымлівае тэхналёгію, якую прадугледжвае Java, наўпрост, то сыстэма павінная працягваць карэктную працу, вынік якое павінен як мага менш адрозьнівацца ад сыстэмы да сыстэмы.
Радок 123:
 
=== Java Development Kit ===
JDK — камплект распрацоўшчыка Java, створаны карпарацыяй Sun для патрэбаў праграмістаў. У ягоны склад уваходзіць кампілятар (javac), стандартны набор бібліятэкаў плятформы, выканаўчае асяродзьдзе Java (JRE), а таксама дакумэнтацыю, прыклады й больш за дваццаць утылітаў, такіх як загрузнікзагрузьнік праграм, адладчык, прагляднік аплетаў ды інш. Усе сучасныя інтэграваныя асяродзьдзі распрацоўкі выкарыстоўваюць JDK дзеля сваёй працы, таму патрабуюць, каб JDK быў перадусталёваны, або пастаўляюцца разам зь ім.
 
Большая частка кода JDK выйшла 8 траўня 2007 года пад адкрытым ліцэнзійным пагадненьнем GNU.
Радок 139:
 
J2SE 1.2</br>
8 снежнясьнежня 1998 года</br>
Пачынаючы з гэтай вэрсіі, Java выходзіць пакетамі J2SE, J2EE, J2ME, дзе "2" сымбалізуе другое пакаленьне плятформы.</br>
Выкарыстоўваньне strictfp-клясаў і мэтадаў дазволіла зрабіць рэзультаты аперацыяўапэрацыяў з плаваючай коскай незалежнымі ад абранага працэсара. У JVM убудованы кампілятар часу выкананьня. Дададзеныя бібліятэкі для працы са стандартнымі калекцыямі дадзеных. Грунтоўна перагледжаная кляса Thread (метадымэтады suspend(), stop() і resume(), да прыкладу, з тых часоў лічацца састарэлымі.)
 
J2SE 1.3</br>
Радок 157:
Java SE 6</br>
11 сьнежня 2006 года</br>
Асноўныя намаганьні накіраваныя на павелічэньне хуткадзейнасьці празь зьмены ў рэалізацыі каранёвых бібліятэкаў, кампілятара й зборцы сьмеццясьмецьця.
 
Java SE 7</br>
28 ліпеня 2011 года</br>
Падтрымка дынамічных моваў вядзецца праз так званую шматмоўную віртуальную машыну ("машына Да Вінчы" ад Sun). Даданыя такія сынтаксічныя паляпшэньні як аўтавызначэньне тыпу пры стварэньні аб'ектаў родавых клясаў, кіраваннекіраваньне рэсурсамі ў try-блоках і выкарыстоўваньне шэрагавых тыпаў у switch-блёках.
 
Выданьне Java SE 8 анансаванае на кастрычнік 2012 годагоду.
 
== Выкарыстаньне ==
Радок 170:
Паводле Sun, JRE выкарыстоўваецца зараз болей як на 700 мільёнах пэрсанальных кампутараў. Найбольшую папулярнасьць набылі такія праграмныя прадукты абапіраючыяся на Java, як інтэграваныя асяродзьдзі праграмаваньня NetBeans ды Eclipse, файлаабменныя праграмы LimeWire, Vuze. MATLAB і прыкладаньне для сумеснай працы Lotus Notes таксама выкарыстоўваюць Java.
 
Microsoft не пастаўляе JRE у камплекце зь Windows з таго часу, як кампанія Sun падала на Microsoft судовыя пазовы. Судовыя пазовы былі зьвязаныя з тым, што Microsoft дадавала ў сваё асяродзьдзе выкананьня Java-клясы, якія працавалі выключна на Windows. Асяродзьдзе выкананьня Java пастаўляецца з [[Mac OS X]] (пазначаецца як састарэлае пачынаючы з вэрсіі 10.6.3 сакавіка 2010 годагоду, таму можа быць ня ўключанае ў будучыя вэрсіі), шмат якія дыстрыбуты Linux уключаюць у сябе вольныя рэалізацыі Java: [[GNU classpath]], [[IcedTea]].
 
=== Мабільныя прылады ===
Радок 182:
 
=== Карпарацыйнае й сэрвэрнае выкарыстаньне ===
Java сталася асновай IT-распрацоўкі ў галіне карпарацыйнага выкарыстаньня, гэта было дасягнута дзвюмадзьвюма шляхамі:
# Магчымасьць Java пасьпяхова парцаваць на вэб-сэрвэрах дазволіла ёй стацца вядучай плятформай для сувязі Інтэрнэта зь інфармацыйнамі сыстэмамі прадпрыемстваў. Выкарыстоўваючы тэхналёгіі Java, камэрцыйныя арганізацыі здолелі перанесьці частку сваіх паслугаў у доступ празь Інтэрнэт (банкавыя паслугі ў сыстэме рэальнага часу, заказ квіткоў празь Інтэрнэт)
# Java сталася стандартам у распрацоўцы праграмнага забесьпячэньня, якое выкарыстоўваецца вялікімі прадпрыемствамі. Да гэтай катэгорыі адносяцца вэб-сэрверы, сэрвэры праграмных прыкладаньняў, [[база зьвестак|базы зьвестак]], сыстэмы кіраваннякіраваньня бізнэс-працэсамі й [[Сыстэма кіраваньня зьместам|сістэмысыстэмы кіраваньня зьместам]] вэб-бачыны.
 
== Крытыка ==