Читаем Философия Java3 полностью

11  Джошуа Блош в своей книге (в разделе «Избегайте финализаторов») высказывается еще решительнее: «Финализаторы непредсказуемы, зачастую опасны и чаще всего не нужны». Effective Java, стр. 20 (издательство Addison-Wesley, 2001).

12  Этот термин предложил Билл Веннерс (www.artima.com) во время семинара, который мы проводили с ним вместе.

Конечно, проверка каждого массива на соблюдение границ требует времени и дополнительного кода, и отключить ее невозможно. Это может снизить быстродействие программы, у которой в критичных (по времени) местах активно используются массивы. Но проектировщики Java решили, что для безопасности Интернета и продуктивности программиста такие издержки себя оправдывают.

Использовать Java-интерпретатор не обязательно. Существует несколько компиляторов, создающих единый исполняемый файл.

13  На самом деле доступ private или protected могут иметь внутренние классы, но это особый случай (см. главу 8).

14  Эта концепция внутренних классов сильно отличается от концепции вложенных классов С++, которые представляют собой простой механизм для сокрытия имен. Вложенные классы С++ не имеют связи с объектом-оболочкой и прав доступа к его элементам.

15  Близкий аналог вложенных классов С++, за тем исключением, что в Java вложенные классы способны обращаться к закрытым членам внешнего класса.

16  Я всегда решал эту задачу с особым удовольствием; она впервые появилась в одной из первых моих книг С++ Inside & Out, но Java-реализация выглядит гораздо элегантнее.

17  Механизм обработки исключений в языке С++ не имеет аналога finally, поскольку опирается на деструкторы в такого рода действиях.

18  Деструктор — специальная функция, вызываемая при завершении работы с объектом. Всегда точно известно, где и когда вызывается деструктор. В языке С# (который гораздо больше схож с Java) реализовано автоматическое уничтожение объектов.

19  Язык С++ стандарта ISO вводит аналогичные ограничения при возбуждении исключений унасле-' дованными версиями методов (исключения обязаны быть такими же или унаследованными от исключений базовых версий методов). Это единственный способ С++ для контроля верности описания исключений во время компиляции.

 Косвенно через язык Smalltalk, после разговоров со многими опытными программистами на этом языке, и напрямую при работе с Python (www.Python.org).

20  Киз Костер, архитектор языка CDL, процитировано Бертраном Мейером, создателем языка Eiffel. http://www.elj.com/elj/vl/nl/bm/right.

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT