Тема 1 Основні засади мови Java. Мова Java: першоджерело.

Презентация:



Advertisements
Похожие презентации
Загальні відомості про системне, службове та прикладне програмне забезпечення. Класифікація, основні функції та складові операційних систем. Поняття про.
Advertisements

ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Навчальна презентація вчителя Большакової Кристини Сергіївни ЗОШ 9 м. Ізмаїл.
Урок 10 5 клас. Комп'ютернні мережі. Локальна мережа. Використаннямережевих папок
Класи пам'яті даних. Клас пам'яті, час існування та видимість об'єкта Кожен обєкт програми (змінна, функція,...) має свій тип і клас памяті. Тип визначає.
Структура операційної системи. Операційна система починає працювати одразу після ввімкнення комп ютера, тому певну її частину розміщено в найважливішій.
Електронна пошта почтапошта Електронна пошта це сукупність засобів, призначених для організації обміну повідомленнями між користувачами компютерної мережі.
ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Розділ 6 Навчальна презентація з інформатики для 9 класу вчителя Анрієнко М.А.
Розробив: Студент 221 грп Олару Дмитро. Залежно від відстані виділяють: Локальні мережі – об'єднання комп'ютерів, що розміщені на невеликих відстанях.
База даних (БД) це структурована сукупність взаємопов'язаних даних певної предметної області (реальних об'єктів, процесів, явищ тощо). це структурована.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Поняття об єкта у програмуванні. Властивості об єкта. Елементи інтерфейсу користувача як об єкти.
Апаратне й програмне забезпечення комп'ютерних мереж.
1.Не працюють окремі об ' єкти ОС. Відсутні окремі об ' єкти ( диски, папки ). При роботі системи виникає гальмування виконання команд користувача.
1. Класи програмних продуктів 2. Системне програмне забезпечення 2.1. Базове програмне забезпечення Операційні системи Мережні операційні.
Тема 6 Потоки введення- виведення. Робота з файлами.
Бази даних Поняття про моделі даних. Види моделей даних Бази даних.
1.Якими способами можна виділити об'єкти у вікні папки? 2.Які операції може виконувати операційна система над файлами, папками, вікнами? Якими способами.
Дипломний проект Виконав: студент гр. П Ярошенко Я.І. Керівник дипломного проекту Сібрін Ю.І. Розробка програми Продаж друкованої продукції.
Тема уроку. Практична робота Складання програм з розгалуженням М ета уроку: формувати вміння працювати в середовищі програмування ; створювати проект.
Локальні мережі Комп'ютерна мережа – це система комп'ютерів, зв'язана каналами передачі інформації.
Транксрипт:

Тема 1 Основні засади мови Java

Мова Java: першоджерело

Історія Java: початок Розроблялася під егідою корпорації Sun з 1991 р. З самого початку - як мова для програмування побутових пристроїв, наприклад, для дистанційного керування телевізорами. Основні вимоги - компактність та незалежність від платформи. Перша назва - Oak. Співпадіння з назвою іншої мови, тому перейменована на Java. Перші прототипи не мали особливого комерційного успіху.

Історія Java: перші успіхи Тим часом - стрімкий розвиток Інтернету. Стало ясно, що за своїми основними рисами Java прекрасно підходить для Інтернет-застосувань р. - демонстрація технології на виставці Sun World. В першу чергу - аплети. Великий успіх р. - перша версія набору інструментальних засобів для створення Java-застосувань. Т.зв. JDK (Java Development Kit) 1.0. Ряд слабких місць; значні виправлення в 1.1 і особливо в 1.2. Введення-виведення, обробка подій в графічних застосуваннях, система безпеки і т.п.

Історія Java: Java 2 і далі 1998 р. - версія 1.2; ключовий момент. Починаючи з цього моменту - Java 2 Platform. Нова назва пакету - Java 2 SDK (Software Development Kit). Поняття deprecated-методу. Важлива віха – Java 5. Суттєві зміни в самій мові. Найновіша версія - 6. Широко використовується 1.4. Нова назва пакету – Sun JDK. Основні конкуренти Java.

Основні платформи (технології) Java Standart Edition (SE) - базовий пакет; Java Enterprise Edition (EE) - для корпоративних клієнт-серверних застосувань; Java Micro Edition (ME) - для портативних пристроїв; зокрема, для мобільних телефонів.

Програмні моделі Java application; applet; midlet; xlet; servlet; ejb.

Java - обєктно-орієнтована мова Одна з найважливіших характеристик мови. Часто кажуть - повністю обєктно- орієнтована. Програмний код завжди повинен бути інкапсульований у класи. Зокрема, це означає, що не може бути функцій поза класами. Таким чином, будь- яка програма, навіть найпростіша, повинна бути оформлена як клас (один або декілька).

Java-застосування Виконуються в середовищі операційної системи.

Приклад найпростішого застосування /* The simplest program*/ public class message { static String Out="You should not trouble so simple program"; public static void main(String args[]) throws Exception {System.out.println(Out); int Ch=System.in.read(); }

Java-застосування: продовження Метод main. Запитання: чи можна написати застосування, яке нормально працює, але не використовує методу main?

Аплети Програмні модулі, написані мовою Java, які виконуються в середовищі веб- браузера. Точніше - програмні модулі, які підключаються до веб-сторінки. При зверненні до сторінки вони завантажуються разом з нею і виконуються в середовищі броузера (тобто на стороні клієнта).

Загальна схема функціонування аплету Броузер Сервер HTML Клас аплету

Підключення аплету до сторінки...

Інша класифікація програм консольні; графічні (використання GUI)

Платформна незалежність Основна ідея - модулі, написані мовою Java, повинні працювати на будь-якій машині з будь-якою архітектурою та під управлінням будь-якої операційної системи. На рівні відкомпільованих програмних модулів. Девіз Sun: Write Once - Run Anywhere (напиши один раз - запускай де завгодно).

Ключові поняття віртуальна машина, JVM байт-код; JRE (Java Runtime Environment)

Незалежність від платформи - механізм реалізації Java-програма орієнтована на виконання на деякій гіпотетичній Java-машині (з певною архітектурою, набором команд і т.п). Віртуальна машина - сукупність засобів, які емулюють роботу Java-машини та забезпечують виконання відкомпільованих Java-класів. В реалізації від Sun - HotSpot. Початковий код Java-програми компілюється не в машинно-залежний код, а в проміжний код - байт-код. Т.ч., байт-код - це послідовність відкомпільованих команд Java- машини.

Байт-код - продовження. Далі, байт-код інтерпретується віртуальною машиною, яка забезпечує його виконання. Стандартний інтерпретатор - java. Технічно, байт-код зберігається в файлі з розширенням.class. В броузері - своя віртуальна машина.

Виконання програм: загальна схема виконання Початковий код Байт-код (.class) Компіляція Інтерпретація JIT-компіляція

Поняття про JIT-компіляцію Just-In-Time-компіляція; інша назва - синхронна компіляція. Байт-код транслюється в машинний код, який зберігається в памяті, а потім викликається при необхідності. Для фрагментів коду, які часто повторюються (наприклад, в циклі). Можна досягти прискорення до 20-ти разів. Про створення exe-файлу мова не йде. Стандартний інтерпретатор по суті працює в режимі JIT-компіляції.

Поняття про JRE Java Runtime Environment - середовище, яке забезпечує виконання Java-програм. Інсталюється разом з SDK, але може встановлюватися і окремо.

JRE: основні функції завантаження класів; управління памяттю; збирання сміття; бібліотека класів, які входять до поставки Java.

Завантажувачі класів Як мінімум - три завантажувачі: - первинний, який завантажує системні класи (як правило, з файлу rt.jar); - розширений - з каталогу jre/lib/ext; - системний - шукає класи в каталогах та jar-архівах, які вказані у змінній оточення CLASSPATH. При бажанні можна створити свій завантажувач.

Проблема безпеки Проблема, яка стосується як випадкових помилок, так і злонамірного коду. Будь-який код, який завантажується по мережі, вважається ненадійним.

Основні механізми безпеки рівень самої мови: виключені потенційно небезпечні можливості (перш за все - арифметика покажчиків); жорсткий контроль за виходом за межі масиву і т.п; верифікація, яка здійснюється при завантаженні класів (навіщо?); менеджер безпеки (Security Manager), який контролює потенційно небезпечні дії; використання цифрових підписів.

Основні моделі безпеки Як базова - модель в 1.0. За замовченням - застосування можуть здійснювати будь-які дії; аплети обмежені правиламипісочниці (sandbox).

Основні правила пісочниці аплет не може звертатися до локальної файлової системи; читати і записувати файли і т.п; аплет не може створювати мережних зєднань, за винятком того сервера, з якого він був завантажений (аплет може дзвонити тільки додому); аплет не може запускати модулі в машинному коді; аплету не дозволяється отримувати інформацію про системні властивості (крім деяких; прохання встановити самостійно - яких саме); …

Зміни в моделі безпеки надійні, підписані аплети можуть отримувати ті ж права, що й застосування; 1.2 і далі - самі права стають вибірковими.

Менеджер безпеки: основний принцип Коли клас звертається до методу, який виконує певні операції, цей метод викликає один з методів обєкту SecurityManager. Якщо нормально - виконання продовжується. Якщо ні - виникає виключення SecurityException.

Основні інструментальні засоби Основний пакет - SDK (Software Development Kit) від Sun. Основні програми SDK: - javac - компілятор; - java - інтерпретатор; - jar - програма створення архівів; - javadoc - автоматичне створення документації; - appletviewer - програма для перегляду аплетів.

Приклад тестового запитання Дана програма, записана в файлі kl.java: public class kl { …} class OtherClass{…} Скільки файлів.class буде створено в результаті операції javac kl.java: а) один, в якому обидва класи, що входять до початкового коду, будуть обєднані; б) два - за кількістю класів у файлі з початковим кодом; в) три - за кількістю класів плюс один, який встановлює звязок між цими класами; в) компілятор видасть повідомлення про синтаксичну помилку, оскільки в файлі не може бути більше за один клас; г) жодного, оскільки утиліта javac - це інтерпретатор байт-коду, а не компілятор.

Інші засоби (IDE) Net Beans; IntelliJIDEA; Eclipse; … про Visual J++ від Microsoft.

Java: основні риси мови простота; обєктна орієнтованість; розподіленість; незалежність від платформи; незалежність від архітектури; надійність; безпека; інтерпретованість; висока продуктивність; багатопоточність; динамічність.