Рубрики
 СПОНСОР
 Новости от БигМир

05 Aug 2011

 Oracle: Java с худшим врагом


Разделы: Новости Интернет it

Oracle поставляется Java SE 7, с серьезным, showstopping ошибку, и кто был первым, чтобы предупредить сообщества Java? Apache Foundation. О, ирония.

Это тот же Фонд Apache, что подал в отставку с Java Community Process (JCP) исполнительного комитета в знак протеста после того, Oracle неоднократно отказывался предоставить ему доступ к технологии Java Compatibility Kit (TCK).



То же самое и Фонд Apache, что развитые Гармония, открытая реализация платформы Java. Google использовали Гармония строить свою мобильную ОС Android, который в настоящее время предметом нескольких миллиардов долларов иск от Oracle утверждая, нарушений прав интеллектуальной собственности. Oracle имеет вызваны в суд документы от Apache Foundation, чтобы помочь сделать свое дело. Никто не уверен, что это означает для других пользователей Harmony.

Кажется, что Oracle хотела ничего лучше, чем топать Apache и его открытым исходным кодом Java усилиями очистить существования. И это позор, потому что в этот момент, Apache делает гораздо большую пользу для сообщества Java, чем Oracle есть.

Java SE 7 в HotSpot JVM: Оптимизирован до смерти Java SE 7 ошибка сама результате новобранец ошибку.

Hotspot JVM включает в себя ряд оптимизации режимов, которые могут сделать ваш код работать быстрее в некоторых случаях. В других случаях эти же оптимизация может привести к непредсказуемым, негативные последствия. В одном из оптимизации режимов в Java SE 7, есть ошибка, которая может привести к JVM просчитаться петли, которые могут привести к различным неудачи, начиная от ошибки сегментации к повреждению данных.

Та же проблема проявляется в Java SE 6, когда вы включите же оптимизации, поэтому мы не можем винить Oracle для кода, который вызвал ошибку. Что Oracle делал в Java SE 7, однако, должна была позволить неисправным оптимизации по умолчанию. Это не справедливо и для более ранних версий.

Любой, кто когда-либо использовали компилятор знает, что вы не ходите позволяет агрессивные оптимизации, пока вы хорошо и что ваш код работает и без них - и иногда даже не то. Информатика теоретик Майкл А. Джексон предлагает две краткие правила на тему:

Первое правило оптимизации программы: не делайте it.The Второе правило Программа оптимизации (только для экспертов!): Не делайте этого, пока. Даже если вы только просит компилятор, чтобы найти пути для повышения производительности, а не настройки код самостоятельно, вы не должны играть с опции оптимизации, если вы уверены, что вы знаете, что компилятор делает. Именно поэтому большинство оптимизации компилятора по умолчанию в положение "выключено".

Но то, что Oracle сделал еще хуже, потому что эти оптимизации не являются особенностью исходный код компилятора Java, но и Hotspot JVM, Just-In-Time (JIT) компилятор, который переводит байт-код Java в машинный код во время исполнения.

Другими словами, новые JVM сломает код на лету, как он выполняется, даже если вы не старались оптимизировать его на всех, когда он был скомпилирован. Даже программы, которые были составлены с Java SE 6 компилятора и запустить штрафа на Java SE 6 JVM жертвой тех же ошибок оптимизации, когда работают под Java SE 7 (если у вас есть предвидение, чтобы отключить оптимизацию вручную).






Метки: it
Рубрики: Новости Интернет it

 Комментировать



Ограничение в 1000 символов




 Счетчики