Философия Java3
вернуться

Эккель Брюс

Шрифт:

Конечно, проверка каждого массива на соблюдение границ требует времени и дополнительного кода, и отключить ее невозможно. Это может снизить быстродействие программы, у которой в критичных (по времени) местах активно используются массивы. Но проектировщики 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.

21  Сказанное относится в основном к документации ранних версий Java. Теперь фирма Sun значительно улучшила HTML-документацию Java, и найти методы базовых классов стало проще.

22  Все употребляемые далее термины: «настраивание», «наслаивание», «фильтрация» или «декорирование» — по сути, означают одно и то же — перегрузку всех методов InputStream для придания дополнительной функциональности при работе с данными потоков. При этом класс FilterlnputStream осуществляет перегрузку без посторонней помощи, а данные соответствующим образом трансформируются. Подклассы FilterlnputStream могут, в свою очередь, перегрузить эти же методы и добавить дополнительные методы и поля. — Примеч. ред.

23  В стандарте Unicode 3.0 (раздел 3.8, Transformations) говорится, что UTF-8 сериализует значения в последовательность от одного до четырех байтов. Описание UTF-8 во второй редакции ISO/ IEC 10646 допускает также пятый и шестой байты, но это не является корректным для стандарта Unicode. Сказанное в двух предыдущих предложениях является особенностью именно Java-реализации UTF-8. — Примеч. ред.

24  Описываемые здесь каналы (channels) следует отличать от каналов (pipe), создаваемых классами PipedlnputStream и PipedOutputStream. Первые представляют собой еще один источник данных, а вторые налаживают обмен данными между различными процессами. — Примеч. перев.

Как уже упоминалось в главе 12, не следует путать два разных понятия — поток данных (stream) в системе ввода/вывода и поток выполнения (thread) в многозадачном окружении. — Примеч. перев.

25  Источником вдохновения послужила книга Effective Java Джошуа Блоша, издательство Addison-Wesley, 2001, с. 190.

  • 1
  • ...
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • help@private-bookers.win