The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Доступна для тестирования предварительная версия Java 7

24.02.2011 14:52

Компания Oracle выпустила тестовую версию JDK 7 (Developer Preview), пригодную для предварительного знакомства с возможностями Java 7 и проверки совместимости существующих приложений. Представленная тестовая версия проходит полный набор тестов совместимости со спецификацией для всех поддерживаемых платформ, но еще может иметь проблемы со стабильностью работы.

Финальный релиз JDK 7 ожидается в конце июля или начале августа 2011 года, релиз JDK 8 планируется выпустить в конце 2012 года. Бинарные сборки JDK 7 для Linux, Solairs и Windows можно загрузить на данной странице. Исходные тексты не прилагаются, так как, несмотря на то, что JDK 7 основан на открытой кодовой базе OpenJDK, в представленной сборке по прежнему используются некоторые закрытые библиотеки, над созданием открытых аналогов которых трудится проект IcedTea. Для разработки приложений на базе Java 7 можно использовать последний тестовый выпуск интегрированной среды NetBeans 7.0.

Из возможностей Java 7 можно отметить интеграцию набора небольших языковых улучшений Java, развиваемых в рамках проекта Coin, поддержку языков программирования с динамической типизацией (инструкция InvokeDynamic), новый API для ввода/вывода (NIO.2), поддержку загрузки классов по URL, обновления связанные с параллельным выполнением и поддержкой коллекций, обновленный XML-стек, расширенную поддержку локалей, новый API для работы с файловой системой (File System API), прямой ввод/вывод из ZIP и JAR-архивов, Rowset 1.1, Unicode 6.0, JDBC 4.1, поддержку TLS 1.2, компоненты Nimbus и JLayer для GUI-тулкита Swing. В JDK 7 не включены (будут реализованы в JDK 8) Лямбда-выражения ("замыкания"), модульная система Jigsaw, аннотации для Java-типов, Swing application framework (JSR296) и поддержка языковых конструкций для работы с коллекциями.

  1. Главная ссылка к новости (http://blogs.sun.com/mr/entry/...)
  2. OpenNews: Представителям Apache не удалось блокировать одобрение спецификаций Java 7 и 8
  3. OpenNews: Компания Oracle опубликовала черновые варианты спецификаций для Java 7 и Java 8
Лицензия: CC-BY
Тип: Программы
Ключевые слова: java, jdk
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (45) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.8, bav (?), 15:59, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Годы идут, а java, как язык, всё никак не может стать удобным. В принципе, модным парням этого и не надо, у них есть скала, кложура и груви. Но вывод типов и нормальные лямбды хотелось бы увидеть хотя бы к девятой версии.
     
     
  • 2.12, iZEN (ok), 16:07, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но вывод типов и нормальные лямбды хотелось бы увидеть хотя бы к девятой версии.

    А зачем смешивать императивное и функциональное программирование, статическую типизацию с динамической в одном языке? Когнитивный диссонанс не случится?


     
     
  • 3.13, bav (?), 16:12, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А зачем смешивать императивное и функциональное программирование

    От нынешних анонимных классов, java не становится императивнее.

    > статическую типизацию с динамической

    Ничего не путаешь? Ключевые слова: вывод типов, ocaml, haskell.

     
     
  • 4.24, iZEN (ok), 16:43, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> А зачем смешивать императивное и функциональное программирование
    > От нынешних анонимных классов, java не становится императивнее.

    Зато является более декларативной.

    >> статическую типизацию с динамической
    > Ничего не путаешь? Ключевые слова: вывод типов, ocaml, haskell.

    Не распарсил. Что это такое? Практический пример приведёте?

     
     
  • 5.26, pavlinux (ok), 17:44, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Куда русский язык катится...

    Императивное и функциональное программирование.
    Статическая типизация. Когнитивный диссонанс.
    Императивная декларативность. Лексические переменные.

    Слабо всё это на русский перевести, варианта до 1699 года?

     
     
  • 6.29, Okruzhor (ok), 18:10, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +20 +/
    > Куда русский язык катится...
    > Императивное и функциональное программирование.
    > Статическая типизация. Когнитивный диссонанс.
    > Императивная декларативность. Лексические переменные.
    > Слабо всё это на русский перевести, варианта до 1699 года?

    Приказное и отображательное предписание.
    Предварительное клеймение. Мыслительная запинка.
    Приказное глашатайство. Словесные переменные.

    "Идёт хорошилище по гульбищу на позорище в мокроступах"

     
     
  • 7.58, netch (ok), 12:12, 28/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Приказное и отображательное предписание.

    Предписание - это программа. А тут будет или предписательство, или предписательственное вразумление.

    > Предварительное клеймение.

    :)

    Слава богу, у нас не иврит:)

     
  • 6.36, Marbleless (?), 20:22, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Слабо всё это на русский перевести, варианта до 1699 года?

    Да, сейчас найду книгу "Издание указовъ для машинъ считальныхъ", посмотрю, какие там термины.

     
  • 5.48, bav (?), 00:13, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зато является более декларативной.

    OMG, с каких это пор куча синтаксического мусора стала более декларативной?

    > Не распарсил. Что это такое? Практический пример приведёте?

    Тогда повторюсь, какой такой диссонанс может быть в джаве от вывода типов? По мне так вполне логичный этап развития языка со статической типизацией.

     
  • 3.52, amonym (?), 14:07, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >А зачем смешивать императивное и функциональное программирование,

    Затем же зачем Вы смешиваете язык программирования и P машину.

    Если вы не поняли то, поясняю - в спецификации jvm добавлена возможность, позволяющая запускать программы сделанные на других языках программирования (не java).

     
  • 2.14, Валерий (??), 16:15, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нормальные лямбды я видел только в CL. В большинстве остальных языков они если есть, то убогие.

    С нормальными лямбдами должны быть лексические и динамические переменные, например.

     
     
  • 3.17, bav (?), 16:21, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > В большинстве остальных языков они если есть, то убогие.

    От них требуются только две вещи:

    1) Лексическое замыкание
    2) Быть first-class value

    Всё остальное маргинальщина и нужна только полутора лисперам.

     
     
  • 4.23, iZEN (ok), 16:41, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >1) Лексическое замыкание

    Какие варианты использования этого?

    >2) Быть first-class value

    Это что такое и зачем нужно?

     
     
  • 5.37, Marbleless (?), 20:29, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>1) Лексическое замыкание
    >Какие варианты использования этого?

    http://en.wikipedia.org/wiki/Closure_(computer_science)
    http://ru.wikipedia.org/wiki/Замыкание_(программирование)

    >>2) Быть first-class value
    >Это что такое и зачем нужно?

    http://en.wikipedia.org/wiki/First-class_function
    http://en.wikipedia.org/wiki/First-class_object
    http://ru.wikipedia.org/wiki/Объект_первого_класса

    Человек, на самом деле, прав. Замыкания + функции как члены первого класса = все (или почти все), что нужно от лямбды без больших усилий.

     
     
  • 6.39, iZEN (ok), 21:01, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>>1) Лексическое замыкание
    >>Какие варианты использования этого?
    > http://ru.wikipedia.org/wiki/Замыкание_(программирование)

    Всю жизнь пользовался этим в Java, оказывается "этого в ней нет". :))

    >>>2) Быть first-class value
    >>Это что такое и зачем нужно?
    > http://ru.wikipedia.org/wiki/Объект_первого_класса

    Чего-то там пространно объяснено.

    Объект типа Class или типа Field или типа Method в Java это разве не то?

    Чего нужно функциональщикам от Явы? Ведь в ней всё давно есть. Только записывается в тексте программ не так, как им нравится.

     
     
  • 7.41, Marbleless (?), 21:26, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Всю жизнь пользовался этим в Java, оказывается "этого в ней нет". :))

    Что, там есть полноценные замыкания? Имеющие доступ к локальным переменным? Безо всяких дополнительных костылей? Сколько на Жабе не пишу, а не знал.

    >Объект типа Class или типа Field или типа Method в Java это разве не то?

    Это примерно то же, но:
    1.Через отражение, т.е. механизм, который предназначен для отладки или других технических вещей, в отличие от языков с полной поддержкой функций как объектов первого класса, где это используют на каждом шагу.

    2.Соответственно, доступны только если сначала определить класс, потом сделать к нему метод, а потом через отражение получить объект класса метод. Определить функцию внутри другой (пусть даже если бы она не была бы привязана к контексту, а только к полям объекта, пусть даже если бы и вообще должна была обращаться только к переменным, переданным при создании) не получится.

    Конечно, можно создать анонимный класс и его же отразить. Это будет костыль, подпертый другим костылем.

    3.Соответственно, синтаксис получается сложный и с типизацией придется колдовать.

    Настоящей first-class function было бы нечто такое:

    public static void main(String[] args) {
        function printstr = new function(String x) {
            System.out.println(x);
        }
        printstr("Hello, world!");
    }

     
     
  • 8.55, iZEN (ok), 19:37, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Какие костыли class CalculationWindow extends JFrame private JButton btn... текст свёрнут, показать
     
     
  • 9.57, Marbleless (?), 05:56, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А замыкание - это когда еще к локальным переменным Но поскольку в Java одну фун... текст свёрнут, показать
     
     
  • 10.59, Мимо проходил (?), 12:19, 03/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    interface Function1 A, B public B apply A a class Closure public ... текст свёрнут, показать
     
  • 7.42, filosofem (ok), 21:38, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Чего-то там пространно объяснено.
    >Объект типа Class или типа Field или типа Method в Java это разве не то?

    Имелось в виду, что объектом первого класса должна быть функция. Ссылку вам не ту дали, читать здесь
    http://en.wikipedia.org/wiki/First-class_function

    Конечно можно и на Джаве многое имитировать, и замыкания и функции первого класса. Но есть нюанс: данные концепты вводились для упрощения написания и понимания кода, а в случае имитации получается все равно громоздко обычно.

     
  • 3.30, Анон (?), 18:28, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    По мне так лямбды - это пережиток становления ООП. Все примеры что я натыкался (скажем, в SICP) более грамотно реализуются через объекты. А объекты в свою очередь - можно хоть на С через указатель на контекст передвать - элегантно, лакончино и просто.
    Так что не понимаю откуда столько фанбойского визга про эти замыкания. Хотя замечу, что я особо в функциональщину не погружался и в своё время поддался на совращение господином Страуструбом.
     
     
  • 4.33, umbr (ok), 19:58, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >фанбойского визга

    Тут главное повизжать ("Смотрите, какой я умный"), неважно  о чём.

     
  • 4.43, Stax (ok), 22:01, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В ООП обычно не получается "элегантно, лаконично и просто" писать код, который работает со различными структурами, но при этом должен выполнятся лениво (в результирующей структуре вычисляться по мере обращения к соответствующему элементу). С помощью функциональных конструкций сделать так, чтобы все с одной стороны выглядело очень просто и код писался, как просто работающий с данными, но вычислялся лениво - проще простого. Простота и ускорение в одном флаконе, причем применимо это практически везде.
     
     
  • 5.49, Анон (?), 04:22, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конкретные примеры где это лучше ООП? По мне так можно вызвать метод объекта по необходимости. То что "как просто работающий с данными" мне опять таки не ясно зачем это нужно и почему в SICP на это так дико фапали. По мне так гораздо логичнее и правильнее чётко разделять данные и функции. Вообщем не понимаю я профита от этого всего.
     
  • 5.53, oops_ (?), 15:05, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    может просто не работать в ООП стиле там где это не нужно?
     
  • 4.47, bav (?), 00:06, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > По мне так лямбды - это пережиток становления ООП

    Студент? Торба ООП уже давно облезла и прохудилась, а вы с ней всё носитесь. Расширяй кругозор, мой тебе совет.

     

  • 1.10, Аноним (-), 16:04, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Не, ну не козлы ли? Знай себе выпускают закрытую версию с отмазами "мы используем некоторые закрытые библиотеки, так что..", предлагая трудиться над переписыванием сложных (иначе не пришлось бы использовать сторонные технологии) проекту IcedTea. Т.е. оракл будет просто выпускать то, что ему нравится, а в это время редхату с эпплом предлагается молча вбухивать кучу денег в развитие IcedTea, а кому-то из сторонних разработчиков и нахаляву трудиться, чтобы сделать джаву немного посвободнее?

    Нормальная такая позиция, "жрите то, что вам сан в свое время открыл, а мы будем выпускать то, что нам требуется под брендом "Java", а вы трудитесь, может когда-нибудь и доползете до нашего уровня со своими открытыми технологиями".

    http://open.cnews.ru/news/top/index.shtml?2010/11/09/415237 <-- как в свое время путь развития джавы в оракле разошелся с мнением сообщества, так раскол продолжается глубже и глубже.. На мнение ASF при выпуске Java 7 они уже положили..

     
     
  • 2.16, Аноним (-), 16:21, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я просто разрываюсь - что же лучше в новом свете - OpenJDK или Mono???
     
     
  • 3.19, Anonymousapiens (ok), 16:28, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если ты такой нервный - используй С++
     
     
  • 4.25, Аноним (-), 17:06, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Если ты такой нервный - используй С++

    Ну я уже. Но при этом восхищаюсь Java и тем более C#. Для обоих есть православные GPLные реализации, а потому выбрать крайне сложно - за обоими стоят очень серьезные аргументы и области применения.

     
     
  • 5.28, Аноним (-), 17:55, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чем там восхищаться? Весь этот сонм недоязычков от жавы с шаром до питона не умеет банальную компиляцию в нативный код, следовательно обречены тормозить и жрать память. А так называемый "портабельный байткод" поощряет наплевательски относиться к доступности исходников и сборочным системам, а то и вообще не выкладывать исходники, анонсируя при этом что распространяется "под gpl".
     
     
  • 6.32, Tiv (ok), 19:32, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    re> Весь этот сонм недоязычков от жавы с шаром до питона не умеет банальную компиляцию в нативный код, следовательно обречены тормозить и жрать память.
    Откидывая реплики про "сомнительность" нужно уточнить
    1. Большенство JVM имеют JIT так что код более чем найтивный получается
    2. У тех, кто не умеет JIT, например встроенная в RDBMS Oracle JVM версии ниже 11.1 встречаются штуки типа Oracle JAccelerator он же Java NCOMP. Данная штука превращает class файлы в .c файлы и собирает из них .so/.dll. .c aайлы можно посмотреть.
    re> А так называемый "портабельный байткод" поощряет наплевательски относиться к доступности исходников и сборочным системам, а то и вообще не выкладывать исходники, анонсируя при этом что распространяется "под gpl".
    Каким образом?

    Ну и конечно самый портабельный и надежный код просто обязан содержать что то типа
    #  ifdef NETWARE
    #  else
    #  ifdef FAKE_THREADS
    #  else
    #    ifdef WIN32
    #    else
    #      ifdef OS2
    #      else
    #        ifdef I_MACH_CTHREADS
    #          if (defined(NeXT) || defined(__NeXT__))
    #          endif
    #        else /* Posix threads */
    #          ifdef I_PTHREAD
    #          endif
    #        endif /* I_MACH_CTHREADS */
    #      endif /* OS2 */
    #    endif /* WIN32 */
    #  endif /* FAKE_THREADS */
    #endif /* NETWARE */
    #endif /* USE_5005THREADS || USE_ITHREADS */
    Тут про сборку заботятся обязательно:)

     
     
     
    Часть нити удалена модератором

  • 8.45, Ytch (?), 23:04, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Первая же фраза в заметках по ссылке Для запуска Ngen exe необходимо обладать ... текст свёрнут, показать
     
  • 6.46, rip (??), 23:30, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем там восхищаться? Весь этот сонм недоязычков от жавы с шаром до питона не умеет банальную компиляцию в нативный код, следовательно обречены тормозить и жрать память. А так называемый "портабельный байткод" поощряет наплевательски относиться к доступности исходников и сборочным системам, а то и вообще не выкладывать исходники, анонсируя при этом что распространяется "под gpl".

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

     
  • 2.21, uZver (??), 16:38, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >[оверквотинг удален]
    > "мы используем некоторые закрытые библиотеки, так что..", предлагая трудиться над переписыванием
    > сложных (иначе не пришлось бы использовать сторонные технологии) проекту IcedTea. Т.е.
    > оракл будет просто выпускать то, что ему нравится, а в это
    > время редхату с эпплом предлагается молча вбухивать кучу денег в развитие
    > IcedTea, а кому-то из сторонних разработчиков и нахаляву трудиться, чтобы сделать
    > джаву немного посвободнее?
    > Нормальная такая позиция, "жрите то, что вам сан в свое время открыл,
    > а мы будем выпускать то, что нам требуется под брендом "Java",
    > а вы трудитесь, может когда-нибудь и доползете до нашего уровня со
    > своими открытыми технологиями".

    Apple вкладывается в развитие OpenJDK и вливает туда свой код. А проприетарная сборка java была и у Sun. Ничего пока не поменялось.

    Только Sun обещала сделать Java 7 полностью открытой. Oracle такого обещания не давал.

     
  • 2.22, Stocker (?), 16:40, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ахренеть, заплатили 9 с половиной миллиардов и не выдали всё тут же анонимусу нахаляву. Планета в шоке.
     

  • 1.18, KDE (??), 16:26, 24/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чую не будет единого стандарта JDK != OpenJDK и чем дальше тем больше...
    и спор ORACLE vs GOOGLE тому подтверждение

    диалекты Java

     
     
  • 2.27, bvf (ok), 17:53, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не паникуйте. Сделайте глубокий вдох и успокойтесь. ТО что разные имплементации ява машины имеют свои особенности никого никогда не смущало. Но есть неизменное и единое ядро которое одинаково работает у всех. У ИБМ есть своя очень сильно отличающаяся ява, но однако она очень интенсивно используется. Сущетсвует более десятков разных неодинаковых ява машин, и что? Сановская ява дефакто стандарт. В OpenJDK весь код будет соответствовать оракловской яве за исключением тех частей на которые патенты принадлежат другим компаниям и которые ораклы не могут открыть так как нарушат патенты третьих фирм. В чем паника? Дышите спокойнее.
     
     
  • 3.31, oops_ (?), 19:21, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    и все это только для того, чтобы не развивать компонентный Паскаль.
     
     
  • 4.35, bvf (ok), 20:22, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > и все это только для того, чтобы не развивать компонентный Паскаль.

    freepascal вполне себе развивается. а вообще ява была разработана под сильным влиянием оберона. Паскаль вообще-то принадлежит Вирту вот он его и развивает.

    Я сам люблю кодить нативные форточки в лазарусе, но с явой это даже сравнивать невозможно. Язык вторичен, платфома намного важнее.

     
     
  • 5.44, Аноним (-), 23:00, 24/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Паскаль вообще-то принадлежит Вирту вот он его и развивает.

    Насколько я знаю, он давно и прочно забил на Паскаль, обнаружив в нем столько недостатков, что просто создал новые языки - Модулу, Оберон

     
  • 5.50, kshetragia (ok), 05:35, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Component Pascal != Free Pascal. И для него к сожалению есть только BlackBox, полностью заточенный под винду. Это наверное один из немногих языков, о котором читаешь и хочется писать на нем.
     
     
  • 6.51, bvf (ok), 13:46, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Component Pascal != Free Pascal. И для него к сожалению есть только
    > BlackBox, полностью заточенный под винду. Это наверное один из немногих языков,
    > о котором читаешь и хочется писать на нем.

    Согласен оберон2,он же компоненнтный паскаль,великолепный язык, но какая разница от замечательного языка если он никому не нужен?

     
     
  • 7.54, oops_ (?), 15:08, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Инертность.. Даже казалось бы у активной социальной группы, коими по идее должны являться программисты. Реально же как я это вижу.. Нормальный компилятор Оберона и можно будет смело закапывать и Java и .Net
     
     
  • 8.56, bvf (ok), 21:19, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ну так вперед закапывайте Я буду только вам благодарен ... текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру