elizarov


Блог Романа Елизарова


Previous Entry Share Next Entry
Второй день JavaOne
elizarov
Слушал много сессий :) Neal Gafter рассказывал про Closures, Alex Buckley про модульность, Cliff Click cделал очень веселый рассказ про data races.

К сожалению, Cliff Click подтвердил что "state of the art and state of the practiсe" в отладке data races это визуальные инспекции кода, аккуратное документирования и т.п. В общем, читайте замечательную книгу "Concurrency in Practice" by Brian Goetz. Процесс абсолютно не масштабируемый, но ничего лучше сейчас просто нет. Единственный инструмент каторый как-то может помочь на практите это FindBugs. Его автор "Mr. Skip-List" Bill Pugh, как всегда, сделал шикарный доклад с примерам про то как казалось бы абсолютно идиотские ошибки (типа метода equals который всегда возвращает false), после добавления их описания в FindBugs, были обнаружены в десятке мест в JDK, Glassfish, TomCat и других больших проектах.

Слушал доклад про Transactional Memory. В то время как существуем масса реализаций STM (software transactional memory), они все создают существенные накладные рассходы. Однако есть и перспективное направление развития -- Hardware Transactional Memory. Именно здесь нас скорей всего ждет прорыв в направлении масштабируемого многопоточного программирования. Но сначала должны появиться массовые процессоры поддерживающие транзакции с памятью на аппаратном уровне.

  • 1
(Deleted comment)
Не сравнивал. Из очевидных различий -- FindBugs смотрит на .class файлы, IDEA на исходники. В качестве экзотики, FindBugs можно "натравливать" на 3rd party jar файлы, к которым у тебя нету исходников. На вскидку, IDEA умеет всё тоже самое что FindBugs и больше, но я не активный пользователь FindBugs, чтобы это однозначно утверждать.

  • 1
?

Log in

No account? Create an account