Несмотря на то что мега-существенных нововведений в Java 7 к нам не пришло, всё-таки любопытно, начиная с какого из следующих контестов в решениях можно будет использовать то немногое новое, чем товарищи из Оракл решили нас порадовать.
Или уже?
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Несмотря на то что мега-существенных нововведений в Java 7 к нам не пришло, всё-таки любопытно, начиная с какого из следующих контестов в решениях можно будет использовать то немногое новое, чем товарищи из Оракл решили нас порадовать.
Или уже?
Название |
---|
Про баги читал (правда воспроизвести на тестах пока не получилось), но тут думаю так: чем меньше новой версией будут сейчас пользоваться, тем медленнее будут обнаруживаться баги, тем медленнее будут их лечить.
Поэтому коллег призываю (по крайней мере для домашних и не ответственных нужд) поставить jdk7 паралельно с jdk6... При этом пожалуйста используйте её в т.ч. с ключом "-server"... ;-)
Cay Horstmann - Java 7 unsafe at any speed?
Баги-то есть вероятно, но их стрррашность вероятно слегка преувеличена из каких-то политико-маркетинговых соображений. Пока единственную проблему я нашёл - виндовый установщик jdk7 не запускается в старой win2000. Есть ещё вопросы к производительности линуксовой версии, но разбираться с этим я ещё не закончил.
Заниматься исследованием багов гораздо сложнее чем копипастить блоги и психопатские крики - поэтому конечно, криков и копипастов больше чем реальной инфы.
UPD: Если у вас нет Java7 то не страшно, можно и на Java6 посмотреть - там этот баг тоже есть, если я не путаю.
Вот и надо перейти по этим ссылкам, прочитать описание багов и попробовать воспроизвести... :D
7070134 как назло не воспроизводится, причём не только у меня (хотя я верю что он всё-таки есть, но он явно недоисследован/недоописан - ребята не стали точные входные файлы прикладывать).
7044738 - в том же духе - баг есть, но судя по количеству голосов до народа не вполне дошло где берётся microbenchmark2.
И большие константы стало удобнее писать, например
Вместе с ним по важности я бы поставил строки в свитчах (хотя некоторые пальцатые разработчики считают что свитчи это вообще признак плохого стиля абсолютно всегда).
Ну а на первом месте я поставлю улучшения связанные с отловом исключений. Хотя вероятно для спортивного программирования это как раз имеет очень малое значение... (я про множественный catch и про try с ресурсиками...)
UPD: до кучи ты забыл ещё упомянуть тире после "двоичных чисел", запятую после "считают"... Какой смысл в не 100% корректной корректуре? Всунуться что ли больше некуда?
- вообще не понял к чему это;
- не представляю кто и зачем (в C++) им пользуется.
Если честно, я не уверен что это было нужно, ведь в С++ в отличие от Java для решения таких проблем хватало других способов (макроопределения, тайпдефы). В javascript (как и во многих скриптовых языках) это норма, но в самой java думаю это не появится покуда принято считать что строгая типизация спасает от гипотетических ошибок.
Ну и честно говоря по этому поводу я горевать не буду. Вот closures действительно хочется поскорее увидеть. Причём, судя по опросам, чуть ли не более чем 40% разработчиков.
На самом деле, новая сортировка заметно быстрее старой, но местами выглядит довольно странно.
Например, теперь массивы short/char размера >3200 сортируются подсчетом с выделением массива на 1<<16 int-ов. В то же время сортировать большие массивы int
с такой же памятьюпораздрядной сортировкой на 2 разряда почему-то не догадались. Не очень логично.Edit: погорячился насчет памяти, может все-таки дело в ней. Хотя новая сортировка ее тоже не особо старается экономить: например, в
public static void sort(int[] a, int left, int right)
есть строчка
b = new int[a.length];
Если же дополнительной памяти не жалко, простая самопальная сортировка выигрывает: http://pastie.org/2298323
На самом деле, есть мнение, что стандартные алгоритмы в яве писали индусы. Там не только сортировка проблемная.