
- •Часть 1
- •Часть 1
- •Часть 1'
- •1. Задачи, поставленные при разработке языка. Компиляция и интерпретация.
- •2. Приложения и апплеты. Их жизненные циклы. Передача параметров.
- •3. Классы. Инкапсуляция. Описание полей и методов
- •4. Примитивные типы данных и операции над ними. Классы-оболочки.
- •Целочисленные типы данных.
- •Булев тип
- •5. Операторы реализации алгоритмов.
- •Нормальное и прерванное выполнение операторов
- •Пустой оператор
- •Оператор if
- •If (логическое выражение) выражение или блок 1 else выражение или блок 2
- •Оператор switch
- •Цикл while
- •Цикл do
- •Цикл for
- •Оператор continue
- •Оператор break
- •Оператор return
- •Использование оператора throw
- •6. Классы: наследование, полиморфизм. Полиморфиз
- •Защищенные (protected) методы и переменные.
Часть 1
Экзаменационные вопросы по курсу "Java и сетевые технологии"
Благодарю за помощь
в составлении сей работы: Андрея Малевича
(Kenny_HORROR), Вову Шафаловича (BABAH), Ломакина
Германа (-=SpellBound=-), Никиту Белоглазова
(Nikelandjelo), группу
"Ария", группу "Кипелов", группу
"Сергей Маврин"
и всех, кто без моего ведома внёс полезный
вклад в сие творение в
то время как остальные читали ма и дм,
а также тех, кто послужил источниками,
не всё же руками набирать =) -Pavel Perestoronin
07.01.10 22:09
Часть 1
Есть 1. Задачи, поставленные при разработке языка. Компиляция и интерпретация.
Есть 2. Приложения и апплеты. Их жизненные циклы. Передача параметров.
Есть 3. Классы. Инкапсуляция. Описание полей и методов. [дополнен 01/13/2010]
Есть 4. Примитивные типы данных и операции над ними. Классы-оболочки. [дополнен 01/13/2010]
Есть 5. Операторы реализации алгоритмов. [дополнен 01/13/2010]
Есть 6. Классы: наследование, полиморфизм. [дополнен/подправлен 01/13/2010]
Часть 1'
Есть 7. Иерархия классов исключительных ситуаций. Обработка исключительных ситуаций. [дополнен 01/13/2010]
Есть 8. Интерфейсы. Сравнение с абстрактными классами.
Есть 9. Пакеты. Квалификаторы доступа к полям, методам, классам (public, ...)
Есть 10. Слова static, final. Правила именования полей, методов, классов.
Есть 11. Массивы. Алгоритмы обработки массивов. Цикл for-each.
Есть 12. Строки в Java.
Часть 2
Есть 13. Настраиваемые классы, интерфейсы, методы.
Есть 14. Перечисления в Java.
Есть 15. Методы. Методы с переменным количеством аргументов.
Есть 16. События. Модель обработки событий.
Есть 17. Библиотека компонентов AWT.
Есть 18. Библиотека компонентов JFC Swing.
Часть 2'
Есть 19. Способы компоновки.
Есть 20. Внутренние классы.
Есть 21. Структуры данных: коллекции. Цикл for-each.
Есть 22. Структуры данных: карты.
Есть 23. Алгоритмы обработки массивов и коллекций.
Есть 24. Итераторы и компараторы.
Часть 3
Есть 25. XML и HTML: преимущества и недостатки.
Есть 26. Структура XML-документа.
Есть 27. Разбор XML. Технология DOM.
Есть 28. Разбор XML. Технология SAX.
Есть 29. Понятие DTD. Проверка корректности XML.
Есть 30. Понятие XML-схем. Проверка корректности XML.
Часть 3'
Есть 31. WWW. Задачи HTML. Типичная структура узла.
Есть 32. Структура HTML-документа. Заголовок HEAD.
Есть 33. HTML: заголовки, абзацы, списки.
Есть 34. HTML: таблицы, изображения, гиперссылки.
Есть 35. HTML-формы.
Есть 36. Стили в HTML.
Cheats:
1. Задачи, поставленные при разработке языка. Компиляция и интерпретация.
Первоначальным стимулом для Java была потребность в независимом от платформы языке, который мог использоваться для создания программного обеспечения с целью внедрения в электронные устройства различных потребителей.
Когда разрабатывались детали Java, всплыл второй фактор - Всемирная Паутина. Хотелось бы, чтобы различные типы платформ, присоединеннык к internet, были способны выполнить одну и ту же программу.
Java получил многие общие свойства из С
и С++. Проектировщики знали, что
использование знакомого синтаксиса
сделают их язык обращённым к легионам
опытных программистов С/С++, наивные.
Ещё одно: Java не был разработан для замены
С++. Он был создан, чтобы решить некоторый
набор проблем, в то время как С++ был
рассчитан для решения другого набора
проблем.
Internet помог катапультировать Java на передний край программирования, а Java? в свою очередь, имел глубокое влияние на Internet.
Защита - когда вы используете совместимый
с Java браузер, то можете безопасно
загружать Java апплеты, не опасаясь H1N1 вирусной
инфекции или злых намерений. Язык
обеспечивает защиту, ограничивая
Java-программу средой её выполнения, и не
позволяет ей получить доступ к другим
частям компьютера. Способность загружать
апплеты с уверенностью, что никакой
вред не будет причинён и никакая защита
не будет нарушена, расматривается
многими как наиболее важный аспект
Java.
Ключом, который позволяет Java решать описанные проблемы защиты и мобильности, является байт-код (bytecode).
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор, но с тем отличием, что байтовый код, в отличие от текста, обрабатывается значительно быстрее.
Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. Данное утверждение было справедливо для первых версий виртуальной машины Java, однако в последнее время оно практически потеряло актуальность. Этому способствовал ряд усовершенствований:
применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,
широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,
аппаратные средства, обеспечивающие ускоренную обработку байт-кода