Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемАндрей Янковский
1 Тема 1 Основні засади мови Java
2 Мова Java: першоджерело
3 Історія Java: початок Розроблялася під егідою корпорації Sun з 1991 р. З самого початку - як мова для програмування побутових пристроїв, наприклад, для дистанційного керування телевізорами. Основні вимоги - компактність та незалежність від платформи. Перша назва - Oak. Співпадіння з назвою іншої мови, тому перейменована на Java. Перші прототипи не мали особливого комерційного успіху.
4 Історія Java: перші успіхи Тим часом - стрімкий розвиток Інтернету. Стало ясно, що за своїми основними рисами Java прекрасно підходить для Інтернет-застосувань р. - демонстрація технології на виставці Sun World. В першу чергу - аплети. Великий успіх р. - перша версія набору інструментальних засобів для створення Java-застосувань. Т.зв. JDK (Java Development Kit) 1.0. Ряд слабких місць; значні виправлення в 1.1 і особливо в 1.2. Введення-виведення, обробка подій в графічних застосуваннях, система безпеки і т.п.
5 Історія Java: Java 2 і далі 1998 р. - версія 1.2; ключовий момент. Починаючи з цього моменту - Java 2 Platform. Нова назва пакету - Java 2 SDK (Software Development Kit). Поняття deprecated-методу. Важлива віха – Java 5. Суттєві зміни в самій мові. Найновіша версія - 6. Широко використовується 1.4. Нова назва пакету – Sun JDK. Основні конкуренти Java.
6 Основні платформи (технології) Java Standart Edition (SE) - базовий пакет; Java Enterprise Edition (EE) - для корпоративних клієнт-серверних застосувань; Java Micro Edition (ME) - для портативних пристроїв; зокрема, для мобільних телефонів.
7 Програмні моделі Java application; applet; midlet; xlet; servlet; ejb.
8 Java - обєктно-орієнтована мова Одна з найважливіших характеристик мови. Часто кажуть - повністю обєктно- орієнтована. Програмний код завжди повинен бути інкапсульований у класи. Зокрема, це означає, що не може бути функцій поза класами. Таким чином, будь- яка програма, навіть найпростіша, повинна бути оформлена як клас (один або декілька).
9 Java-застосування Виконуються в середовищі операційної системи.
10 Приклад найпростішого застосування /* 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(); }
11 Java-застосування: продовження Метод main. Запитання: чи можна написати застосування, яке нормально працює, але не використовує методу main?
12 Аплети Програмні модулі, написані мовою Java, які виконуються в середовищі веб- браузера. Точніше - програмні модулі, які підключаються до веб-сторінки. При зверненні до сторінки вони завантажуються разом з нею і виконуються в середовищі броузера (тобто на стороні клієнта).
13 Загальна схема функціонування аплету Броузер Сервер HTML Клас аплету
14 Підключення аплету до сторінки...
15 Інша класифікація програм консольні; графічні (використання GUI)
16 Платформна незалежність Основна ідея - модулі, написані мовою Java, повинні працювати на будь-якій машині з будь-якою архітектурою та під управлінням будь-якої операційної системи. На рівні відкомпільованих програмних модулів. Девіз Sun: Write Once - Run Anywhere (напиши один раз - запускай де завгодно).
17 Ключові поняття віртуальна машина, JVM байт-код; JRE (Java Runtime Environment)
18 Незалежність від платформи - механізм реалізації Java-програма орієнтована на виконання на деякій гіпотетичній Java-машині (з певною архітектурою, набором команд і т.п). Віртуальна машина - сукупність засобів, які емулюють роботу Java-машини та забезпечують виконання відкомпільованих Java-класів. В реалізації від Sun - HotSpot. Початковий код Java-програми компілюється не в машинно-залежний код, а в проміжний код - байт-код. Т.ч., байт-код - це послідовність відкомпільованих команд Java- машини.
19 Байт-код - продовження. Далі, байт-код інтерпретується віртуальною машиною, яка забезпечує його виконання. Стандартний інтерпретатор - java. Технічно, байт-код зберігається в файлі з розширенням.class. В броузері - своя віртуальна машина.
20 Виконання програм: загальна схема виконання Початковий код Байт-код (.class) Компіляція Інтерпретація JIT-компіляція
21 Поняття про JIT-компіляцію Just-In-Time-компіляція; інша назва - синхронна компіляція. Байт-код транслюється в машинний код, який зберігається в памяті, а потім викликається при необхідності. Для фрагментів коду, які часто повторюються (наприклад, в циклі). Можна досягти прискорення до 20-ти разів. Про створення exe-файлу мова не йде. Стандартний інтерпретатор по суті працює в режимі JIT-компіляції.
22 Поняття про JRE Java Runtime Environment - середовище, яке забезпечує виконання Java-програм. Інсталюється разом з SDK, але може встановлюватися і окремо.
23 JRE: основні функції завантаження класів; управління памяттю; збирання сміття; бібліотека класів, які входять до поставки Java.
24 Завантажувачі класів Як мінімум - три завантажувачі: - первинний, який завантажує системні класи (як правило, з файлу rt.jar); - розширений - з каталогу jre/lib/ext; - системний - шукає класи в каталогах та jar-архівах, які вказані у змінній оточення CLASSPATH. При бажанні можна створити свій завантажувач.
25 Проблема безпеки Проблема, яка стосується як випадкових помилок, так і злонамірного коду. Будь-який код, який завантажується по мережі, вважається ненадійним.
26 Основні механізми безпеки рівень самої мови: виключені потенційно небезпечні можливості (перш за все - арифметика покажчиків); жорсткий контроль за виходом за межі масиву і т.п; верифікація, яка здійснюється при завантаженні класів (навіщо?); менеджер безпеки (Security Manager), який контролює потенційно небезпечні дії; використання цифрових підписів.
27 Основні моделі безпеки Як базова - модель в 1.0. За замовченням - застосування можуть здійснювати будь-які дії; аплети обмежені правиламипісочниці (sandbox).
28 Основні правила пісочниці аплет не може звертатися до локальної файлової системи; читати і записувати файли і т.п; аплет не може створювати мережних зєднань, за винятком того сервера, з якого він був завантажений (аплет може дзвонити тільки додому); аплет не може запускати модулі в машинному коді; аплету не дозволяється отримувати інформацію про системні властивості (крім деяких; прохання встановити самостійно - яких саме); …
29 Зміни в моделі безпеки надійні, підписані аплети можуть отримувати ті ж права, що й застосування; 1.2 і далі - самі права стають вибірковими.
30 Менеджер безпеки: основний принцип Коли клас звертається до методу, який виконує певні операції, цей метод викликає один з методів обєкту SecurityManager. Якщо нормально - виконання продовжується. Якщо ні - виникає виключення SecurityException.
31 Основні інструментальні засоби Основний пакет - SDK (Software Development Kit) від Sun. Основні програми SDK: - javac - компілятор; - java - інтерпретатор; - jar - програма створення архівів; - javadoc - автоматичне створення документації; - appletviewer - програма для перегляду аплетів.
32 Приклад тестового запитання Дана програма, записана в файлі kl.java: public class kl { …} class OtherClass{…} Скільки файлів.class буде створено в результаті операції javac kl.java: а) один, в якому обидва класи, що входять до початкового коду, будуть обєднані; б) два - за кількістю класів у файлі з початковим кодом; в) три - за кількістю класів плюс один, який встановлює звязок між цими класами; в) компілятор видасть повідомлення про синтаксичну помилку, оскільки в файлі не може бути більше за один клас; г) жодного, оскільки утиліта javac - це інтерпретатор байт-коду, а не компілятор.
33 Інші засоби (IDE) Net Beans; IntelliJIDEA; Eclipse; … про Visual J++ від Microsoft.
34 Java: основні риси мови простота; обєктна орієнтованість; розподіленість; незалежність від платформи; незалежність від архітектури; надійність; безпека; інтерпретованість; висока продуктивність; багатопоточність; динамічність.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.