понедельник, 10 сентября 2007 г.

Google + Microsoft

Неужели Google и Microsoft подружились? Google предлагает скачать IE7 со встроенной панелью Google со своего сайта.

Играем мускулами

Несмотря на то, что некоторые западные критики свысока смотрят на российские ВВС, американские и британские самолеты с поразительной частотой по тревоге взлетают в небо для конвоирования российских стратегических бомбардировщиков, отслеживают их действия во время проведения летно-тактических учений. Это и есть реальная оценка НАТО потенциальных возможностей российских стратегических ВВС.

Java Puzzle 38: The Unwelcome Guest

Авторы наворотили безумную программу, высосанную из пальца, так как нормальные программисты так не пишут. Вкратце, рассмотрим следующий код:
public class UnwelcomeGuest {
    private static final long ID;
    static {
        try {
            ID = getID(); // can throw an exception
        } catch (Exception exception) {
            ID = -1;
        }
    }
}
Проблема тут в том, что blank final поле может быть инициализирована только в том месте программы, где она действительно неинициализирована. Но компилятор не может определить, что первое присваивание недостижимо. Авторы рекомендуют создать статический метод для вычисления значения поля:
public class UnwelcomeGuest {
    private static final long ID = calcID();
    private static long calcID() {
        try {
            return getID(); // can throw an exception
        } catch (Exception exception) {
            return -1;
        }
    }
}
Плюсом этого подхода является то, что вычисление значения константы вынесено в отдельный метод, для которого можно написать документацию (что, как и почему)...