технологія java
платформа Java

Три ключові елементи об'єдналися в технології мови Java:
- Java надає для широкого використання свої аплети (applets) - невеликі, надійні, динамічні, які не залежать від платформи активні мережеві додатки, що вбудовуються в сторінки Web. Аплети Java можуть налаштовуватися і поширюватися споживачам з такою ж легкістю, як будь-які документи HTML.
- Java вивільняє міць об'єктно-орієнтованої розробки додатків, поєднуючи простий і знайомий синтаксис з надійним і зручним в роботі середовищем розробки. Це дозволяє широкому колу програмістів швидко створювати нові програми і нові аплети.
- Java надає програмісту багатий набір класів об'єктів для ясного абстрагування багатьох системних функцій, використовуваних при роботі з вікнами, мережею і для введення-виведення. Ключова риса цих класів полягає в тому, що вони забезпечують створення незалежних від використовуваної платформи абстракцій для широкого спектра системних інтерфейсів.
Програмування на мові Java
Взагалі небезпечно оголошувати кожну нову технологію програмування революційної. Якщо ви покваптеся подати свій голос за визнання технології, подібної до тієї, яка реалізована в мові Java, революційної - вас можуть закидати тухлими яйцями або занести в розряд пустодзвонів, ласих на модні новинки. Що ж в такому випадку робить той чи інший продукт революційним. Він не може бути тільки більш компактно, швидше і дешевше. Такий продукт повинен змінити весь стиль роботи, радикально спростивши вирішення складних проблем.
Три ключові елементи об'єдналися в технології мови Java і зробили її в корені відмінною від усього, що існує на сьогоднішній день.
- Java надає для широкого використання свої аплети (applets) - невеликі, надійні, динамічні, які не залежать від платформи активні мережеві додатки, що вбудовуються в сторінки Web. Аплети Java можуть налаштовуватися і поширюватися споживачам з такою ж легкістю, як будь-які документи HTML.
- Java вивільняє міць об'єктно-орієнтованої розробки додатків, поєднуючи простий і знайомий синтаксис з надійним і зручним в роботі середовищем розробки. Це дозволяє широкому колу програмістів швидко створювати нові програми і нові аплети.
- Java надає програмісту багатий набір класів об'єктів для ясного абстрагування багатьох системних функцій, використовуваних при роботі з вікнами, мережею і для введення-виведення. Ключова риса цих класів полягає в тому, що вони забезпечують створення незалежних від використовуваної платформи абстракцій для широкого спектра системних інтерфейсів.
Давайте ближче познайомимося з усіма цими трьома аспектами, але спочатку - історія створення.
Історія створення Java
Мова Java зародився як частина проекту створення передового програмного забезпечення (ПО) для різних побутових приладів. Реалізація проекту була почата на мові C ++. але незабаром виник ряд проблем, найкращим засобом боротьби з якими була зміна самого інструмента - мови програмування. Стало очевидним, що необхідний платформо-незалежний мова програмування, що дозволяє створювати програми, які не доводилося б компілювати окремо для кожної архітектури і можна було б використовувати на різних процесорах під різними операційними системами.
Нотон, хоча і не розраховував на те, що хтось зверне увагу на його лист, все ж виклав свої претензії, нещадно розкритикувавши недоліки Sun Microsystems, зокрема, розробляється в той момент архітектуру ПО NeWS. На подив Нотона, його лист здобуло успіх: він був розісланий всім провідним інженерам Sun Microsystems, які не забарилися відгукнутися і висловити гарячу підтримку своєму колезі і схвалення його поглядів на ситуацію в Sun Microsystems. Звернення викликало схвалення і у вищого керівництва компанії, а саме, у Білла Джоя (Bill Joy), засновника Sun Microsystems, і Джеймса Гослінга (James Gosling), начальника Нотона.
У той день, коли Нотон повинен був піти з компанії, було прийнято рішення про створення команди провідних розробників з тим, щоб вони робили що завгодно, але створили щось незвичайне. Команда з шести чоловік приступила до розробки нового об'єктно-орієнтованої мови програмування, який був названий Oak (дуб), на честь дерева, що росло під вікном Гослінга.
Java - революційний мову програмування
Мова мав втілювати такі якості: простоту і міць, безпека, об'єктну орієнтованість, надійність, інтерактивність, архітектурну незалежність, можливість інтерпретації, високу продуктивність і легкість у вивченні. Навіть якщо ви ніколи не напишете жодного рядка на мові Java, знати про його можливості досить корисно, оскільки саме перераховані вище властивості мови надають динаміку сторінкам Всесвітньої павутини.
аплети Java
Кожен аплет - це невелика програма, динамічно завантажується по мережі - точно так само, як картинка, звуковий файл або елемент мультиплікації. Головна особливість аплетів полягає в тому, що вони є справжніми програмами, а не черговим форматом файлів для зберігання мультфільмів або будь-якої іншої інформації. Аплет не просто програє один і той же сценарій, а реагує на дії користувача і може динамічно змінювати свою поведінку.
Саме помітні Web-сторінки з анімацією залучили більшість ранніх прихильників мови Java. Оскільки користувачі не відразу змогли повністю освоїти найбільш революційні аспекти Java, ця мова часто порівнювався з іншими технологіями для завантаження динамічних зображень і простого взаємодії з Web-клієнтами. Компанії, традиційно займаються розробкою мультимедійних технологій, наприклад, Adobe або MacroMedia, стверджували, що їхні продукти надають ті ж можливості, що і Java. На думку Kaleida, Taligent і NeXT, їх власні об'єктно-орієнтовані середовища розробки були не менш революційні. Microsoft заявляв про перемогу технології десятирічної давності. Насправді ніщо не може зрівнятися з тим, що ви відкриєте для себе, відчувши міць програмування на мові Java.
Можливість завдання будь-яких рівнів взаємодії з користувачем існує лише в тому випадку, коли використовувана для розробки платформа надає повнофункціональну середу програмування.
Простота і міць Java
Після освоєння основних понять об'єктно-орієнтованого програмування ви швидко навчитеся програмувати на Java. У наші дні існує багато систем програмування, які пишаються тим, що в них однієї і тієї ж мети можна досягти десятком різних способів. У мові Java достаток рішень відсутня - для вирішення завдання у вас буде зовсім небагато варіантів. Прагнення до простоти часто призводило до створення неефективних і невиразних мов типу командних інтерпретаторів. Java до числа таких мов не відноситься - для програміста вся потужність ООП і бібліотек класів.
Безпека Java
Об'єктна орієнтованість Java
Забавно спостерігати, як численні нові діалекти старих мов безапеляційно оголошуються об'єктно-орієнтованими. Оскільки при розробці мови була відсутня важка спадковість, для реалізації об'єктів був обраний зручний прагматичний підхід. Розробники Java намагалися витримати розумний компроміс між моделлю пуристів - "все є об'єктами", і моделлю хакерів - "піди з моєї дороги". Об'єктна модель в Java проста і легко розширюється, в той же час, заради підвищення продуктивності, числа та інші прості типи даних Java не є об'єктами.
надійність Java
Java обмежує вас в декількох ключових областях і таким чином сприяє виявленню помилок на ранніх стадіях розробки програми. У той же час в ній відсутні багато джерел помилок, властивих іншим мовам програмування (строга типізація, наприклад). Більшість використовуваних сьогодні програм "відмовляють" в одній з двох ситуацій: при виділенні пам'яті, або при виникненні виняткових ситуацій. У традиційних середовищах програмування розподіл пам'яті є досить нудним заняттям - програмісту доводиться самому стежити за усієї використовуваної в програмі пам'яттю, не забуваючи звільняти її в міру того, як потреба в ній відпадає. Найчастіше програмісти забувають звільняти захоплену ними пам'ять або, що ще гірше, звільняють ту пам'ять, яка все ще використовується який-небудь частиною програми. Виняткові ситуації в традиційних середовищах програмування часто виникають в таких, наприклад, випадках, як розподіл на нуль або спроба відкрити неіснуючий файл, і їх доводиться обробляти за допомогою незграбних і нечитабельних конструкцій (крім Delphi). Java фактично знімає обидві ці проблеми, використовуючи збирач сміття для звільнення вільної пам'яті і вбудовані об'єктно-орієнтовані засоби для обробки виняткових ситуацій.
інтерактивність Java
Java створювалася як засіб, який повинен задовольнити нагальну потребу в створенні інтерактивних мережевих програм. У Java реалізовано кілька цікавих рішень, що дозволяють писати код, який виконує одночасно масу різних функцій і не забуває при цьому стежити за тим, що і коли має відбутися. У мові Java для вирішення проблеми синхронізації процесів застосований найбільш елегантний з усіх коли-небудь був винайдений методів, який дозволяє конструювати прекрасні інтерактивні системи. Прості в обігу витончені підпроцеси Java дають можливість реалізації в програмі конкретного поведінки, не відволікаючись при цьому на вкладання глобальної циклічної обробки подій.
Незалежність Java від архітектури ЕОМ
Питання про довговічність і переносимості коду важливіше релігійних воєн між ПК і Макінтоша. Творці Java наклали на мову і на середу часу виконання кілька жорстких вимог, які на ділі, а не на словах дозволяють, одного разу написавши, завжди запускати програму в будь-якому місці і в будь-який час (де існує віртуальна Java-машина - браузери на всіх платформах, OS / 2, Netware).
Інтерпретація плюс висока продуктивність
Надзвичайна здатність Java виконувати свій код на будь-який з підтримуваних платформ досягається тим, що її програми транслюються в якесь проміжне уявлення, зване байт-кодом (bytecode). Байт-код, в свою чергу, може інтерпретуватися в будь-якій системі, в якій є середовище часу виконання Java. Більшість ранніх систем, в яких намагалися забезпечити незалежність від платформи, володіло величезним недоліком - втратою продуктивності (Basic, Perl). Незважаючи на те, що в Java використовується інтерпретатор, байт-код легко перекладається безпосередньо в "рідні" машинні коди (Just In Time compilers) "на льоту". При цьому досягається дуже висока продуктивність (Symantec JIT вбудований в Netscape Navigator).
Простота вивчення Java
Мова Java, хоча і більш складний ніж мови командних інтерпретаторів, все ж незмірно простіше для вивчення, ніж інші інші мови програмування, наприклад C ++. Риси мови стануть здаватися вам природним шляхом для вирішення тих чи інших завдань і сприятимуть відпрацюванню хорошого стилю програмування. Оскільки об'єктна модель в Java одночасно проста і виразна, ви скоро звикнете з об'єктно-орієнтованим стилем створення програм.
Багата об'єктне середовище Java
Середовище Java - це щось набагато більше, ніж просто мова програмування. У неї вбудований набір ключових класів, що містять основні абстракції реального світу, з яким доведеться мати справу вашим програмам. Основою популярності Java є вбудовані класи-абстракції, які зробили його мовою, дійсно незалежним від платформи. Бібліотеки, подібні MFC / COM, OWL, VCL, NeXTStep, Motif і OpenDoc прекрасно працюють на своїх платформах, однак сьогодні головною платформою стає Internet.
У реалізації Java 1.1.6 знаходиться 23 пакета (в Java 1.0.2 їх було 8), а кількість класів - 503 (211). Для тих, хто збирається підтримувати Java 1.0 поряд з 1.1 (актуальність цієї підтримки підтверджує Borland JBuilder 2.0 та інші продукти), спеціально виділені нововведення 1.1 в Додаток 2.
Таблиця 1. Пакети Java API
Класи для забезпечення архівації
Частина цих пакетів ми будемо розглядати дуже докладно (це видно зі змісту), інша піде на самостійне опрацювання.
ЛІТЕРАТУРА
Чи знаєте Ви, що властивість об'єкта в об'єктно-орієнтованому програмуванні - це характеристика об'єкта. Зазвичай властивості змінюються за допомогою методів.
НОВИНИ ФОРУМУ
Лицарі теорії ефіру