
- •Вопросы по дисциплине «Информационные технологии»
- •Основы платформы Java. Основные семейства технологии Java.
- •Типы Java-приложений.
- •3. Основные возможности Java. Компиляции и исполнение программ на Java.
- •4. Типы данных языка Java., объектные переменные, объекты, ссылки.
- •5. Управление памятью на Java.
- •6. Интерфейс jdbc, основные классы и методы
- •7. Создание многопоточности средствами Java
- •8. Серверные приложения языка Java. Сервлеты
- •Jsp страница
- •Рассмотрим некоторые из таких директив.
- •10. Пакеты Java
- •11. Механизм создания Javadoc
- •12. Механизм исключений
5. Управление памятью на Java.
Управление памятью относится к числу тех свойств языка Java, которые заложены в само его ядро и непосредственно обеспечиваются JVM. Память для данных примитивных типов выделяется в области локальных переменных кадра. Кадр для метода выделяется только на время выполнения метода, при завершении выполнения память кадра освобождается, а следовательно, и освобождаются и все локальные переменные. Объект в программе доступен только через переменную, являющуюся ссылкой на него.
В языке Java имеется операция new, которая явным образом выделяет память для тела объекта и возвращает ссылку на созданный объект. Память для каждого объекта выделяется явным образом, при помощи этой операции. Создание новых объектов возможно также неявным образом - некоторые библиотечные методы создают (при помощи той же операции new) новый объект и возвращают ссылку на созданный объект. Программа не освобождает выделенную память, это освобождение выполняется в JVM программным механизмом, который называется сборщиком мусора (garbage collector). Сборщик мусора считает неиспользуемыми те объекты, на которые нет ссылок. Когда накопление мусора приводит к нехватке памяти, вступает в действие сборщик мусора. Для обеспечения работы сборщика мусора в дескрипторе каждого объекта имеется "признак мусора". При создании объекта "признак мусора" устанавливается во взведенное состояние. Алгоритм работы сборщика мусора (один из его вариантов) состоит из двух фаз:
Фаза маркировки. Сборщик мусора просматривает области локальных переменных всех активных в настоящий момент методов, а также поля всех доступных объектов. В дескрипторах тех объектов, на которые есть ссылки в просмотренных областях "признак мусора" сбрасывается
Фаза очистки. Просматривается область кучи, дескрипторы всех объектов. Те объекты, "признак мусора" которых оказывается взведенным (не был сброшен в фазе маркировки), являются мусором, занимаемая ими память освобождается. У тех же объектов, "признак мусора" которых сброшен, этот признак взводится - для подготовки к следующей сборке мусора.
Сборку мусора выгоднее производить только в те моменты, когда мусора накопится много: в этом случает при тех же затратах будет получен больший результат. Поэтому операция сборки мусора может создавать некоторую проблему при выполнении Java-программ. Проблема состоит в том, что момент активизации сборщика мусора непредказуем, а когда такая активизация произойдет, она вызовет задержку в вычислениях.
6. Интерфейс jdbc, основные классы и методы
JDBC представляет собой Java-данных на базе технологии доступа (Java Standard Edition платформа) от Sun Microsystems, Inc. Эта технология API для языка программирования Java , который определяет, как клиент может получить доступ к базе данных . Он предоставляет методы для запросов и обновления данных в базе данных. JDBC ориентирована на реляционных базах данных .
Функциональность
JDBC позволяет несколько реализаций существовать и использоваться одним и тем же приложением. API предоставляет механизм для динамической загрузки правильный пакет Java и их регистрации с помощью драйвера JDBC Driver Manager Manager. JDBC соединение поддерживает создание и выполнение заявления. Это может быть обновление таких заявлений, как SQL создадим, INSERT, UPDATE и DELETE, или они могут быть запрос предложений, таких как SELECT. Кроме того, хранимые процедуры могут быть вызваны через соединение JDBC.
В приведенном ниже примере показано создание заявление и выполнения запроса.
Заявления зЬтЬ = подкл. createStatement ( ) ;
попробуйте {
ResultSet . RS = зЬтЬ ExecuteQuery ( "SELECT * FROM MyTable" ) ,
попробуйте {
а ( г,. следующий ( ) ) {
Int numColumns = RS. GetMetadata ( ) .getColumnCount ( ) ;
для ( Int я = 1 ; я < = numColumns , я + + ) {
/ / Номера столбцов начинаются с 1.
/ / Также существует много методов результирующего набора возвращаются
/ / столбца, определенного типа. Обратитесь к документации ВС
/ / для списка допустимых преобразований.
Система .из .println ( "столбец" + я + "=" + RS. GetObject ( я ) ) ;
}
}
} наконец {
попробуйте { RS. закрыть ( ) ; } поймать ( Throwable игнорировать ) { / * Распространить исходное исключение, вместо этого, что вы можете просто войти * / }
}
} наконец {
попробуйте { зЬтЬ. закрыть ( ) ; } улова ( Throwable игнорировать ) { / * Распространить исходное исключение вместо этого, что вы можете просто войти * / }
}
JDBC драйвера
JDBC драйверов клиентских адаптеров (установлен на клиентской машине, а не на сервере), которые преобразуют запросы программ Java в протокол, что СУБД может понять.
Типы
Есть коммерческие и бесплатные драйверы для большинства реляционных серверов баз данных. Эти драйверы относятся к одному из следующих типов:
Типа 1 , который вызывает машинный код локально доступных драйверов ODBC.
Тип 2 , который вызывает базы данных о поставщиках родной библиотеки на стороне клиента. Этот код затем общается с базой данных по сети.
Тип 3 , чистой Java драйверов, что переговоры с серверными промежуточного то, что общается с базой данных.
Тип 4 , чистый Java драйвер, который использует базу данных собственный протокол.
Существует также тип, называемый внутренний драйвер JDBC , водитель со встроенными в Java JRE с поддержкой баз данных SQL. Он используется для Java хранимых процедур . Это не относится к приведенной выше классификации, хотя она, вероятно, будет либо 2-го типа или тип 4 водителя (в зависимости от того, сама база данных реализована в Java или нет). Примером этого является KPRB драйвер, поставляемый с СУБД Oracle. "JDBC: по умолчанию: связь" является относительно стандартным способом ссылкой принятия такого соединения (по крайней мере, Oracle и Apache Derby его поддерживают). Различие здесь в том, что клиент JDBC на самом деле работает как часть базы данных, доступ, так что доступ может быть сделано непосредственно, а не через сетевые протоколы.
Семь шагов использования JDBC
1. Загрузить драйвер не требуется в Java 6 (т.е. в Java 6 всего 6 шагов :)
2. Определить строку соединения
3. Открыть соединение
4. Создать объект -выражение (Statement)
5. Выполнить запрос
6. Обработать результат
7. Закрыть соединение.