Думай на Java

Думай на Java

Приложение А Передача и возврат объектов.
Манипуляции с ссылками
Дублирующие ссылки (aliacing)
Создание локальных копий объектов
Передача параметров "по значению"

Клонирование объектов
Добавление клонируемости в класс
Успешное клонирование
Функции метода Object.clone()
Клонирование составных объектов


Глубокое копирование при помощи ArrayList
Глубокое копирование при помощи сериализации (serialization)

Обеспечение клонируемости объектов-наследников
Почему используется такая странная конструкция?
Управление клонируемостью объектов
Конструкторы копирования

Классы только для чтения
Создание классов только для чтения
Недостаток неизменных классов
Immutable строки
Классы String и StringBuffer

Особенности строк
Итоги
Упражнения
B: Java Native Interface (JNI)
Вызов собственных методов
Javah: генератор заголовочных файлов на С
Искажение имен и сигнатура функций
Реализация вашей DLL
Доступ к JNI функциям: аргументы JNIEnv

Доступ к Java строкам
Передача и использование Java объектов
Передача и использование Java объектов - 2
JNI и исключения в Java
JNI и нити процесса
Использование существующего кода
Дополнительная информация
C: Руководящие принципы программирования на Java
Проектировка

Реализация
Программное обеспечение
Книги
Анализ и проектировка
Python
Мой собственный список книг
Содержание раздела