Ну очень большие книги…

Рубрика: Java, Юмор | 3 December 2007, 11:39 | Vadim Voituk

И все-таки есть какая-то ирония в названии книги “Teach Yourself Java 6 in 21 Days”, состоящей из 721 страницы!

Такое ощущение, что издательства больше не издают книги по Java  размером менее 500 страниц.

Или это теперь касается все ИТ-книг?

Ещё одна задачка про Java internals

Рубрика: Java, Задачки | 1 December 2007, 22:36 | Vadim Voituk

Вот набрел в сети на ещё одну заковыристую задачу на знание спецификации Java
Код:
[java]

  double dd = 10.0;
  Double r = dd;
  Double r1 = dd;
  System.out.println("(r==r1) is "+(r==r1));

  Double r2 = 10.0;
  Double r3 = 10.0;
  System.out.println("(r2==r3) is "+(r2==r3));

  int ft = 21;
  Integer i1 = ft;
  Integer i2 = ft;
  System.out.println( "(i1==i2) is " + (i1==i2) );

  Integer i3 = new Integer(21);
  Integer i4 = new Integer(21);
  System.out.println("(i3 == i4) = "+(i3 == i4));

[/java]

Вопрос: что будет выведено на экран и почему?

Loopy Curse

Рубрика: Java, Задачки | 16 November 2007, 12:27 | juriy

Хоть задачка, приведенная ниже, и не моя, я просто не мог удержаться и не внести ее в блог, чтобы друзья тоже получили повод посушить голову.

Вопрос, как нужно проинициализировать i, чтобы цикл был бесконечным:

[java]

// initialize i so that loop is infinite
while (i == i + 1);

[/java]

Ответ опубликую в понедельник, если никто раньше не догадается :)

Вот и наступила новая неделя – задачку, конечно, решили.

Для первой задачи ответ такой:

[java]

double i = Double.POSITIVE_INFINITY;
while (i == i + 1);

[/java]

Если объяснять ответ просто: то получится что-то вроде следующего. Каков результат выражения “бесконечность + 1″, естественно, все та же “бесконечность”.

В действительности, даже бесконечности не надо: достаточно просто большого числа. К примеру 1e24. Достаточное условие того, что цикл бесконечен – Math.ulp(i) > 1

Если объяснять подробно, то можно отправить читателей на статью в Wiki.

Что касается второй задачки – я нашел два решения: с автобоксингом и без. Оба привожу ниже:

[java]

double a = Double.NaN;
double b = Double.NaN;

[/java]

[java]

double a = new Integer(1);
double b = new Integer(1);

[/java]

JMX Hello World

Рубрика: Java | 8 November 2007, 15:41 | juriy

Давно хотел набросать пару строк про JMX, но никак не доходили руки. Теперь, как говорится, жизнь заставила.

В первый раз я работал с этой технологией в проекте, где обязательным требованием было использование Java 1.4. А в этой версии, как известно, встроенной поддержки JMX нету. Благодаря этому факту, и еще нескольким нюансам у меня сложилось впечатление, что JMX это до ужаса сложная штуковина и работать с ней нормальный человек все равно не сможет.

На самом деле в JMX нету абсолютно ничего страшного. На то чтобы начать использовать эту технологию в своем проекте потребуется не больше трех часов. А с моей заметкой – максимум 40 минут ;-). [Далее...]

It`s a year of Groovy/Grails

Рубрика: Development, Groovy, Java | 17 October 2007, 14:47 | Vadim Voituk

Не зря говорил мне один и разработчиков Groovy, что 2007-й – это будет год прорыва Groovy и Grails и судя по обилию новостей о них в последнее время так оно и есть.

Закрутившись в рутине рабочих будней чуть не пропустил несколько достаточно важных обновлений. [Далее...]

Что 7-ка нам готовит?

Рубрика: Development, Java | 15 October 2007, 14:22 | Vadim Voituk

Ещё после анонса Java 6 Mustang, компания Sun Microsystems заявила о том, что это не будет скачком сродни Java 1.4 => Java 5, и языковые возможности языка останутся теми же. Там же “по секрету” анонсировалось начало работ на Java 7 Dophin, который уже будет содержать новые языковые возможности и как результат новый формат class-файла.

Итак что же такого нового готовит разработчикам выход 7й версии JVM: [Далее...]

The main Groovy 1.1-beta-3 feature

Рубрика: Development, Groovy, Java | 10 October 2007, 19:29 | Vadim Voituk

В прошлом обзоре новых возможностей Groovy 1.1-beta-3 упустил очень значительное дополнение в groovyc ant task, позволяющее решить “проблему курицы и яйца”.

Суть проблемы возникала в том, что если в проекте есть циклические зависимости между Groovy-кодом и Java-кодом, то не ясно в какой последовательности компилировать классы. Например Java-класс зависит от Groovy-класса, который в свою очередь зависит от Java-класса. [Далее...]

LinkedIn is hiring for Groovy&Grails programmers

Рубрика: Development, Groovy, Java, LinkedIn | 6 October 2007, 11:56 | Vadim Voituk

Не смотря на негативные отзывы скептиков в отношении Grails, как наследника RoR-подхода в Java-мире, framework привлекает внимаение не только энтузиастов, но и полноценного ИТ-бизнеса. Все чаще в сети появляются вакансии, в которых помимо знаний Java-технологий желательно знанание Groovy и Grails. [Далее...]

Системные потоки в J2ME

Рубрика: Development, Java, Mobile | 6 September 2007, 08:33 | Vadim Voituk

Разгребая старые завалы почты натолкнулся на перевод заметки сделанной мною ещё во времена увлечения J2ME. Тем не менее статья до сих пор не утратила актуальность, потому привожу её перевод здесь. [Далее...]

Comments Off

Groovy работа с базой

Рубрика: Development, Groovy, Java | 28 August 2007, 16:27 | juriy

Сегодня возникла простая задачка: необходимо было выбрать из базы фрагменты строк, которые соответствовали некоторым признакам. Коллега засучив рукава принялся писать громоздкий SQL запрос, который то и дело работал не так как надо. В таких случаях я пишу небольшие Java программки, которые решают проблему.

Сегодня у меня возникло желание научить коллегу писать подобные решения, но объяснять человеку как скомпилировать класс, подключить в classpath JDBC драйвера, почему нужно ловить исключения, открывать и закрывать потоки для записи файла, использовать промежуточный объект Statement не было времени. [Далее...]

Страница 6 из 1012345678910