LINUX.ORG.RU

Вышел первый release candidate JDK 7

 , , ,


0

1

Oracle выпустил первый release candidate платформы Java 7 Standard Edition. По сравнению с передыдущей сборкой, в это было исправлено несколько критических проблем, в том числе ошибка в JIT-компиляторе, обнаруженная разработчиками Eclipse.

В JDK7 входят следующие основные изменения:

  • Поддержка языков с динамической типизацией
  • Различные небольшие улучшения синтаксиса языка Java (проект Coin)
  • Обновление архитектуры загрузки классов
  • Улучшения в поддержке многопоточного программирования: fork/join, новые барьеры синхронизации, очереди передачи задач, конкурентные двухсторонние очереди, локальные для тредов генераторы случайных чисел
  • Поддержка Unicode 6.0, улучшения в поддержки локализации
  • Новые API для работы с файловой системой, ассинхронный ввод-вывод и multicast
  • Поддержка протоколов TLS 1.2, Infiniband (Solaris/Linux), поддержка IPv6 на Windows Vista
  • Криптография с использованием эллиптических кривых
  • Поддержка XRender в Java2D, прозрачные и неквадратные окна
  • Обновленный XML Stack — JAXP 1.4, JAXB 2.2a и JAX-WS 2.2

Если в этой сборке не будет обнаружено серьезных проблем, релиз JDK 7 выйдет в конце июля.

>>> Подробности

★★★★★

Последнее исправление: maxcom (всего исправлений: 2)

Ответ на: комментарий от LongLiveUbuntu

перегрузка операций есть великое зло программирования ибо она ухудшает читабельность и сопроводимость кода.

Балбесик, если вам не приходилось работать, как указанно выше, с матрицами и векторами, то это не значит, что это не нужно.

mpp5
()
Ответ на: комментарий от mpp5

Да хотя бы туже перегрузку операций осилили бы. И то было бы уже хорошо.

Зачем Мотре лапы Годзиллы?

maxkit
()

Балбесик, если вам не приходилось работать, как указанно выше, с матрицами и векторами, то это не значит, что это не нужно.

А Вы впадаете во фрустрации, если приходится вызвать функцию, явно указывающую на сложение матриц? Ведь, по сути, ничем иным, кроме синтаксического сахара, это не явится.

maxkit
()
Ответ на: комментарий от anonymous

Выходит, jdk7 не существует в природе.

anonymous
()
Ответ на: комментарий от anonymous

>> Java(TM) SE Runtime Environment (build 1.7.0-b147)

Для компиляции используется JDK (javac), а не JRE (чью версию вы привели). Так что ещё раз проверьте настройки среды/IDE.

CARS ★★★★
()
Ответ на: комментарий от mpp5

>Вопрос — догонят ли они C#?

по синтаксическому сахару и сомнительной нужности фичам врядли. а вот это

Улучшения в поддержке многопоточного программирования

только начало. Ораклы сделают из явы многопоточную конфетку. (На это нацелен и project lambda, только каким боком не пойму)

RedPossum ★★★★★
()
Ответ на: комментарий от maxkit

Тогда к тебе тот же вопрос — что из этого лучше читается и воспринимается, легче пишется и отлаживается и, соответственно, лучше поддаётся сопровождению:

a = b + c * d / e;
или
a = b.add(c.mul(d).div(e));
?

Мне почему-то кажется, что первый вариант с перегруженными операторами всё-таки лучше хотя бы потому, что:

  • короче — проще писать, меньше мороки со скобками (за счёт чего и читать-проверять проще);
  • выглядит, как обычная математическая формула — такое выражение легче писать и читать, оно лучше воспринимается и удобнее в отладке (легче проверить на соответствие исходной формуле; опять же, меньше путаницы со скобками).

А какие аргументы против добавления перегрузки операторов в язык? Те же, что и против беззнаковых целых — «это слишком сложно для жабакодеров»?

anonymous
()
Ответ на: комментарий от mpp5

Это С# нужно подниматься до явы, и разница между ними пропасть. Крме того дотнет это вендорлокинговое поделие от некрософта, а сишарп смесь явы и плюсов сводящая на нет все преимущества модели принудительной объектно-ориентированного программирования явы.

да за одно упоминание С# на лоре нужно анально карать всех адептов некрософтовского говна.

vladoos
()
Ответ на: комментарий от vurdalak

>А что есть в C#, чего нет в яве?
Уже 100 раз обсуждали.
Начиная от нормальных дженериков и заканчивая LINQ выражениями

Можно сказать что есть scala имющая многие полезные свойста C#, но ублюдочный синтаксис делает работу со scala весьма неприятной :(

grim ★★☆☆
()
Ответ на: комментарий от anonymous

>А какие аргументы против добавления перегрузки операторов в язык?

В языке не должно быть «операторов».

Те же, что и против беззнаковых целых


вот зачем тебе интересно беззнаковое целое.

r ★★★★★
()
Ответ на: комментарий от grim

>> Можно сказать что есть scala имющая многие полезные свойста C#, но ублюдочный синтаксис делает работу со scala весьма неприятной :(

Ублюдочный синтаксис С# сводит на нет все попытки уподобится яве по уровню трезвомыслия. Какой больной наркоман добавил в C# оператор goto? Только лишь для того что бы все микрософтожополизы могли кричать на всех углах, что в С# есть все то чего нет в яве, и поэтому С# она крууууче. Это все ровно, что говорить, что разработка на С# даст программистам возможность отсасывать у себя, а на яве этого сделать не возможно.

vladoos
()
Ответ на: комментарий от grim

>Можно сказать что есть scala имющая многие полезные свойста C#, но ублюдочный синтаксис делает работу со scala весьма неприятной :(


Вот интересно что вам не нравится в синтаксисе скалы? Он не похож на C#?

r ★★★★★
()
Ответ на: комментарий от baverman

>Используй неджаву, кто тебе не дает? Огороженность — это прекрасно. Минимум рисков, предсказуемость, надежность, поддерживаемость, энтерпрайз, короче.
Это да.
Мой дев. мэнеджер сказал что это главное преимущество Java(и .net тоже) что появилась возможность использовать совсем безмозгих программистов.
В С++ программист дожен хотябы понимать что он делает а в Java уже и это не нужно.

grim ★★☆☆
()
Ответ на: комментарий от grim

>В С++ программист дожен хотябы понимать что он делает

а чтобы ему лечше понималось пишут вот такие правила:
Don't use static constructors
Don't use exceptions
Don't use Run-time Type Information
Don't use C++ standard library features, including iostream
Don't mix varargs and inlines
....https://developer.mozilla.org/index.php?title=en/C%2b%2b_Portability_Guide

Конечно C++ программисту надо понимать что он делает - он как сапер, пытающийся разминировать мину под обстрелом в советском привокзальном общественном туалете.

r ★★★★★
()
Ответ на: комментарий от vladoos

>Ублюдочный синтаксис С# сводит на нет все попытки уподобится яве по уровню трезвомыслия. Какой больной наркоман добавил в C# оператор goto?
goto не есть зло.
Он есть во многих языках и пока не доказано что его применение вредно.
На этом аргументы о проблемах синтаксиса C# заканчиваются?

grim ★★☆☆
()
Ответ на: ok от anonymous

> Как eclipse обучить этому

Установить netbeans.

eros2
()
Ответ на: ok от anonymous

> Как eclipse обучить этому так и не понял.

У Eclipse свой компилятор в JDT, поэтому пока там не сделают поддержку фич из Java 7 обучить не получится.

kamre ★★★
()
Ответ на: комментарий от r

> В языке не должно быть «операторов».

Надо будет написать в Оракл, чтоб убрали из явы '+', '-', '*', '/' и т.п., ведь их быть не должно...

вот зачем тебе интересно беззнаковое целое.

Для размеров (объектов, массивов или других блоков данных), количества и прочих целых чисел, которые по определению не могут быть отрицательными. Существенное увеличение диапазона значений (у знаковых целых в таких случаях половина диапазона теряется вникуда, т.к. заведомо не будет использоваться) без раздувания структур и прочих мест, где эти числа хранятся/используются. Но я понимаю, что рациональное использование ресурсов вообще и памяти в частности — не Java-way, т.ч. можешь не беспокоиться.

anonymous
()
Ответ на: комментарий от grim

Начиная от нормальных дженериков и заканчивая LINQ выражениями

А что не так с дженериками? Почитал в справке сишарпа - пример такой же, как на джаве.

Что такое LINQ пока не понял, почитаю педивикию.

vurdalak ★★★★★
()
Ответ на: комментарий от r

>> В С++ программист дожен хотябы понимать что он делает

а чтобы ему лечше понималось пишут вот такие правила:

...

mozilla.org

С какой это стати все C++-программисты должны равняться на говнокодеров из мозиллы и следовать их правилам?

anonymous
()
Ответ на: комментарий от anonymous

>> вот зачем тебе интересно беззнаковое целое.

Для размеров

Это еще со времен Си было плохой идеей.

Но я понимаю, что рациональное использование ресурсов вообще и памяти в частности — не Java-way, т.ч. можешь не беспокоиться.

Ситуации, в которых не хватает одного бита, на практике встречаются очень редко.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

плохому программисту знаковый бит мешает

anonymous
()
Ответ на: комментарий от mpp5

> Да хотя бы туже перегрузку операций осилили бы.
Имхо она ни разу не OOPic. Зачем она в объектно-ориентированном языке, если есть наследование?

urxvt ★★★★★
()
Ответ на: комментарий от grim

>> На этом аргументы о проблемах синтаксиса C# заканчиваются?

А что вышла версия дотнета под линукс/соларис/мак чтобы был смысл сравнивать? И не указывайте на полуфабрикат моно, это пародия на породие явы. Наличие оператора goto указывает на отсутствие мозга у архитектора системы. В синтаксисе он конечно не вреден, если его не использовать. Проблемы не в синтаксисе C#, а мозгу руководителей и разработчиков микрософта. Это прогнившая компания жрет деньги на стареющих технологиях и плюёт на инновации потому что их у них нет... такой хоккей нам не нужен.

vladoos
()
Ответ на: комментарий от r

>Конечно C++ программисту надо понимать что он делает
рад что вы согласны со мной.

С++ отсеивал самых тупых.
А сечас я на таких Java программистов насмотрелся что просто очень печальнно.

Доделываю проект за такими дебилами, что просто уму не постижимо. Зато умеют поливать говном всё остальное.
Сколько говна эти кадры вылили на Perl, Python, C++, .Net при этом не зная основ Java, которую они ставят как венец творения на пьдестал.

Но со стороны личной выгоды - это достоинство Java, так как на С++ не востребованы те, кто приходит и доделывает проекты за такими идиотами. Опять таки QA расцвёл так что QA на проектах часто уже больше чем Java программистов.

Так что, я не считаю что Java не нужна.
Очень нужна! Это мой хлеб насущный.

grim ★★☆☆
()
Ответ на: комментарий от anonymous

>Надо будет написать в Оракл, чтоб убрали из явы '+', '-', '*', '/' и т.п., ведь их быть не должно...

Правильно. И сделали

class String {
@infix(prio=4, assoc=left)
public static String +(String a, String b) {...}
}

Только там невменяемые пердуны засели, которые до сих пор делают C++ с человеческим лицом.

Для размеров (объектов, массивов или других блоков данных), количества и прочих целых чисел, которые по определению не могут быть отрицательными.


unsigned short a = 100, b=200;
unsigned short c = a - b; //=65436

Существенно помогло, да.

Существенное увеличение диапазона значений


Где тебе его не хватает.

Но я понимаю, что рациональное использование ресурсов вообще и памяти в частности — не Java-way, т.ч. можешь не беспокоиться.


Регистры которые используются процессором ты тоже научишь экономить память?

r ★★★★★
()
Ответ на: комментарий от vurdalak

>А что не так с дженериками? Почитал в справке сишарпа - пример такой же, как на джаве.
они отсутствуют в runtime
Так что полезность дженериков в Java на уровне препроцессора

ps
в scala это обошли

grim ★★☆☆
()
Ответ на: комментарий от anonymous

>> Но я понимаю, что рациональное использование ресурсов вообще и памяти в частности — не Java-way, т.ч. можешь не беспокоиться.

Съедаемое при старте Windows7 700 Mb ОЗУ это истинный микрософт-way :) Ява действительно, до этого еще расти и расти. В яве по крайней мере GC хоть иногда срабатывает. А в Windows7 харанее резервируется место под дотнет, чтобы не нужно было вообще выгружать его из памяти. Признаю, тут ява отстала от жизни. :)

vladoos
()
Ответ на: комментарий от tailgunner

>Это древние правила Netscape

Угу. Зато исключения в деструкторах и прочие интересные вещи c комбиначциями перегруженных функций и автоконвертируемых типов доставляют все также:)

r ★★★★★
()
Ответ на: комментарий от vladoos

>А что вышла версия дотнета под линукс/соларис/мак чтобы был смысл сравнивать?
С разморозкой :)
я mono уже года 4-5 использую на рабочих серверах.
mono, кстати даже на iOS работает в отличие от Java

grim ★★☆☆
()
Ответ на: комментарий от anonymous

Желательно бы перечислить :) Ибо пока кроме Paint.NET ни одного чисто шарпового десктопного приложения Вы не назвали. МС Офис и Студия только частью на этом деле, Террария - игра же, подозреваю что тоже лишь клиент-серверной части дотнет понадобился. Про Seesmic первый раз слышу.

anonymous
()
Ответ на: комментарий от tailgunner

>>> вот зачем тебе интересно беззнаковое целое.

Для размеров

Это еще со времен Си было плохой идеей.

Вроде size_t всегда был беззнаковый.

unsigned ★★★★
()
Ответ на: комментарий от grim

>> в scala это обошли а вы байт код видели? вы про рантайм бы не говорили. В jvm генерики иначе не реализуются, а в яве это явно видно ибо есть обязательство обратной совместимости! Оно превыше синтаксического сахара. Юзайте груви...

vladoos
()
Ответ на: комментарий от grim

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

vladoos
()
Ответ на: комментарий от grim

>Так что полезность дженериков в Java на уровне препроцессора

Да правда чтоле? Значит такие вещи как Class::getGenericInterfaces, Class::getTypeParameters мне во сне привиделись?

разница в C# и жабских генериках только в том в жабе можно получить информацию только по декларациям а в c# по инициализациям тоже, что на практике обходится простым метдом interface TypeInfo<T>{}; Type t = new TypeInfo<List<Int>>(){}.getGenericSuperclass().getTypeParameters()[0];





r ★★★★★
()
Ответ на: комментарий от anonymous

С какой это стати все C++-программисты должны равняться на говнокодеров из мозиллы и следовать их правилам?

В гугле, конечно, тоже говнокодеры?

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Other_C++_Features

baverman ★★★
()
Ответ на: комментарий от vladoos

>В jvm генерики иначе не реализуются, а в яве это явно видно ибо есть обязательство обратной совместимости! Оно превыше синтаксического сахара.
Но это не повод восторгаться увобостью и недостатками.

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

grim ★★☆☆
()
Ответ на: комментарий от vladoos

>Но в виду патентных неопределенностей, я к моно и близко не подойду. Заморозьте меня обратно.
Почитайте на тему Microsoft community promise
Это на лоре уже 1000 раз обсуждали.

grim ★★☆☆
()
Ответ на: комментарий от unsigned

> Вроде size_t всегда был беззнаковый.

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

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.