Java Platform, Standard Edition (Java SE) є обчислювальною платформою для розробки та розгортання портативного коду для десктопів і серверів. Java SE раніше називалася платформою Java 2, стандартною версією (J2SE).
Платформа використовує мову програмування Java і є частиною сімейства платформ Java. Java SE визначає ряд API загального призначення — такі як [en] для бібліотеки класів Java — і також включає специфікацію мови Java і специфікацію віртуальної машини Java. Один з найбільш відомих реалізацій Java SE є Java Development Kit (JDK) корпорації Oracle.
Номенклатура, стандарти та специфікації
Платформа була відома як платформа Java 2, Standard Edition або J2SE з версії 1.2, доки ім'я не було змінено на Java Platform, Standard Edition або Java SE у версії 1.5. «SE» використовується для розрізнення базової платформи від платформ Enterprise Edition (Java EE) і Micro Edition (Java ME). «2» спочатку мав наголосити на основних змінах, введених у версії 1.2, але був видалений у версії 1.6. Угода про іменування змінювалася кілька разів за історію версій Java. Починаючи з J2SE 1.4 (Merlin), Java SE була розроблена в рамках Java Community Process, яка виробляє описи запропонованих і остаточних специфікацій для платформи Java під назвою Java Specification Requests (JSR). JSR 59 була парасолькою для J2SE 1.4 і JSR 176, вказувала J2SE 5.0 (Tiger). Java SE 6 (Mustang) був випущений під JSR 270.
Платформа Java, Enterprise Edition (Java EE) — це специфікація, що включає всі класи Java SE, а також число, яке є більш корисним для програм, які працюють на серверах, а не робочих станцій .
Платформа Java, Micro Edition (Java ME) є пов'язаною специфікацією, призначеною для забезпечення сертифікованої колекції Java API для розробки програмного забезпечення для невеликих, обмежених ресурсами пристроїв, таких як стільникові телефони, КПК і телеприставки.
Java Runtime Environment (JRE) та Java Development Kit (JDK) — це фактично завантажені та встановлені на комп'ютері файли для запуску або розробки програм Java відповідно.
Пакети загального призначення
java.lang
Пакет Java java.lang
містить основні класи та інтерфейси, тісно пов'язані з мовою та [en]. Це включає в себе кореневі класи, які утворюють [en], типи, пов'язані з визначенням мови, основні винятки, математичні функції, потокові, функції безпеки, а також деяку інформацію про базову систему. Цей пакет містить 22 з 32 класів Error
наданих у JDK 6.
Основні класи та інтерфейси в java.lang
:
Object
— клас, який є коренем кожної ієрархії класів.Enum
— базовий клас для класів перерахування (як у J2SE 5.0).Class
— клас, що є коренем рефлексії Java.Throwable
— клас, який є базовим класом ієрархії класу виключення.Exception
іRuntimeException
— базові класи для кожного типу виключення.Thread
— клас, що дозволяє виконувати операції над потоками.String
— клас для рядків і [en].StringBuffer
іStringBuilder
— класи для виконання маніпулювання рядками (StringBuilder
у J2SE 5.0).Comparable
— інтерфейс, що дозволяє узагальнювати порівняння та упорядкування об'єктів (як у J2SE 1.2).Iterable
— інтерфейс, що дозволяє загальну ітерацію з використанням покращеного for циклу (як у J2SE 5.0).ClassLoader
,Process
,Runtime
,SecurityManager
іSystem
— класи, які забезпечують «системні операції», які керують [en] класів, створенням зовнішніх процесів, запитами хост-середовища, такими як час доби, і виконання [en] .Math
іStrictMath
— класи, які забезпечують основні математичні функції, такі як синус, косинус і квадратний корінь (StrictMath
як J2SE 1.3).- [en] які інкапсулюють примітивні типи як об'єкти .
- Основні класи виключення, викинуті для рівня мови та інших загальних винятків.
Класи в java.lang
автоматично імпортуються в кожен вихідний файл .
java.lang.ref
Пакет java.lang.ref
надає більш гнучкі типи посилань, ніж інакше доступні, дозволяючи обмежену взаємодію між програмою та збирачем сміття Java Virtual Machine (JVM). Це важливий пакет, який є достатньо центральним для мови дизайнерів мови, щоб дати йому ім'я, яке починається з «java.lang», але це кілька спеціальних цілей і не використовується багатьма розробниками. Цей пакет був доданий в J2SE 1.2.
Java має виразну систему посилань і дозволяє особливу поведінку для збору сміття. Нормальна посилання на Java відома як «сильна посилання». Пакет java.lang.ref
визначає три інші типи посилань — м'які, [en] та фантомні посилання. Кожен тип посилання призначений для конкретного використання.
SoftReference
може використовуватися для реалізації кешу. Об'єкт, який не може бути досягнутий сильним посиланням (тобто не є сильно досяжним), але на нього посилається м'яка посилання, називається «м'яко досяжним». Тендітний об'єкт може бути сміттям, зібраним на розсуд збирача сміття. Це зазвичай означає, що м'якодоступні об'єкти є тільки сміттям, яке збирається, коли вільна пам'ять низька, але знову ж таки, це на розсуд збирача сміття. Семантично, м'яка посилання означає, «Зберегти цей об'єкт, коли ніщо інше не посилається на нього, якщо тільки пам'ять не потрібна».WeakReference
використовується для реалізації слабких карт. Об'єкт, який не є сильно або м'яко доступним, але на нього посилається слабка посилання, називається [en]». Слабкодоступний об'єкт — це сміття, зібране в наступному циклі збору. Така поведінка використовується в класіjava.util.WeakHashMap
. Слабка мапа дозволяє програмісту покласти пари ключ / значення у мапу і не турбуватися про об'єкти, що займають пам'ять, коли ключ більше не може бути досягнутий ніде. Іншим можливим застосуванням слабких посилань є [en] . Семантично, слабка посилання означає «позбутися цього об'єкта, коли ніщо інше не посилається на нього при наступному збиранні».PhantomReference
використовується для посилання на об'єкти, які були позначені для збору сміття і були завершені, але ще не були відновлені. Об'єкт, який не є сильно, м'яко або слабкодоступним, але на нього посилається фантомне посилання, називається «phantom reachable». Це дає можливість більш гнучкого очищення, ніж це можливо тільки за допомогою механізму завершення. Семантично, фантомна посилання означає «цей об'єкт більше не потрібний і був завершений під час підготовки до збирання».
Кожен з цих типів посилань розширює клас Reference
, який забезпечує метод get()
для повернення сильного посилання на референтний об'єкт (або null
якщо посилання було очищено або якщо тип посилання — фантом), і метод clear()
, щоб очистити посилання.
java.lang.ref
також визначає клас ReferenceQueue
, який може використовуватися в кожній з описаних вище програм для відстеження об'єктів, які змінили тип посилання. Коли створюється Reference
, вона за бажанням зареєстрована з еталонною чергою. Програма опитує чергу посилань, щоб отримати посилання, які змінили стан досяжності.
java.lang.reflect
Рефлексія є складовою частиною Java API, що дозволяє Java-коду вивчати і «відображати» компоненти Java під час виконання і використовувати відображені члени. Класи в пакеті java.lang.reflect разом з java.lang.
Class
і java.lang. Package розміщує програми, такі як налагоджувачи, інтерпретатори, інспектори об'єктів, [en] і служби, такі як серіалізація об'єктів і JavaBeans, які потребують доступу до загальнодоступних членів цільового об'єкта (на основі його класу виконання) або членів, оголошених даним класом . Цей пакет було додано до JDK 1.1.
Рефлексія використовується для створення екземплярів класів і виклику методів, що використовують їх імена, концепція, яка дозволяє здійснювати динамічне програмування. Класи, інтерфейси, методи, поля та конструктори можуть бути відкриті та використані під час виконання. Відображення підтримується метаданими, які має JVM про програму.
Методи
Існують основні методи, які використовуються у рефлекії:
- Відкриття — це передбачає прийняття об'єкта або класу і виявлення членів, суперкласів, реалізованих інтерфейсів, а потім, можливо, використання знайдених елементів.
- Використовувати по імені — передбачає, починаючи з символічного імені елемента і використовуючи ім'я елемента.
Відкриття
Відкриття зазвичай починається з об'єкта і викликає метод Object.getClass()
щоб отримати Class
об'єкта. Об'єкт Class
має кілька методів для виявлення вмісту класу, наприклад:
getMethods()
— повертає масив об'єктів Method представляють всі загальнодоступні методи класу або інтерфейсуgetConstructors()
— повертає масив об'єктів Constructor представляють всі публічні конструктори класуgetFields()
— повертає масив об'єктівField
представляють усі загальні поля класу або інтерфейсуgetClasses()
— повертає масив об'єктівClass
представляють усі відкриті класи і інтерфейси, які є членами (наприклад, внутрішніми класами) класу або інтерфейсуgetSuperclass()
— повертає об'єктClass
представляє суперклас класу або інтерфейсу (для інтерфейсів повертаєтьсяnull
)getInterfaces()
— повертає масив об'єктівClass
представляють усі інтерфейси, які реалізовані класом або інтерфейсом
Використовуйте по імені
Об'єкт Class
може бути отриманий або за допомогою відкриття, використовуючи клас literal (наприклад MyClass.class
) або за допомогою імені класу (наприклад Class.forName("mypackage. MyClass")
). З об'єктом Class
можна отримати елемент Method
, Constructor
або Field
використовуючи символічне ім'я члена. Наприклад:
getMethod("methodName", Class...)
— повертає об'єктMethod
представляє відкритий метод, з назвою «methodName» класу або інтерфейсу, який приймає параметри, задані параметрамиClass...
getConstructor(Class...)
— повертає об'єктConstructor
представляє публічний конструктор класу, який приймає параметри, задані параметрамиClass...
getField("fieldName")
— повертає об'єктField
представляє публічне поле з ім'ям «fieldName» класу або інтерфейсу.
Об'єкти Method
, Constructor
і Field
можуть використовуватися для динамічного доступу до представленого члена класу. Наприклад:
Field.get(Object)
— повертаєObject
що містить значення поля з екземпляра об'єкта, переданогоget()
. (Якщо об'єктField
представляє статичне поле, то параметрObject
ігнорується і може бутиnull
.)- Method.invoke(Object, Object…) — повертає
Object
що містить результат виклику методу для екземпляра першого параметраObject
переданого дляinvoke()
. Інші параметриObject...
передаються методу. (Якщо об'єктMethod
представляє статичний метод, то перший параметрObject
ігнорується і може бутиnull
) Constructor.newInstance(Object...)
— повертає новий екземплярObject
з виклику конструктора. ПараметриObject...
передаються конструктору. (Зауважте, що конструктор без параметрів класу може також викликатися за допомогою виклику newInstance())
Масиви та проксі
Пакет java.lang.reflect
також надає клас Array
який містить статичні методи для створення та маніпулювання об'єктами масиву, а також J2SE 1.3 — клас Proxy
який підтримує динамічне створення класів проксі, які реалізують вказані інтерфейси.
Реалізація класу Proxy
забезпечується об'єктом, що постачається, який реалізує інтерфейс InvocationHandler . InvocationHandler
invoke(Object, Method, Object[])
InvocationHandler
invoke(Object, Method, Object[])
для кожного методу, викликаного об'єктом проксі — перший параметр є об'єктом proxy, другий параметр — об'єкт Method
представляє метод з інтерфейсу, реалізованого proxy, а третім параметром є масив параметрів, що передаються інтерфейсному методу. Метод invoke()
повертає результат Object
який містить результат, повернутий коду, який називається методом інтерфейсу proxy.
java.io
Пакет java.io містить класи, що підтримують (введення та виведення даних) . Класи в пакеті в першу чергу орієнтовані на потік; однак, клас для файлів випадкового доступу також надається. Центральними класами в пакеті є InputStream
і OutputStream
, які є абстрактними базовими класами для читання і запису в байтові потоки, відповідно. Пов'язані класи Reader і Writer є абстрактними базовими класами для читання і запису до символьних потоків, відповідно. Пакет також має декілька різних класів для підтримки взаємодії з файловою системою хоста.
Потоки
Класи потоків слідують шаблону декоратора, розширюючи базовий підклас для додавання функцій до класів потоків. Підкласи класів базового потоку зазвичай називаються для одного з таких атрибутів:
- джерело / призначення потокових даних
- тип даних, записаних на / з потоку
- додаткову обробку або фільтрацію виконують на потокових даних
XxxStreamType
потоків називаються за допомогою шаблону іменування XxxStreamType
, де Xxx
— це назва, що описує функцію, а StreamType
— один з InputStream
, OutputStream
, Reader
або Writer
.
Наступна таблиця показує джерела / призначення, які підтримуються безпосередньо пакетом java.io
:
Джерело / призначення | Ім'я | Типи потоків | In out | Класи |
---|---|---|---|---|
масив byte (byte[] ) | ByteArray | byte | in out | ByteArrayInputStream, ByteArrayOutputStream |
char масив (char[] ) | CharArray | char | in out | CharArrayReader, CharArrayWriter |
файл | File | byte , char | in out | FileInputStream, FileOutputStream, FileReader, FileWriter |
рядок (StringBuffer ) | String | char | in out | StringReader, StringWriter |
нитка (Thread ) | Piped | byte , char | in out | PipedInputStream, PipedOutputStream, PipedReader, PipedWriter |
Інші стандартні пакети бібліотеки забезпечують реалізацію потоку для інших напрямків, наприклад InputStream
повертається java.net
. Socket.getInputStream()
або Java EE javax.servlet
. Клас ServletOutputStream.
Обробка та обробка або фільтрація даних потоку даних здійснюється за допомогою фільтрів потоку. Класи фільтрів приймають інший об'єкт сумісного потоку як параметр до конструктора і прикрашають вкладений потік додатковими функціями. Фільтри створюються шляхом розширення одного з класів базового фільтра FilterInputStream, FilterOutputStream
, FilterReader
або FilterWriter
.
Класи Reader
і Writer
— це просто байтові потоки з додатковою обробкою на потоці даних для перетворення байтів у символи. Вони використовують кодування символів за замовчуванням для платформи, яка в J2SE 5.0 представлена Charset
символів, повернутим java.nio.charset
. Charset.defaultCharset()
Клас InputStreamReader
перетворює InputStream
в Reader
а клас OutputStreamWriter перетворює OutputStream
в Writer
. Обидва ці класи мають конструктори, які підтримують визначення кодування символів для використання. Якщо не вказано кодування, програма використовує кодування за умовчанням для платформи.
Операція | Ім'я | Типи потоків | In out | Класи |
---|---|---|---|---|
буферизація | Buffered | byte , char | in out | BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter |
«відсунути» останнє значення читання | Pushback | byte , char | в | PushbackInputStream, PushbackReader |
читання / запис примітивних типів | Data | byte | in out | DataInputStream, DataOutputStream |
серіалізація об'єктів (об'єкти читання / запису) | Object | байт | in out | ObjectInputStream, ObjectOutputStream |
Випадковий доступ
Клас RandomAccessFile
підтримує читання і записування файлів у випадковому доступі . Клас використовує покажчик файлу, який представляє зміщення байта у файлі для наступної операції читання або запису. Покажчик файлу переміщується неявно читанням або записом і явно викликом методів seek(long)
або skipBytes(int)
. Поточна позиція покажчика файлу повертається методом getFilePointer()
.
Файлова система
Клас File
являє собою файл або шлях до каталогу у файловій системі . Об'єкти File
підтримують створення, видалення і перейменування файлів і каталогів, а також маніпуляції з атрибутами файлів, наприклад, тільки для читання і останньої модифікації. Об'єкти File
які представляють каталоги, можна використовувати для отримання списку всіх файлів і каталогів, що містяться.
Клас FileDescriptor
— це дескриптор файлу, який представляє джерело або поглинач (призначення) байтів. Зазвичай це файл, але також може бути консольним або мережевим сокетом . Об'єкти FileDescriptor
використовуються для створення потоків File
. Вони отримуються з потоків File
і сокетів java.net
і сокетів дейтаграм.
java.nio
У J2SE 1.4, пакет java.nio
(NIO або неблокуючий ввід / вивід) був доданий для підтримки вводу-виводу зі списком пам'яті, що полегшує операції (введення-виведення) ближче до основного обладнання, іноді значно краще. Пакет java.nio
забезпечує підтримку ряду типів буферів. Підпакет java.nio.charset
підтримує різні кодування символів для символьних даних. Підпакет java.nio.channels
забезпечує підтримку каналів, які представляють з'єднання з об'єктами, які здатні виконувати операції вводу-виводу, такі як файли і сокети. Пакет java.nio.channels
також надає підтримку дрібного блокування файлів.
java.math
java.math пакет підтримує multiprecision арифметику (в тому числі модульних арифметичних операцій) і забезпечує multiprecision простого числа генераторів, що використовуються для криптографічного генерації ключів. Основними класами пакета є:
BigDecimal
— забезпечує довільну точність підписаних десяткових чисел.BigDecimal
надає користувачеві можливість керувати поведінкою округлення за допомогоюRoundingMode
.BigInteger
— забезпечує цілі числа довільної точності. Операції наBigInteger
не переповнюються або втрачають точність. На додаток до стандартних арифметичних операцій, він забезпечує модульну арифметику, розрахунок GCD, тестування простоти, генерацію простого числа, маніпуляцію бітами та інші різноманітні операції.MathContext
— інкапсулює параметри контексту, які описують певні правила для числових операторів.RoundingMode
— перерахування, що забезпечує вісім варіантів округлення.
java.net
Пакет java.net надає спеціальні процедури java.net виводу для мереж, що дозволяють HTTP- запити, а також інші спільні операції.
java.text
Пакет java.text впроваджує java.text розбору для рядків і підтримує різні мови, що читаються людиною, і синтаксичний аналіз.
java.util
Структури даних, які об'єднують об'єкти, є осередком пакета java.util
. До пакету входить API Collections, організована ієрархія структури даних, на яку сильно впливають міркування моделей проектування.
Спеціальні пакети
java.applet
Створений для підтримки створення Java-аплетів, пакет java.applet дозволяє програмам завантажуватися через мережу і запускатися в java.applet пісочниці. Обмеження безпеки легко накладаються на пісочницю. Розробник, наприклад, може застосувати цифровий підпис до аплету, тим самим позначаючи його як безпечний. Це дозволяє користувачеві надавати дозвіл аплету на виконання обмежених операцій (наприклад, доступ до локальних жорстких дисків), а також видаляє деякі або всі обмеження пісочниці. Цифрові сертифікати видаються органами сертифікації.
java.beans
У пакет java.beans
входять різні класи для розробки та маніпулювання компонентами, повторно використовувані компоненти, визначені архітектурою JavaBeans. Архітектура забезпечує механізми маніпулювання властивостями компонентів і подій стрільби, коли ці властивості змінюються.
API в java.beans
призначені для використання засобом редагування bean, в якому beans можна комбінувати, налаштовувати і маніпулювати. Один тип редактора bean — це дизайнер GUI в інтегрованому середовищі розробки.
java.awt
Інструментарій java.awt
або Abstract Window Toolkit надає доступ до базового набору графічних елементів, що базуються на базовому наборі віджетів вітчизняної платформи, ядрі підсистеми подій графічного інтерфейсу і інтерфейсі між власною системою вікна та програмою Java. Вона також надає кілька базових менеджерів компонування, пакет передачі даних для використання з буфером обміну і перетягування, інтерфейс для пристроїв введення, таких як миші та клавіатури, а також доступ до системного лотка на підтримуючих системах. Цей пакет разом з javax.swing
містить найбільшу кількість переліків (усього 7) у JDK 6.
java.rmi
Пакет java.rmi
забезпечує виклик віддалених методів Java для підтримки віддалених викликів процедур між двома додатками java, запущеними в різних JVM.
java.security
Підтримка безпеки, включаючи алгоритм дайджесту повідомлень, включена в пакет java.security.
java.sql
Реалізація JDBC API (використовується для доступу до баз даних SQL) згрупована в пакет java.sql.
javax.rmi
Пакет javax.rmi
надає підтримку віддаленого зв'язку між додатками, використовуючи протокол RMI через IIOP. Цей протокол поєднує функції RMI і CORBA.
Основні технології Java SE — CORBA / RMI-IIOP [ 5 червня 2012 у Wayback Machine.]
javax.swing
Swing — це набір процедур, які побудовані на java.awt
щоб забезпечити незалежний від платформи набір інструментів. javax.swing
використовує підпрограми 2D, щоб відобразити компоненти інтерфейсу користувача замість того, щоб покладатися на базову підтримку графічного інтерфейсу операційної системи.
Цей пакет містить найбільшу кількість класів (всього 133) у JDK 6. Цей пакет разом з java.awt
також містить найбільшу кількість переліків (усього 7) у JDK 6. Він підтримує підключаються зовнішній вигляд і відчуває (PLAFs), так що віджети в графічному інтерфейсі можуть імітувати ті з базової системи. Моделі проектування пронизують систему, особливо модифікацію моделі модельного виду-контролера, яка розхитує зв'язок між функцією і зовнішнім виглядом. Одна з непослідовностей полягає в тому, що шрифти (починаючи з J2SE 1.3) малюються базовою системою, а не Java, обмежуючи переносимість тексту. Існують обхідні шляхи, наприклад, використання бітових шрифтів. Загалом, «макети» використовуються і зберігають елементи в межах естетично узгодженого графічного інтерфейсу на різних платформах.
javax.swing.text.html.parser
Пакет javax.swing.text.html.parser
надає HTML-синтаксичний аналізатор, javax.swing.text.html.parser помилки, який використовується для написання різних веббраузерів і вебботів.
javax.xml.bind.annotation
Пакет javax.xml.bind.annotation
містить найбільшу кількість типів анотацій (всього 30) у JDK 6. Він визначає анотації для налаштування елементів програми Java до відображення XML-схеми.
Пакети OMG
org.omg. CORBA
org.omg.
Пакет CORBA надає підтримку віддаленого зв'язку між додатками за допомогою протоколу General Inter-ORB і підтримує інші особливості спільної архітектури брокера запитів об'єктів. Те ж, що і RMI і RMI-IIOP, цей пакет призначений для виклику віддалених методів об'єктів на інших віртуальних машинах (зазвичай через мережу).
Цей пакет містить найбільшу кількість класів Exception
(всього 45) у JDK 6. З усіх можливостей спілкування CORBA переноситься між різними мовами; однак, з цим приходить більш складність.
org.omg. PortableInterceptor
org.omg. Пакет PortableInterceptor містить найбільшу кількість інтерфейсів (всього 39) в JDK 6. Вона забезпечує механізм реєстрації гаків ORB, через які послуги ORB перехоплюють нормальний потік виконання ORB.
Безпека
Було повідомлено про декілька критичних уразливостей безпеки, найостанніші у січні 2013 року. Оповіщення безпеки від Oracle оголошують про критичні для системи безпеки виправлення для Java SE.
- . Oracle Corporation. Архів оригіналу за 24 грудня 2014. Процитовано 26 лютого 2017.
- . Oracle Corporation and/or its affiliates. Архів оригіналу за 25 січня 2021. Процитовано 1 січня 2013.
- . Oracle Corporation. Архів оригіналу за 7 травня 2019. Процитовано 4 травня 2016.
[...] JDK 7, Oracle's implementation of Java SE 7.
- . Oracle Corporation and/or its affiliates. Архів оригіналу за 15 грудня 2012. Процитовано 1 січня 2013.
- Dangerous vulnerability in latest Java version [ 14 жовтня 2018 у Wayback Machine.] The H Security, Jan. 10, 2013
- Darlene Storm (25 вересня 2012). . Security Blog. Архів оригіналу за січень 13, 2013. Процитовано травень 20, 2019.
- . Oracle. Архів оригіналу за 6 жовтня 2019. Процитовано 20 травня 2019.
Посилання
- Java SE в Oracle Technology Network [ 24 грудня 2014 у Wayback Machine.]
- Навчання Java [ 18 травня 2019 у Wayback Machine.]
- Java SE 10 API Javadocs
- Документація Java SE API [ 8 серпня 2012 у Wayback Machine.]
- JSR 270 [ 25 січня 2021 у Wayback Machine.] (Java SE 6)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Java Platform Standard Edition Java SE ye obchislyuvalnoyu platformoyu dlya rozrobki ta rozgortannya portativnogo kodu dlya desktopiv i serveriv Java SE ranishe nazivalasya platformoyu Java 2 standartnoyu versiyeyu J2SE Platforma vikoristovuye movu programuvannya Java i ye chastinoyu simejstva platform Java Java SE viznachaye ryad API zagalnogo priznachennya taki yak en dlya biblioteki klasiv Java i takozh vklyuchaye specifikaciyu movi Java i specifikaciyu virtualnoyi mashini Java Odin z najbilsh vidomih realizacij Java SE ye Java Development Kit JDK korporaciyi Oracle Nomenklatura standarti ta specifikaciyiPlatforma bula vidoma yak platforma Java 2 Standard Edition abo J2SE z versiyi 1 2 doki im ya ne bulo zmineno na Java Platform Standard Edition abo Java SE u versiyi 1 5 SE vikoristovuyetsya dlya rozriznennya bazovoyi platformi vid platform Enterprise Edition Java EE i Micro Edition Java ME 2 spochatku mav nagolositi na osnovnih zminah vvedenih u versiyi 1 2 ale buv vidalenij u versiyi 1 6 Ugoda pro imenuvannya zminyuvalasya kilka raziv za istoriyu versij Java Pochinayuchi z J2SE 1 4 Merlin Java SE bula rozroblena v ramkah Java Community Process yaka viroblyaye opisi zaproponovanih i ostatochnih specifikacij dlya platformi Java pid nazvoyu Java Specification Requests JSR JSR 59 bula parasolkoyu dlya J2SE 1 4 i JSR 176 vkazuvala J2SE 5 0 Tiger Java SE 6 Mustang buv vipushenij pid JSR 270 Platforma Java Enterprise Edition Java EE ce specifikaciya sho vklyuchaye vsi klasi Java SE a takozh chislo yake ye bilsh korisnim dlya program yaki pracyuyut na serverah a ne robochih stancij Platforma Java Micro Edition Java ME ye pov yazanoyu specifikaciyeyu priznachenoyu dlya zabezpechennya sertifikovanoyi kolekciyi Java API dlya rozrobki programnogo zabezpechennya dlya nevelikih obmezhenih resursami pristroyiv takih yak stilnikovi telefoni KPK i telepristavki Java Runtime Environment JRE ta Java Development Kit JDK ce faktichno zavantazheni ta vstanovleni na komp yuteri fajli dlya zapusku abo rozrobki program Java vidpovidno Paketi zagalnogo priznachennyajava lang Paket Java a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang package summary html java lang a mistit osnovni klasi ta interfejsi tisno pov yazani z movoyu ta en Ce vklyuchaye v sebe korenevi klasi yaki utvoryuyut en tipi pov yazani z viznachennyam movi osnovni vinyatki matematichni funkciyi potokovi funkciyi bezpeki a takozh deyaku informaciyu pro bazovu sistemu Cej paket mistit 22 z 32 klasiv Error nadanih u JDK 6 Osnovni klasi ta interfejsi v java lang a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Object html Object a klas yakij ye korenem kozhnoyi iyerarhiyi klasiv a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Enum html Enum a bazovij klas dlya klasiv pererahuvannya yak u J2SE 5 0 a rel nofollow class external text href https docs oracle com javase 8 docs api java lang Class html Class a klas sho ye korenem refleksiyi Java a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Throwable html Throwable a klas yakij ye bazovim klasom iyerarhiyi klasu viklyuchennya a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Exception html Exception a i a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang RuntimeException html RuntimeException a bazovi klasi dlya kozhnogo tipu viklyuchennya a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Thread html Thread a klas sho dozvolyaye vikonuvati operaciyi nad potokami a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang String html String a klas dlya ryadkiv i en a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang StringBuffer html StringBuffer a i a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang StringBuilder html StringBuilder a klasi dlya vikonannya manipulyuvannya ryadkami StringBuilder u J2SE 5 0 a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Comparable html Comparable a interfejs sho dozvolyaye uzagalnyuvati porivnyannya ta uporyadkuvannya ob yektiv yak u J2SE 1 2 a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Iterable html Iterable a interfejs sho dozvolyaye zagalnu iteraciyu z vikoristannyam pokrashenogo for ciklu yak u J2SE 5 0 a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ClassLoader html ClassLoader a a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Process html Process a a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Runtime html Runtime a a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang SecurityManager html SecurityManager a i a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang System html System a klasi yaki zabezpechuyut sistemni operaciyi yaki keruyut en klasiv stvorennyam zovnishnih procesiv zapitami host seredovisha takimi yak chas dobi i vikonannya en a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang Math html Math a i a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang StrictMath html StrictMath a klasi yaki zabezpechuyut osnovni matematichni funkciyi taki yak sinus kosinus i kvadratnij korin StrictMath yak J2SE 1 3 en yaki inkapsulyuyut primitivni tipi yak ob yekti Osnovni klasi viklyuchennya vikinuti dlya rivnya movi ta inshih zagalnih vinyatkiv Klasi v java lang avtomatichno importuyutsya v kozhen vihidnij fajl java lang ref Paket a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ref package summary html java lang ref a nadaye bilsh gnuchki tipi posilan nizh inakshe dostupni dozvolyayuchi obmezhenu vzayemodiyu mizh programoyu ta zbirachem smittya Java Virtual Machine JVM Ce vazhlivij paket yakij ye dostatno centralnim dlya movi dizajneriv movi shob dati jomu im ya yake pochinayetsya z java lang ale ce kilka specialnih cilej i ne vikoristovuyetsya bagatma rozrobnikami Cej paket buv dodanij v J2SE 1 2 Java maye viraznu sistemu posilan i dozvolyaye osoblivu povedinku dlya zboru smittya Normalna posilannya na Java vidoma yak silna posilannya Paket java lang ref viznachaye tri inshi tipi posilan m yaki en ta fantomni posilannya Kozhen tip posilannya priznachenij dlya konkretnogo vikoristannya a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ref SoftReference html SoftReference a mozhe vikoristovuvatisya dlya realizaciyi keshu Ob yekt yakij ne mozhe buti dosyagnutij silnim posilannyam tobto ne ye silno dosyazhnim ale na nogo posilayetsya m yaka posilannya nazivayetsya m yako dosyazhnim Tenditnij ob yekt mozhe buti smittyam zibranim na rozsud zbiracha smittya Ce zazvichaj oznachaye sho m yakodostupni ob yekti ye tilki smittyam yake zbirayetsya koli vilna pam yat nizka ale znovu zh taki ce na rozsud zbiracha smittya Semantichno m yaka posilannya oznachaye Zberegti cej ob yekt koli nisho inshe ne posilayetsya na nogo yaksho tilki pam yat ne potribna a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ref WeakReference html WeakReference a vikoristovuyetsya dlya realizaciyi slabkih kart Ob yekt yakij ne ye silno abo m yako dostupnim ale na nogo posilayetsya slabka posilannya nazivayetsya en Slabkodostupnij ob yekt ce smittya zibrane v nastupnomu cikli zboru Taka povedinka vikoristovuyetsya v klasi java util WeakHashMap Slabka mapa dozvolyaye programistu poklasti pari klyuch znachennya u mapu i ne turbuvatisya pro ob yekti sho zajmayut pam yat koli klyuch bilshe ne mozhe buti dosyagnutij nide Inshim mozhlivim zastosuvannyam slabkih posilan ye en Semantichno slabka posilannya oznachaye pozbutisya cogo ob yekta koli nisho inshe ne posilayetsya na nogo pri nastupnomu zbiranni a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ref PhantomReference html PhantomReference a vikoristovuyetsya dlya posilannya na ob yekti yaki buli poznacheni dlya zboru smittya i buli zaversheni ale she ne buli vidnovleni Ob yekt yakij ne ye silno m yako abo slabkodostupnim ale na nogo posilayetsya fantomne posilannya nazivayetsya phantom reachable Ce daye mozhlivist bilsh gnuchkogo ochishennya nizh ce mozhlivo tilki za dopomogoyu mehanizmu zavershennya Semantichno fantomna posilannya oznachaye cej ob yekt bilshe ne potribnij i buv zavershenij pid chas pidgotovki do zbirannya Kozhen z cih tipiv posilan rozshiryuye klas a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ref Reference html Reference a yakij zabezpechuye metod get dlya povernennya silnogo posilannya na referentnij ob yekt abo null yaksho posilannya bulo ochisheno abo yaksho tip posilannya fantom i metod clear shob ochistiti posilannya java lang ref takozh viznachaye klas a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang ref ReferenceQueue html ReferenceQueue a yakij mozhe vikoristovuvatisya v kozhnij z opisanih vishe program dlya vidstezhennya ob yektiv yaki zminili tip posilannya Koli stvoryuyetsya Reference vona za bazhannyam zareyestrovana z etalonnoyu chergoyu Programa opituye chergu posilan shob otrimati posilannya yaki zminili stan dosyazhnosti java lang reflect Refleksiya ye skladovoyu chastinoyu Java API sho dozvolyaye Java kodu vivchati i vidobrazhati komponenti Java pid chas vikonannya i vikoristovuvati vidobrazheni chleni Klasi v paketi java lang reflect razom z java lang Class i java lang Package rozmishuye programi taki yak nalagodzhuvachi interpretatori inspektori ob yektiv en i sluzhbi taki yak serializaciya ob yektiv i JavaBeans yaki potrebuyut dostupu do zagalnodostupnih chleniv cilovogo ob yekta na osnovi jogo klasu vikonannya abo chleniv ogoloshenih danim klasom Cej paket bulo dodano do JDK 1 1 Refleksiya vikoristovuyetsya dlya stvorennya ekzemplyariv klasiv i vikliku metodiv sho vikoristovuyut yih imena koncepciya yaka dozvolyaye zdijsnyuvati dinamichne programuvannya Klasi interfejsi metodi polya ta konstruktori mozhut buti vidkriti ta vikoristani pid chas vikonannya Vidobrazhennya pidtrimuyetsya metadanimi yaki maye JVM pro programu Metodi Isnuyut osnovni metodi yaki vikoristovuyutsya u reflekiyi Vidkrittya ce peredbachaye prijnyattya ob yekta abo klasu i viyavlennya chleniv superklasiv realizovanih interfejsiv a potim mozhlivo vikoristannya znajdenih elementiv Vikoristovuvati po imeni peredbachaye pochinayuchi z simvolichnogo imeni elementa i vikoristovuyuchi im ya elementa Vidkrittya Vidkrittya zazvichaj pochinayetsya z ob yekta i viklikaye metod Object getClass shob otrimati Class ob yekta Ob yekt Class maye kilka metodiv dlya viyavlennya vmistu klasu napriklad getMethods povertaye masiv ob yektiv Method predstavlyayut vsi zagalnodostupni metodi klasu abo interfejsu getConstructors povertaye masiv ob yektiv Constructor predstavlyayut vsi publichni konstruktori klasu getFields povertaye masiv ob yektiv a rel nofollow class external text href https docs oracle com en java javase 12 docs api jdk jdi com sun jdi Field html Field a predstavlyayut usi zagalni polya klasu abo interfejsu getClasses povertaye masiv ob yektiv Class predstavlyayut usi vidkriti klasi i interfejsi yaki ye chlenami napriklad vnutrishnimi klasami klasu abo interfejsu getSuperclass povertaye ob yekt Class predstavlyaye superklas klasu abo interfejsu dlya interfejsiv povertayetsya null getInterfaces povertaye masiv ob yektiv Class predstavlyayut usi interfejsi yaki realizovani klasom abo interfejsomVikoristovujte po imeni Ob yekt Class mozhe buti otrimanij abo za dopomogoyu vidkrittya vikoristovuyuchi klas literal napriklad MyClass class abo za dopomogoyu imeni klasu napriklad Class forName mypackage MyClass Z ob yektom Class mozhna otrimati element Method Constructor abo Field vikoristovuyuchi simvolichne im ya chlena Napriklad getMethod methodName Class povertaye ob yekt Method predstavlyaye vidkritij metod z nazvoyu methodName klasu abo interfejsu yakij prijmaye parametri zadani parametrami Class getConstructor Class povertaye ob yekt Constructor predstavlyaye publichnij konstruktor klasu yakij prijmaye parametri zadani parametrami Class getField fieldName povertaye ob yekt Field predstavlyaye publichne pole z im yam fieldName klasu abo interfejsu Ob yekti Method Constructor i Field mozhut vikoristovuvatisya dlya dinamichnogo dostupu do predstavlenogo chlena klasu Napriklad Field get Object povertaye Object sho mistit znachennya polya z ekzemplyara ob yekta peredanogo get Yaksho ob yekt Field predstavlyaye statichne pole to parametr Object ignoruyetsya i mozhe buti null Method invoke Object Object povertaye Object sho mistit rezultat vikliku metodu dlya ekzemplyara pershogo parametra Object peredanogo dlya invoke Inshi parametri Object peredayutsya metodu Yaksho ob yekt Method predstavlyaye statichnij metod to pershij parametr Object ignoruyetsya i mozhe buti null Constructor newInstance Object povertaye novij ekzemplyar Object z vikliku konstruktora Parametri Object peredayutsya konstruktoru Zauvazhte sho konstruktor bez parametriv klasu mozhe takozh viklikatisya za dopomogoyu vikliku newInstance Masivi ta proksi Paket java lang reflect takozh nadaye klas a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang reflect Array html Array a yakij mistit statichni metodi dlya stvorennya ta manipulyuvannya ob yektami masivu a takozh J2SE 1 3 klas a rel nofollow class external text href https docs oracle com en java javase 12 docs api java base java lang reflect Proxy html Proxy a yakij pidtrimuye dinamichne stvorennya klasiv proksi yaki realizuyut vkazani interfejsi Realizaciya klasu Proxy zabezpechuyetsya ob yektom sho postachayetsya yakij realizuye interfejs InvocationHandler InvocationHandler invoke Object Method Object InvocationHandler invoke Object Method Object dlya kozhnogo metodu viklikanogo ob yektom proksi pershij parametr ye ob yektom proxy drugij parametr ob yekt Method predstavlyaye metod z interfejsu realizovanogo proxy a tretim parametrom ye masiv parametriv sho peredayutsya interfejsnomu metodu Metod invoke povertaye rezultat Object yakij mistit rezultat povernutij kodu yakij nazivayetsya metodom interfejsu proxy java io Paket java io mistit klasi sho pidtrimuyut vvedennya ta vivedennya danih Klasi v paketi v pershu chergu oriyentovani na potik odnak klas dlya fajliv vipadkovogo dostupu takozh nadayetsya Centralnimi klasami v paketi ye InputStream i OutputStream yaki ye abstraktnimi bazovimi klasami dlya chitannya i zapisu v bajtovi potoki vidpovidno Pov yazani klasi Reader i Writer ye abstraktnimi bazovimi klasami dlya chitannya i zapisu do simvolnih potokiv vidpovidno Paket takozh maye dekilka riznih klasiv dlya pidtrimki vzayemodiyi z fajlovoyu sistemoyu hosta Potoki Klasi potokiv sliduyut shablonu dekoratora rozshiryuyuchi bazovij pidklas dlya dodavannya funkcij do klasiv potokiv Pidklasi klasiv bazovogo potoku zazvichaj nazivayutsya dlya odnogo z takih atributiv dzherelo priznachennya potokovih danih tip danih zapisanih na z potoku dodatkovu obrobku abo filtraciyu vikonuyut na potokovih danih i XxxStreamType i potokiv nazivayutsya za dopomogoyu shablonu imenuvannya i XxxStreamType i de i Xxx i ce nazva sho opisuye funkciyu a i StreamType i odin z InputStream OutputStream Reader abo Writer Nastupna tablicya pokazuye dzherela priznachennya yaki pidtrimuyutsya bezposeredno paketom java io Dzherelo priznachennya Im ya Tipi potokiv In out Klasimasiv a href wiki D0 91 D0 B0 D0 B9 D1 82 title Bajt byte a byte ByteArray byte in out ByteArrayInputStream ByteArrayOutputStreamchar masiv char CharArray char in out CharArrayReader CharArrayWriterfajl File byte char in out FileInputStream FileOutputStream FileReader FileWriterryadok a href wiki D0 A0 D1 8F D0 B4 D0 BE D0 BA D0 BF D1 80 D0 BE D0 B3 D1 80 D0 B0 D0 BC D1 83 D0 B2 D0 B0 D0 BD D0 BD D1 8F title Ryadok programuvannya StringBuffer a String char in out StringReader StringWriternitka Thread Piped byte char in out PipedInputStream PipedOutputStream PipedReader PipedWriter Inshi standartni paketi biblioteki zabezpechuyut realizaciyu potoku dlya inshih napryamkiv napriklad InputStream povertayetsya java net Socket getInputStream abo Java EE javax servlet Klas ServletOutputStream Obrobka ta obrobka abo filtraciya danih potoku danih zdijsnyuyetsya za dopomogoyu filtriv potoku Klasi filtriv prijmayut inshij ob yekt sumisnogo potoku yak parametr do konstruktora i prikrashayut vkladenij potik dodatkovimi funkciyami Filtri stvoryuyutsya shlyahom rozshirennya odnogo z klasiv bazovogo filtra FilterInputStream FilterOutputStream FilterReader abo FilterWriter Klasi Reader i Writer ce prosto bajtovi potoki z dodatkovoyu obrobkoyu na potoci danih dlya peretvorennya bajtiv u simvoli Voni vikoristovuyut koduvannya simvoliv za zamovchuvannyam dlya platformi yaka v J2SE 5 0 predstavlena Charset simvoliv povernutim java nio charset Charset defaultCharset Klas InputStreamReader peretvoryuye InputStream v Reader a klas OutputStreamWriter peretvoryuye OutputStream v Writer Obidva ci klasi mayut konstruktori yaki pidtrimuyut viznachennya koduvannya simvoliv dlya vikoristannya Yaksho ne vkazano koduvannya programa vikoristovuye koduvannya za umovchannyam dlya platformi Operaciya Im ya Tipi potokiv In out Klasibuferizaciya Buffered byte char in out BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter vidsunuti ostannye znachennya chitannya Pushback byte char v PushbackInputStream PushbackReaderchitannya zapis primitivnih tipiv Data byte in out DataInputStream DataOutputStreamserializaciya ob yektiv ob yekti chitannya zapisu Object bajt in out ObjectInputStream ObjectOutputStreamVipadkovij dostup Klas RandomAccessFile pidtrimuye chitannya i zapisuvannya fajliv u vipadkovomu dostupi Klas vikoristovuye pokazhchik fajlu yakij predstavlyaye zmishennya bajta u fajli dlya nastupnoyi operaciyi chitannya abo zapisu Pokazhchik fajlu peremishuyetsya neyavno chitannyam abo zapisom i yavno viklikom metodiv seek long abo skipBytes int Potochna poziciya pokazhchika fajlu povertayetsya metodom getFilePointer Fajlova sistema Klas File yavlyaye soboyu fajl abo shlyah do katalogu u fajlovij sistemi Ob yekti File pidtrimuyut stvorennya vidalennya i perejmenuvannya fajliv i katalogiv a takozh manipulyaciyi z atributami fajliv napriklad tilki dlya chitannya i ostannoyi modifikaciyi Ob yekti File yaki predstavlyayut katalogi mozhna vikoristovuvati dlya otrimannya spisku vsih fajliv i katalogiv sho mistyatsya Klas FileDescriptor ce deskriptor fajlu yakij predstavlyaye dzherelo abo poglinach priznachennya bajtiv Zazvichaj ce fajl ale takozh mozhe buti konsolnim abo merezhevim soketom Ob yekti FileDescriptor vikoristovuyutsya dlya stvorennya potokiv File Voni otrimuyutsya z potokiv File i soketiv java net i soketiv dejtagram java nio U J2SE 1 4 paket java nio NIO abo neblokuyuchij vvid vivid buv dodanij dlya pidtrimki vvodu vivodu zi spiskom pam yati sho polegshuye operaciyi vvedennya vivedennya blizhche do osnovnogo obladnannya inodi znachno krashe Paket java nio zabezpechuye pidtrimku ryadu tipiv buferiv Pidpaket java nio charset pidtrimuye rizni koduvannya simvoliv dlya simvolnih danih Pidpaket java nio channels zabezpechuye pidtrimku kanaliv yaki predstavlyayut z yednannya z ob yektami yaki zdatni vikonuvati operaciyi vvodu vivodu taki yak fajli i soketi Paket java nio channels takozh nadaye pidtrimku dribnogo blokuvannya fajliv java math java math paket pidtrimuye multiprecision arifmetiku v tomu chisli modulnih arifmetichnih operacij i zabezpechuye multiprecision prostogo chisla generatoriv sho vikoristovuyutsya dlya kriptografichnogo generaciyi klyuchiv Osnovnimi klasami paketa ye BigDecimal zabezpechuye dovilnu tochnist pidpisanih desyatkovih chisel BigDecimal nadaye koristuvachevi mozhlivist keruvati povedinkoyu okruglennya za dopomogoyu RoundingMode BigInteger zabezpechuye cili chisla dovilnoyi tochnosti Operaciyi na BigInteger ne perepovnyuyutsya abo vtrachayut tochnist Na dodatok do standartnih arifmetichnih operacij vin zabezpechuye modulnu arifmetiku rozrahunok GCD testuvannya prostoti generaciyu prostogo chisla manipulyaciyu bitami ta inshi riznomanitni operaciyi MathContext inkapsulyuye parametri kontekstu yaki opisuyut pevni pravila dlya chislovih operatoriv RoundingMode pererahuvannya sho zabezpechuye visim variantiv okruglennya java net Paket java net nadaye specialni proceduri java net vivodu dlya merezh sho dozvolyayut HTTP zapiti a takozh inshi spilni operaciyi java text Paket java text vprovadzhuye java text rozboru dlya ryadkiv i pidtrimuye rizni movi sho chitayutsya lyudinoyu i sintaksichnij analiz java util Strukturi danih yaki ob yednuyut ob yekti ye oseredkom paketa java util Do paketu vhodit API Collections organizovana iyerarhiya strukturi danih na yaku silno vplivayut mirkuvannya modelej proektuvannya Specialni paketijava applet Stvorenij dlya pidtrimki stvorennya Java apletiv paket java applet dozvolyaye programam zavantazhuvatisya cherez merezhu i zapuskatisya v java applet pisochnici Obmezhennya bezpeki legko nakladayutsya na pisochnicyu Rozrobnik napriklad mozhe zastosuvati cifrovij pidpis do apletu tim samim poznachayuchi jogo yak bezpechnij Ce dozvolyaye koristuvachevi nadavati dozvil apletu na vikonannya obmezhenih operacij napriklad dostup do lokalnih zhorstkih diskiv a takozh vidalyaye deyaki abo vsi obmezhennya pisochnici Cifrovi sertifikati vidayutsya organami sertifikaciyi java beans U paket java beans vhodyat rizni klasi dlya rozrobki ta manipulyuvannya komponentami povtorno vikoristovuvani komponenti viznacheni arhitekturoyu JavaBeans Arhitektura zabezpechuye mehanizmi manipulyuvannya vlastivostyami komponentiv i podij strilbi koli ci vlastivosti zminyuyutsya API v java beans priznacheni dlya vikoristannya zasobom redaguvannya bean v yakomu beans mozhna kombinuvati nalashtovuvati i manipulyuvati Odin tip redaktora bean ce dizajner GUI v integrovanomu seredovishi rozrobki java awt Instrumentarij java awt abo Abstract Window Toolkit nadaye dostup do bazovogo naboru grafichnih elementiv sho bazuyutsya na bazovomu nabori vidzhetiv vitchiznyanoyi platformi yadri pidsistemi podij grafichnogo interfejsu i interfejsi mizh vlasnoyu sistemoyu vikna ta programoyu Java Vona takozh nadaye kilka bazovih menedzheriv komponuvannya paket peredachi danih dlya vikoristannya z buferom obminu i peretyaguvannya interfejs dlya pristroyiv vvedennya takih yak mishi ta klaviaturi a takozh dostup do sistemnogo lotka na pidtrimuyuchih sistemah Cej paket razom z javax swing mistit najbilshu kilkist perelikiv usogo 7 u JDK 6 java rmi Paket java rmi zabezpechuye viklik viddalenih metodiv Java dlya pidtrimki viddalenih viklikiv procedur mizh dvoma dodatkami java zapushenimi v riznih JVM java security Pidtrimka bezpeki vklyuchayuchi algoritm dajdzhestu povidomlen vklyuchena v paket java security java sql Realizaciya JDBC API vikoristovuyetsya dlya dostupu do baz danih SQL zgrupovana v paket java sql javax rmi Paket javax rmi nadaye pidtrimku viddalenogo zv yazku mizh dodatkami vikoristovuyuchi protokol RMI cherez IIOP Cej protokol poyednuye funkciyi RMI i CORBA Osnovni tehnologiyi Java SE CORBA RMI IIOP 5 chervnya 2012 u Wayback Machine javax swing Swing ce nabir procedur yaki pobudovani na java awt shob zabezpechiti nezalezhnij vid platformi nabir instrumentiv javax swing vikoristovuye pidprogrami 2D shob vidobraziti komponenti interfejsu koristuvacha zamist togo shob pokladatisya na bazovu pidtrimku grafichnogo interfejsu operacijnoyi sistemi Cej paket mistit najbilshu kilkist klasiv vsogo 133 u JDK 6 Cej paket razom z java awt takozh mistit najbilshu kilkist perelikiv usogo 7 u JDK 6 Vin pidtrimuye pidklyuchayutsya zovnishnij viglyad i vidchuvaye PLAFs tak sho vidzheti v grafichnomu interfejsi mozhut imituvati ti z bazovoyi sistemi Modeli proektuvannya pronizuyut sistemu osoblivo modifikaciyu modeli modelnogo vidu kontrolera yaka rozhituye zv yazok mizh funkciyeyu i zovnishnim viglyadom Odna z neposlidovnostej polyagaye v tomu sho shrifti pochinayuchi z J2SE 1 3 malyuyutsya bazovoyu sistemoyu a ne Java obmezhuyuchi perenosimist tekstu Isnuyut obhidni shlyahi napriklad vikoristannya bitovih shriftiv Zagalom maketi vikoristovuyutsya i zberigayut elementi v mezhah estetichno uzgodzhenogo grafichnogo interfejsu na riznih platformah javax swing text html parser Paket javax swing text html parser nadaye HTML sintaksichnij analizator javax swing text html parser pomilki yakij vikoristovuyetsya dlya napisannya riznih vebbrauzeriv i vebbotiv javax xml bind annotation Paket javax xml bind annotation mistit najbilshu kilkist tipiv anotacij vsogo 30 u JDK 6 Vin viznachaye anotaciyi dlya nalashtuvannya elementiv programi Java do vidobrazhennya XML shemi Paketi OMGorg omg CORBA org omg Paket CORBA nadaye pidtrimku viddalenogo zv yazku mizh dodatkami za dopomogoyu protokolu General Inter ORB i pidtrimuye inshi osoblivosti spilnoyi arhitekturi brokera zapitiv ob yektiv Te zh sho i RMI i RMI IIOP cej paket priznachenij dlya vikliku viddalenih metodiv ob yektiv na inshih virtualnih mashinah zazvichaj cherez merezhu Cej paket mistit najbilshu kilkist klasiv Exception vsogo 45 u JDK 6 Z usih mozhlivostej spilkuvannya CORBA perenositsya mizh riznimi movami odnak z cim prihodit bilsh skladnist org omg PortableInterceptor org omg Paket PortableInterceptor mistit najbilshu kilkist interfejsiv vsogo 39 v JDK 6 Vona zabezpechuye mehanizm reyestraciyi gakiv ORB cherez yaki poslugi ORB perehoplyuyut normalnij potik vikonannya ORB BezpekaBulo povidomleno pro dekilka kritichnih urazlivostej bezpeki najostannishi u sichni 2013 roku Opovishennya bezpeki vid Oracle ogoloshuyut pro kritichni dlya sistemi bezpeki vipravlennya dlya Java SE Oracle Corporation Arhiv originalu za 24 grudnya 2014 Procitovano 26 lyutogo 2017 Oracle Corporation and or its affiliates Arhiv originalu za 25 sichnya 2021 Procitovano 1 sichnya 2013 Oracle Corporation Arhiv originalu za 7 travnya 2019 Procitovano 4 travnya 2016 JDK 7 Oracle s implementation of Java SE 7 Oracle Corporation and or its affiliates Arhiv originalu za 15 grudnya 2012 Procitovano 1 sichnya 2013 Dangerous vulnerability in latest Java version 14 zhovtnya 2018 u Wayback Machine The H Security Jan 10 2013 Darlene Storm 25 veresnya 2012 Security Blog Arhiv originalu za sichen 13 2013 Procitovano traven 20 2019 Oracle Arhiv originalu za 6 zhovtnya 2019 Procitovano 20 travnya 2019 PosilannyaJava SE v Oracle Technology Network 24 grudnya 2014 u Wayback Machine Navchannya Java 18 travnya 2019 u Wayback Machine Java SE 10 API Javadocs Dokumentaciya Java SE API 8 serpnya 2012 u Wayback Machine JSR 270 25 sichnya 2021 u Wayback Machine Java SE 6