URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 69303
[ Назад ]

Исходное сообщение
"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."

Отправлено opennews , 29-Июл-10 15:03 
В Java SE 6 Update 21 (http://www.opennet.me/opennews/art.shtml?num=27286) среди прочих исправлений была внесена незначительная на первый взгляд модификация: в поле с указанием компании-производителя строка 'Sun Microsystems, Inc' была заменена на 'Oracle. Данная правка привела к регрессивным изменениям, которые привели (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236) к нарушению совместимости со многими Java-программами, включая (http://www.eclipse.org/forums/index.php?t=msg&th=171988&start=0) платформу Eclipse. Как оказалось многие программы используют данное поле для определения типа виртуальной машины Java. Если в поле указано Sun Microsystems, программы считают, что программа запущена в оригинальном Java-окружении и применяют некоторые учитывающие особенности данного окружения шаги.


При использовании Java 1.6.0 update 21 во всех версиях Eclipse, начиная с 3.3 и заканчивая недавно выпущенным релизом 3.6 Helios (http://www.opennet.me/opennews/art.shtml?num=27073), по...

URL: http://it.slashdot.org/story/10/07/28/2121259/Oracles-Java-C...
Новость: http://www.opennet.me/opennews/art.shtml?num=27465


Содержание

Сообщения в этом обсуждении
"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено Аноним , 29-Июл-10 15:05 
Вот и в Оракл появился свой Денис Попов...
Тщеславие страшная штука.

"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено Knuckles , 29-Июл-10 15:35 
При чем тут Денис Попов? Виноваты криворукие разработчики Java-софта. Не надо было завязываться на какое-то очевидно нерепрезентативное свойство окружения.

"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено Zenitur , 29-Июл-10 15:06 
Не вижу повода для новости. В программах часто находятся баги. Ладно когда в KDE 3 и 4 нашли один и тот же баг и была новость только из-за этого. А у Java просто выйдет фикс.

"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено anonymous , 29-Июл-10 15:30 
а это вовсе не баг java, это показатель того, как не нужно писать программы на java.

"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено aim , 29-Июл-10 16:47 
к сожалению это показатель того как хорошо сборщики opensource java подумали о пользователях и программистах.

очень долго (да до сих пор по-моему) opensource java говорит о себе что она 1.6.0 в то время когда она уже 1.6.20, например.


"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено aim , 29-Июл-10 16:49 
всмысле 1.6.0 вместо 1.6.0u20

"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено аноним , 29-Июл-10 16:57 
> это показатель того, что не нужно писать программы на java.

fixed


"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено Аноним , 29-Июл-10 15:35 
>Не вижу повода для новости. В программах часто находятся баги. Ладно когда
>в KDE 3 и 4 нашли один и тот же баг
>и была новость только из-за этого. А у Java просто выйдет
>фикс.

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


"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено Zenitur , 29-Июл-10 15:37 
Теперь понял! Спасибо. Новость дополнили...

"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено Tav , 29-Июл-10 15:24 
Исправили уже, почти сразу. Эта новость неактуальна даже на момент публикации.

> Как оказалось многие программы используют данное поле для определения типа виртуальной машины Java.

Спорное утверждение. Подобные фокусы — это все-таки исключение, а не правило, и встречаются не так уж часто. И если уж делать подобные вещи, нужно делать надежно, т. ч. разработчики Eclipse сами виноваты.


"Изменения в Java 1.6.0 update 21 привели к нарушению совмест..."
Отправлено qpq , 30-Июл-10 02:43 
можно даже сказать, что разработчики Eclipse накосячили, как и тестировали приложение?

и лишь благодаря счастливой случайности (Oracle купил Sun), этот древнейший баг всплыл и заставил задуматься весь мир: чем же там думают разработчики из IBM?

сарказм офф

и кстати да, новость старая (Jul 21, http://www.infoq.com/news/2010/07/eclipse-java-6u21)


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Аноним , 29-Июл-10 15:35 
Интересно, а зачем на Windows проверять что Java от Sun? Как будто есть альтернативы (Microsoft java давно уже нет)

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Zenitur , 29-Июл-10 15:39 
>Интересно, а зачем на Windows проверять что Java от Sun? Как будто
>есть альтернативы (Microsoft java давно уже нет)

Не знаю, зачем и в Linux проверять. GCJ наверное больше не пользуются после появления OpenJDK, который от закрытого отличается лишь одним процентом закрытого кода. Разве что на кластерах суперкомпьютеров может быть есть варианты


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Роман , 29-Июл-10 15:49 
IBM JDK и BEA/ORacle JRockit неканоничны?

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Защитничек , 29-Июл-10 15:40 
Как же некоторые умеют писать и раздувать из ничего!
Что значит "многие программы используют данное поле"? Ну вот что за бред?! С каких это пор Eclipse for Windows является всем?!

PS У меня Eclipse 3.6 под Windows ни разу еще не упала!


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено mine , 29-Июл-10 16:26 
Eclipse - единственная нужная программа на java. Собственно сама java нужна только чтобы писать eclipse.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено DeadMustdie , 29-Июл-10 17:53 
Рекурсивно: Java нужна, чтобы писать Eclipse, который в свою очередь написан на Java в среде Eclipse.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено armsargis , 29-Июл-10 15:44 
The change was to replace COMPANY_NAME=Sun Microsystems, Inc. to COMPANY_NAME=Oracle Corporation in the way that the dll was generated. Unfortunately, Eclipse uses the name on the DLL to know whether it's safe to append the non-standard -XX:MaxPermSize or not. Since some JVMs will fail to start when the flag is present but not supported, rather than putting the -XX:MaxPermSize in Eclipse's startup file (eclipse.ini), a new argument, --launcher.XXMaxPermSize 256m is permitted, and if the launcher executable on Windows detects that it is a Sun VM, it appends the -XX:MaxPermSize=256m automatically.

Its not a problem of Java, its problem how is done Eclipse under windows


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено anonim , 29-Июл-10 16:06 
а мне вот интересно, кто-нибудь видел java-программы? ну кроме самого затмения...

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Аноним , 29-Июл-10 16:28 
Netbeans и JAlbum сразу приходят на ум

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Anonimus , 29-Июл-10 16:43 
Вагон и маленькая тележка:
SQL Power Architect, Oracle SQL Developer, ArgoUML, Cademia, Sweet Home, JEdit, mucommander и т.д.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено аноним , 29-Июл-10 17:30 
>SQL Power Architect, Oracle SQL Developer, ArgoUML, Cademia, Sweet Home, JEdit, mucommander

Это не вагон а горстка. Никто из моих коллег про эти поделия ны слышал.


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено анонимус , 29-Июл-10 17:46 
>Это не вагон а горстка. Никто из моих коллег про эти поделия ны слышал.

ну и зря


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено northbear , 29-Июл-10 20:09 
Коллеги твои, небось, стоматологи?

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Аноним , 29-Июл-10 16:55 
Zend Studio,
oXygen XML.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено syhpoon , 29-Июл-10 17:50 
Есть ещё крайне полезная софтина - xmind, собственно единственное чем пользуюсь из java world.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Satarsa , 29-Июл-10 18:53 
Jabref

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Zenitur , 29-Июл-10 19:29 
Каждый день я пользуюсь Azureus, он же Vuze. Плюс небольшие программки.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено User294 , 30-Июл-10 02:26 
А потом бухтишь на форуме что кеды 4 тормозят и ресурсы жрут. Двойные стандарты - сосут. Или программы на яве не тормозят а невъ....й рантайм (суммарный вес сжатых пакетов под сто метров) висящий в памяти ради аж ОДНОЙ ПРОГРАММЫ - ресурсы как бы не жрет? Может быть, блаародному дону уже определиться? А то двойные стандарты как-то не рулят ;)

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено DeadMustdie , 30-Июл-10 09:49 
>Двойные стандарты - сосут. Или программы на яве не тормозят а
>невъ....й рантайм (суммарный вес сжатых пакетов под сто метров) висящий в
>памяти ради аж ОДНОЙ ПРОГРАММЫ - ресурсы как бы не жрет?

Runtime не грузится целиком. Классы и двоичные библиотеки подгружаются
строго по мере необходимости. Так что размер на диске мало на что влияет.

Другое дело, что сборщику мусора для комфортного существования нужен простор.
То бишь изрядный объём "манёвренной" памяти, которая формально не используется
никакими структурами данных, но, увы, занята конкретной программой.

Так что по потреблению памяти Java и .NET не могут не быть впереди планеты всей :)


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено iZEN , 30-Июл-10 18:34 
>А потом бухтишь на форуме что кеды 4 тормозят и ресурсы жрут.
>Двойные стандарты - сосут. Или программы на яве не тормозят а
>невъ....й рантайм (суммарный вес сжатых пакетов под сто метров) висящий в
>памяти ради аж ОДНОЙ ПРОГРАММЫ - ресурсы как бы не жрет?
>Может быть, блаародному дону уже определиться? А то двойные стандарты как-то
>не рулят ;)

Firefox 3.6.8 ~ 91,1МБ
Thunderbird 3.0.6 ~ 99,8МБ
RSSOwl (с загруженными лентами новостей) ~ 93МБ.
Eclipse 3.5.2 SDK (без открытых проектов) ~ 205МБ,
где eclipse.ini:
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms256m
-Xmx768m
Десктоп с открытыми приложениями: Xfce4 4.6.2, GNOME System Monitor, Gedit, Thunar, Terminal, плюс куча мелких демонов — каждое нативное приложение занимает приблизительно от 1МБ до 40МБ (Gedit).

Память занята всего на 27,4% (1ГБ) из 3,7ГБ (256МБ отведено под видеопамять интегрированного видео и поэтому здесь такое число).

Вопросы?

P.S.
Какие ресурсы тебе важны, объясни ты мне наконец. Мы давно видим, что Java не самая ресурсоёмкая, а память на десктопе давно уже не ресурс. Основные ресурсожручие программы это всякие интерпретируемые Perl- и Python-выбросы гениальности, которые до процессора охочи аж оторопь иногда берёт (Exaile).


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено аноним , 29-Июл-10 19:46 
OpenStreetMap'овский josm, увы.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено F , 29-Июл-10 20:08 
Ищите на серверах.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено casm , 29-Июл-10 21:52 
Openfire - jabber сервер написан на java

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено iZEN , 30-Июл-10 00:01 
GLIPSGraffiti
javadjvu
Umlet
JDraw
PDFRenderer
toonel
executequery
JPC
makagiga
Gantt Project


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено qpq , 30-Июл-10 01:55 
Любые клиент-сревнерные приложения, web-приложения, web-сервисы, что используют в качестве серверной платрформы Tomcat, JBoss, IBM Websphere, WebLogic, Glassfish и т.д. и т.п. являются в той или иной степени Java-программами, как Вы выразились это назвать.

Вообще, в настоящий момент реальной альтернативы, реального конкурента в области разработки Middleware-, SOA-, AS- приложений у Java нет. Им теоретически могла бы стать .NET платформа, но (к сожалению или скорее к счастью) Windows платформа не доминирует среди серверов и .NET платформу практически никто не выбирает в качестве крупного сервера приложений. Отсутсвие кросс-платформенности - не единственный недостаток .NET по сравнению с Java/JEE, но во многих случаях он является решающим фактором.

А из Desktop-приложений на Java достойны внимания лишь поделки на базе Eclipse (ну или чистом SWT, хотя я таких почти не видел), ввиду очевидных тормозов Swing-библиотеки.

С другой стороны если вам надо набросать маленькую кросс-платформенную утилитку особо не заморачиваясь ее качеством и дизайном, скажем для конфигурации вашей СУБД, которую пользователь будет запускаеть раз в месяц или один раз на инсталяцию, то почему бы не сделать это на Java.. (так, видимо, в свое время родилась графическая инсталяшка для Oracle - лентяи криволапые)


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено murmobl , 01-Авг-10 22:05 
Sybase SQL Anywhere с его Central'ом для управления базами

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Асушник , 29-Июл-10 17:00 
Если Java такой переносимый платформонезависимый язык, как все время декларируется, то какие такие "некоторые, учитывающие особенности данного окружения" шаги надо предпринимать и как может существовать "оригинальное" и "неоригинальное" окружение? Насколько помнится, вся эта история с использованием ВМ затевалась в том числе и с тезисом, что код без изменений будет работать везде. А иначе зачем все эти жертвы типа тормозов?

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено umbr , 29-Июл-10 18:01 
Вы неправильно их поняли. Байткод будет работать везде, где есть JVM под которую он написан ;) Проблема совместимости на уровне JVM есть уже давно, но, похоже, мало кого волнует.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено anonymous , 29-Июл-10 22:26 
Вы идиот или читать не умеете? Если разработчики софта сделали дурацкую привязку к строке к которой привязываться вовсе не надо это проблема java?

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено User294 , 30-Июл-10 02:31 
>может существовать "оригинальное" и "неоригинальное" окружение?

Вот тут то мы и наблюдаем отличие теории от практики. В теории - офигенная кроссплатформенность, возможность генерации кода под конкретный проц и прочая. На практике - такие вот приколы, да и просто сам рантайм портирован далеко не на все платформы и ресурсы жрет адски а "оптимальный" код почему-то в разы сливает сям/сям++ при прочих равных, невзирая на всю круть JIT-генерации кода.


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено DeadMustdie , 30-Июл-10 09:57 
>На практике - такие вот приколы, да и просто сам рантайм
>портирован далеко не на все платформы и ресурсы жрет адски а
>"оптимальный" код почему-то в разы сливает сям/сям++ при прочих равных, невзирая
>на всю круть JIT-генерации кода.

Насчёт "слива сям/сям++" я бы не сказал. Тесты в студию.
Те тесты, которые я делал сам и о которых читал, показывают картину вполне предсказуемую:
  - старт и "разогрев" Java-программы занимает определённое время
  - после этого времени, выйдя на "стабильный" режим, Java-программа исполняется
фактически со скоростью нативного кода данной платформы
  - при проведении тестов на работу с памятью в патологических случаях программа на
Java может даже переплюнуть программу на C++, так как сборщик мусора может не срабатывать
при выполнении программы, а завершение её - специальный случай, когда на сборке мусора
можно крупно сэкономить ;)


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Аноним , 30-Июл-10 11:36 
Забей. User294 никогда не отвечает на неудобные для себя вопросы.
Его задача сделать вброс - а потом долго рассказывать какой он крутой и что это на его n900 не работает :)

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено zuborg , 29-Июл-10 19:26 
Java(tm) - write once, debug everywhere

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено Аноним , 29-Июл-10 21:56 
Менеджмент Оракла облажался по самые уши. Тривиально не смог организовать и взаимодействие разработчиков и элементарное тестирование. Ещё пару таких фортелей и биржи будут смотреть на  postgresql по другому.

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено qpq , 30-Июл-10 01:34 
Вы фантазер или мечтатель?

"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено upyx , 30-Июл-10 05:33 
>Проблема усугубляется еще и тем, что 21 обновление Java распространяется для пользователей Windows через службу автоматической установки обновлений, не требующей подтверждения от пользователя - некоторые Java-приложения просто перестают работать в один прекрасный момент.

Вот оно! Помнится спор был на тему как хороши автообновления... Что-то рухнуло, а ты даже не догадываешься почему. Даже в бубунте такого нет!


"Изменения в Java 1.6.0-21 привели к неработоспособности Ecli..."
Отправлено AlexAT , 30-Июл-10 09:33 
Java - это ультрасовместимая и портабельная платформа. Именно поэтому жабокодерам приходится проверять тип среды хаками.