Saint Petersburg, 2011 Java Lecture #03 Luchie Praktiki.

Презентация:



Advertisements
Похожие презентации
-5х=102х=-260х=-4 х=-2 х=-13 нет решений х= х= х= -7 -х= -4-6 х= 10 -2х= 3-3 х= 0.
Advertisements

Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Ресурсы WPF Два типа ресурсов WPF: объектные ресурсы (object resource) – определенный.NET-объект, который можно использовать многократно; ресурсы сборки.
1 Java. Введение JDK, JRE, JVM, IDE Ерофеева Елена Анатольевна ассистент кафедры МПУ.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
Программная инженерия Дмитриев Андрей Владиславович
Платформа Java SE: введение Андрей Дмитриев
1 Java 6. ИНТЕРФЕЙСЫ И ВНУТРЕННИЕ КЛАССЫ. 2 Интерфейсы Не являются классами Ни один из объявленных методов не может быть реализован внутри интерфейса.
Разработка сред управляемого исполнения на примере виртуальной машины Java Занятие 2 Салищев С.И.
Saint PetersburgSaint Petersburg.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Saint Petersburg, 2012 Java Lecture #1 Intro DSA Collections.
1 Java 6. ИНТЕРФЕЙСЫ И ВНУТРЕННИЕ КЛАССЫ. 2 Интерфейсы Не являются классами Ни один из объявленных методов не может быть реализован внутри интерфейса.
1 Классы в Java Ключевое слово class означает: Я говорю тебе, как выглядит новый тип объекта. Класс является базовым элементом объектно-ориентированного.
1 3 o 5 Оценка эффективности инвестиций 6 Определение затрат.
Практическое использование Java Макаревич Л. Г.. Инсталляция Java Документация в docs Прописать PATH (каталог bin в JSDK) Прописать CLASSPATH (путь к.
Верификация байт- кода в среде смарт- карт: использование криптографических методов К. Н. Хюппенен Кафедра информатики и математического обеспечения ПетрГУ.
1 © Luxoft Training 2012 Понятие Java приложения Модуль #4.
Создание проекта Zend Лекция 2 1.Создание нового проекта 2.Анализ нового проекта 3.Создание макетов.
Программная инженерия Андрей Дмитриев ©
Транксрипт:

Saint Petersburg, 2011 Java Lecture #03 Luchie Praktiki

Best Practices Используйте интерфейс только для определения типов. Шаблон интерфейса констант - это неудачный вариант использования интерфейсов. 2

Best Practices Проверяйте параметры в публичных методах. 3

Best Practices Возвращайте пустой объект, а не null 4

Best Practices 5 Для таких случаев есть паттерн Null Object

Best Practices 6 С перегрузкой методов лучше быть осторожней Выбор перезагруженных методов является статическим и определяется в момент компиляции. Выбор переопределенных методов – динамический.

Best Practices Для ссылки на объект используйте его интерфейс 7

Best Practices Помните о Java Literal Pool 8

Best Practices 9 Немного о наследовании

Best Practices 10 Немного о делегировании

Best Practices 11 Во имя эффективности (без обязательности ее достижения) делается больше вычислительных ошибок, чем по каким-либо иным причинам, включая непроходимую тупость. William A. Wolf Мы обязаны забывать о мелких усовершенствованиях, скажем, на 97% рабочего времени: опрометчивая оптимизация – корень всех зол. Donald E. Knuth Что касается оптимизации, то мы следуем двум правилам: Правило 1: Не делайте этого. Правило 2 (только для экспертов): пока не делайте этого – т.е. пока у вас нет абсолютно четкого, но неоптимизированного решения. M. A. Jackson

Object pool 12 Управляет повторным использованием объектов в случаях, когда создание объектов требует больших затрат или может быть создано только ограниченное количество объектов некоторого вида.

Classloaders 13 Различают 3-и вида загрузчиков в Java. Это базовый загрузчик (bootstrap), системный загрузчик (System Classloader), загрузчик расширений (Extension Classloader).

Classloaders 14 Bootstrap реализован на уровне JVM и не имеет обратной связи со средой исполнения. Данным загрузчиком загружаются классы из директории $JAVA_HOME/lib. System Classloader системный загрузчик, реализованный уже на уровне JRE. В Sun JRE это класс sun.misc.Launcher$AppClassLoader. Этим загрузчиком загружаются классы, пути к которым указаны в переменной окружения CLASSPATH. Управлять загрузкой системных классов можно с помощью ключа -classpath или системной опцией java.class.path. Extension Classloader загрузчик расширений. Данный загрузчик загружает классы из директории $JAVA_HOME/lib/ext. В Sun JRE это класс sun.misc.Launcher$ExtClassLoader.