[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Виправлено джерел: 1; позначено як недійсні: 0.) #IABot (v2.0.8.6
Функція пропозицій посилань: додано 3 посилання.
Мітки: Візуальний редактор Редагування з мобільного пристрою Редагування через мобільну версію Завдання новачку Пропоноване: додати посилання
 
(Не показані 8 проміжних версій 5 користувачів)
Рядок 1:
'''Java Platform, Standard Edition''' ('''Java SE''') є [[Комп'ютерна платформа|обчислювальною платформою]] для розробки та розгортання [[Портування|портативного коду]] для [[Настільний комп'ютер|десктопів]] і [[сервер]]ів.<ref>{{Cite web|url=http://www.oracle.com/technetwork/java/javase/overview/index.html|title=Java SE Overview|accessdate=26 лютого 2017|publisher=[[Oracle Corporation]]|archive-date=24 грудня 2014|archive-url=https://web.archive.org/web/20141224184532/http://www.oracle.com/technetwork/java/javase/overview/index.html}}</ref> Java SE раніше називалася '''платформою Java 2, стандартною версією''' ('''J2SE''').
 
Платформа використовує мову програмування [[Java]] і є частиною сімейства {{Не перекладено|[[Java (програмна платформа)|платформ Java|en|Java (software platform)}}]]. Java SE визначає ряд [[Прикладний програмний інтерфейс|API]] загального призначення&nbsp;— такі як {{Не перекладено|Список Java API|Java API|en|List of Java APIs}} для [[Java|бібліотеки класів Java]]&nbsp;— і також включає [[Java|специфікацію мови Java]] і [[Віртуальна машина Java|специфікацію віртуальної машини Java]].<ref>{{Cite web|url=https://www.jcp.org/en/jsr/detail?id=270|title=Java SE 6 Release Contents|accessdate=1 січня 2013|publisher=[[Oracle Corporation]] and/or its affiliates|archive-date=25 січня 2021|archive-url=https://web.archive.org/web/20210125121053/https://www.jcp.org/en/jsr/detail?id=270}}</ref> Один з найбільш відомих &nbsp; реалізацій Java SE є [[Java Development Kit]] (JDK) [[Oracle Corporation|корпорації Oracle]].<ref>{{Cite web|url=http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html|title=Java SE 7 Features and Enhancements|accessdate=2016-05-04|publisher=[[Oracle Corporation]]|quote=[...] JDK 7, Oracle's implementation of Java SE 7.|archive-date=7 травня 2019|archive-url=https://web.archive.org/web/20190507002915/https://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html}}</ref>
 
== Номенклатура, стандарти та специфікації ==
Платформа була відома як ''платформа Java 2, Standard Edition'' або ''J2SE'' з версії 1.2, доки ім'я не було змінено на ''Java Platform, Standard Edition'' або ''Java SE'' у версії 1.5. «SE» використовується для розрізнення базової платформи від платформ Enterprise Edition ([[Java EE]]) і Micro Edition ([[Java Platform, Micro Edition|Java ME]]). «2» спочатку мав наголосити на основних змінах, введених у версії 1.2, але був видалений у версії 1.6. Угода про іменування змінювалася кілька разів за [[Історія версій Java|історію версій Java]]. Починаючи з J2SE 1.4 (Merlin), Java SE була розроблена в рамках [[Java Community Process]], яка виробляє описи запропонованих і остаточних специфікацій для платформи [[Java Community Process|Java]] під назвою [[Java Community Process|Java Specification Requests (JSR)]].<ref>{{Cite web|url=https://jcp.org/en/jsr/overview|title=Java Specification Requests Overview|accessdate=1 січня 2013|publisher=[[Oracle Corporation]] and/or its affiliates|archive-date=15 грудня 2012|archive-url=https://web.archive.org/web/20121215060236/http://jcp.org/en/jsr/overview}}</ref> JSR 59 була парасолькою для J2SE 1.4 і JSR 176, вказувала J2SE 5.0 (Tiger). Java SE 6 (Mustang) був випущений під JSR 270.
 
[[Java EE|Платформа Java, Enterprise Edition]] (Java EE)&nbsp;— це специфікація, що включає всі [[Клас (програмування)|класи]] Java SE, а також число, яке є більш корисним для програм, які працюють на [[Сервер|серверах,]] а не [[Робоча станція|робочих станцій]] .
Рядок 28:
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/StringBuffer.html StringBuffer]</code> і <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/StringBuilder.html StringBuilder]</code>&nbsp;— класи для виконання [[Рядок (програмування)|маніпулювання рядками]] (<code>StringBuilder</code> у J2SE 5.0).
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Comparable.html Comparable]</code>&nbsp;— інтерфейс, що дозволяє узагальнювати порівняння та упорядкування об'єктів (як у J2SE 1.2).
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Iterable.html Iterable]</code>&nbsp;— інтерфейс, що дозволяє загальну ітерацію з використанням {{Не[[Цикл перекладено|Foreach циклforeach|покращеного for циклу|en|Foreach loop}}]] (як у J2SE 5.0).
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/ClassLoader.html ClassLoader]</code>, <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Process.html Process]</code>, <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Runtime.html Runtime]</code>, <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/SecurityManager.html SecurityManager]</code> і <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/System.html System]</code>&nbsp;— класи, які забезпечують «системні операції», які керують {{Не перекладено|Динамічне завантаження|динамічним завантаженням|en|Dynamic loading}} класів, створенням зовнішніх [[Процес (інформатика)|процесів]], запитами хост-середовища, такими як час доби, і виконання {{Не перекладено|Політика безпеки|політики безпеки|en|Security policy}} .
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Math.html Math]</code> і <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/StrictMath.html StrictMath]</code>&nbsp;— класи, які забезпечують основні математичні функції, такі як [[синус]], [[Тригонометричні функції|косинус]] і [[квадратний корінь]] (<code>StrictMath</code> як J2SE 1.3).
* {{Не перекладено|Класи обгортки примітивів|Класи обгортки примітивів|en|Primitive wrapper class}} які [[Інкапсуляція (програмування)|інкапсулюють]] {{Не[[Примітивний перекладено|Примітивнітип типиданих|примітивні типи|en|Primitive data type}}]] як [[Об'єкт (програмування)|об'єкти]] .
* Основні класи виключення, викинуті для рівня мови та інших загальних винятків.
 
Рядок 42:
 
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/ref/SoftReference.html SoftReference]</code> може використовуватися для реалізації [[Кеш|кешу]]. Об'єкт, який не може бути досягнутий сильним посиланням (тобто не є сильно досяжним), але на нього посилається м'яка посилання, називається «м'яко досяжним». Тендітний об'єкт може бути сміттям, зібраним на розсуд збирача сміття. Це зазвичай означає, що м'якодоступні об'єкти є тільки сміттям, яке збирається, коли вільна пам'ять низька, але знову ж таки, це на розсуд збирача сміття. Семантично, м'яка посилання означає, «Зберегти цей об'єкт, коли ніщо інше не посилається на нього, якщо тільки пам'ять не потрібна».
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/ref/WeakReference.html WeakReference]</code> використовується для реалізації слабких карт. Об'єкт, який не є сильно або м'яко доступним, але на нього посилається слабка посилання, називається «{{Не перекладено|Недосяжна пам'ять|слабодосяжна|en|Unreachable memory}}». Слабкодоступний об'єкт&nbsp;— це сміття, зібране в наступному циклі збору. Така поведінка використовується в класі [https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/util/WeakHashMap.html <code>java.util.WeakHashMap</code>]. CлабкаСлабка мапа дозволяє програмісту покласти пари ключ / значення у мапу і не турбуватися про об'єкти, що займають пам'ять, коли ключ більше не може бути досягнутий ніде. Іншим можливим застосуванням слабких посилань є {{Не перекладено|Інтернування рядків|пул інтернування рядків|en|String interning}} . Семантично, слабка посилання означає «позбутися цього об'єкта, коли ніщо інше не посилається на нього при наступному збиранні».
* <code>[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/ref/PhantomReference.html PhantomReference]</code> використовується для посилання на об'єкти, які були позначені для збору сміття і були [[Фіналізатор|завершені]], але ще не були відновлені. Об'єкт, який не є сильно, м'яко або слабкодоступним, але на нього посилається фантомне посилання, називається «phantom reachable». Це дає можливість більш гнучкого очищення, ніж це можливо тільки за допомогою механізму завершення. Семантично, фантомна посилання означає «цей об'єкт більше не потрібний і був завершений під час підготовки до збирання».
 
Рядок 89:
 
=== java.io ===
Пакет java.io містить класи, що підтримують [[Ввід/вивід|введення та виведення даних]] . Класи в пакеті в першу чергу [[Потік (програмування)|орієнтовані на потік]]; однак, клас для [[Файл|файлів]] {{Не перекладено|Випадковий[[Довільний доступ|випадкового доступу|en|Random access}}]] також надається. Центральними класами в пакеті є <code>InputStream</code> і <code>OutputStream</code>, які є [[Клас (програмування)|абстрактними]] базовими класами для читання і запису в [[Бітовий потік|байтові потоки]], відповідно. Пов'язані класи Reader і Writer є абстрактними базовими класами для читання і запису до [[Символьний тип даних|символьних]] потоків, відповідно. Пакет також має декілька різних класів для підтримки взаємодії з [[Файлова система|файловою системою]] хоста.
 
==== Потоки ====
Рядок 95:
 
* джерело / призначення потокових даних
* [[тип даних]], записаних на / з потоку
* додаткову обробку або фільтрацію виконують на потокових даних
 
Рядок 198:
 
=== java.text ===
Пакет java.text впроваджує java.text розбору для рядків і підтримує різні мови, що читаються людиною, і [[синтаксичний аналіз]].
 
=== java.util ===
Рядок 206:
 
=== java.applet ===
Створений для підтримки створення Java-аплетів, пакет java.applet дозволяє програмам завантажуватися через мережу і запускатися в java.applet пісочниці. Обмеження безпеки легко накладаються на пісочницю. Розробник, наприклад, може застосувати [[Електронний цифровий підпис|цифровий підпис]] до аплету, тим самим позначаючи його як безпечний. Це дозволяє користувачеві надавати дозвіл аплету на виконання обмежених операцій (наприклад, доступ до локальних [[Жорсткий диск|жорстких дисків]]), а також видаляє деякі або всі обмеження пісочниці. Цифрові сертифікати видаються органами [[Акредитований центр сертифікації ключів|сертифікації]].
 
=== java.beans ===
Рядок 228:
Пакет <code>javax.rmi</code> надає підтримку віддаленого зв'язку між додатками, використовуючи протокол RMI через IIOP. Цей протокол поєднує функції RMI і CORBA.
 
[http://java.sun.com/javase/technologies/core/corba/index.jsp Основні технології Java SE&nbsp;— CORBA / RMI-IIOP] {{Webarchive|url=https://web.archive.org/web/20120605114346/http://java.sun.com/javase/technologies/core/corba/index.jsp |date=5 червня 2012 }}
 
=== javax.swing ===
Рядок 236:
 
=== javax.swing.text.html.parser ===
Пакет <code>javax.swing.text.html.parser</code> надає HTML-синтаксичний аналізатор, javax.swing.text.html.parser помилки, який використовується для написання різних веб-браузеріввеббраузерів і веб-ботіввебботів.
 
=== javax.xml.bind.annotation ===
Рядок 252:
 
== Безпека ==
Було повідомлено про декілька критичних уразливостей безпеки, найостанніші у січні 2013 року.<ref>[http://www.h-online.com/security/news/item/Dangerous-vulnerability-in-latest-Java-version-1781156.html Dangerous vulnerability in latest Java version] {{Webarchive|url=https://web.archive.org/web/20181014112616/http://www.h-online.com/security/news/item/Dangerous-vulnerability-in-latest-Java-version-1781156.html |date=14 жовтня 2018 }} The H Security, Jan. 10, 2013</ref><ref>{{Cite web|url=http://blogs.computerworld.com/malware-and-vulnerabilities/21056/another-critical-java-vulnerability-puts-1-billion-users-risk|title=Another critical Java vulnerability puts 1 billion users at risk|website=[[Computerworld]] Security Blog|date=25 вересня 2012|last=Darlene Storm|accessdate=травень 20, 2019|archiveurl=https://web.archive.org/web/20130113172354/http://blogs.computerworld.com/malware-and-vulnerabilities/21056/another-critical-java-vulnerability-puts-1-billion-users-risk|archivedate=січень 13, 2013|deadurl=yes}}</ref> Оповіщення безпеки від Oracle оголошують про критичні для системи безпеки виправлення для Java SE.<ref>{{Cite web|url=http://www.oracle.com/technetwork/topics/security/alerts-086861.html|publisher=Oracle|title=Critical Patch Updates, Security Alerts and Third Party Bulletin|accessdate=20 травня 2019|archive-date=6 жовтня 2019|archive-url=https://web.archive.org/web/20191006100516/https://www.oracle.com/technetwork/topics/security/alerts-086861.html}}</ref> {{Reflist|30em}}
 
== Посилання ==
* [https://www.oracle.com/technetwork/java/javase/overview/index.html Java SE в Oracle Technology Network] {{Webarchive|url=https://web.archive.org/web/20141224184532/http://www.oracle.com/technetwork/java/javase/overview/index.html |date=24 грудня 2014 }}
* [http://wisentechnologies.com/it-courses/java-training.aspx Навчання Java] {{Webarchive|url=https://web.archive.org/web/20190518154426/http://wisentechnologies.com/it-courses/java-training.aspx |date=18 травня 2019 }}
* Java SE 10 API Javadocs
* [https://java.sun.com/reference/api/index.html Документація Java SE API] {{Webarchive|url=https://web.archive.org/web/20120808041031/https://java.sun.com/reference/api/index.html |date=8 серпня 2012 }}
* [https://www.jcp.org/en/jsr/detail?id=270 JSR 270] {{Webarchive|url=https://web.archive.org/web/20210125121053/https://www.jcp.org/en/jsr/detail?id=270 |date=25 січня 2021 }} (Java SE 6)
* [https://web.archive.org/web/20140829134921/https://jdk8.java.net/ 1.8]
* [https://web.archive.org/web/20140903094835/https://jdk7.java.net/ 1.7]