powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 9 - какие впечатления?
42 сообщений из 42, показаны все 2 страниц
Java 9 - какие впечатления?
    #39562334
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго утра.
Кому не жалко - поделитесь успехами/неудачами использования Java 9. Какие засады возможны при перетаскивании приложения с 8 на 9?
Понятно, что за два с небольшим месяца от момента выпуска 9-ки ничего выдающегося произойти не могло, но все же :)
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562363
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab,

Вот такое есть
https://dou.ua/lenta/columns/java9-pain/
Пока оно особо не понятно зачем Java 9 нужна. Никакой особой ценности в переходе на неё нет.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562403
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Я, признаться, тоже до сих пор не пойму почему надо выбирать Java 9 и где без нее нет жизни :)
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562426
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabBlazkowicz,

Я, признаться, тоже до сих пор не пойму почему надо выбирать Java 9 и где без нее нет жизни :)

Ну если они G1 довели до ума, то надо. Потому как CMS с его фрагментацией и однопоточной сборкой мусора это конечно трындец. На некоторых проектах приходится 40% утилизации памяти держать :( .
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562447
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab,

Это примерно тоже самое, что спрашивать о необходимости перехода из java 7 на java 8. Прямо бросать все и перетаскивать приложения на новое jdk разумеется смысла нет. Если приступаете к разработке нового проекта и на разработку уйдет полгода/год, тогда следует изучить java 9 и принять решение нужны ли Вам новые возможности или нет. Мне в последнее время пришлось плотно поработать с JavaFX и должен сказать, что в java 9 структура и организация JavaFX API просто на порядок прозрачнее, понятнее и удобнее, чем в java 8.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562453
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery ShiskinЭто примерно тоже самое, что спрашивать о необходимости перехода из java 7 на java 8. Прямо бросать все и перетаскивать приложения на новое jdk разумеется смысла нет.
Не-не-не. Сравненние вообще не в кассу. Java 8 это просто невероятный простор по сокращению кода от шума и масса новых способов переиспользования. Я все поддерживаемыме проекты перел на 8ку. Продолжать мучатся без лямд не хочется.

Valery ShiskinМне в последнее время пришлось плотно поработать с JavaFX и должен сказать, что в java 9 структура и организация JavaFX API просто на порядок прозрачнее, понятнее и удобнее, чем в java 8.
Круто. А есть где почитать? У меня как раз есть один внутренний мини проект на JavaFX. Может есть смысл портировать, если будут задачи.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562556
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Насчет почитать, в основном стартовал на форумах. Затем взял исходники и java doc, они хорошо организованы по модулям. Как найти все открытые окна в JavaFX 8 ? Все Stage - пожалуйста, StageHelper.getStages(). А popup Window? Ну явно недоработка, причем ничем не мотивированная в JavaFX. В javafx 9 Window.getWindows(). Другая проблема - это использование com.sun.... Теперь jigsaw не экспортирует API этого пакета как public. Но вся нужная функциональность перенесена в public api (skin, _impl и т.д.).

Не касаемо javaFx неплохая инфа по jdk9:

https://dzone.com/articles/java-9-besides-modules?edition=298022&utm_source=Daily Digest&utm_medium=email&utm_campaign=dd 2017-05-08
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562557
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Нашел у себя ссылку, где есть также полезная инфа по javafx9.

https://medium.com/@afinlay/whats-new-in-java-fx-java-9-updates-a90dd3d4dbba
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562562
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery Shiskin, спасибо большое.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562586
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39562924
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Tomcat 8.5.24 и 9.0.2(beta) заявлена полная совместимость с Java9.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39563712
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanfplab,

оператор Элвис
Непонятно о чём это. Оператор Элвис в Java работает уже давно, ещё с 6-й версии. Или вы о чём?
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39563989
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickОператор Элвис в Java работает уже давно, ещё с 6-й версии.можно ссылку? ʘ_ʘ GarrickИли вы о чём?о новом операторе, который так и называется оператор Элвиса
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564130
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanfplab,

оператор Элвис
И это все ?!?!?!?!?! Ну, не знаю, не знаю :)
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564137
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет в Java 9 никакого Элвиса. Хватит ерунду писать. Есть мелкие улучшения в Optional. Но я не думаю что они сильно спасут ситуацию.
Вот вспомнилось что ещё есть компактные строки. Это, действительно, может оказаться полезно тем кто массово XML разбирает или ещё что подобное.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564139
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот список JEPов
http://openjdk.java.net/projects/jdk9/

Из любопытного
http://openjdk.java.net/jeps/295
http://openjdk.java.net/jeps/282
http://openjdk.java.net/jeps/274
http://openjdk.java.net/jeps/259
http://openjdk.java.net/jeps/193

Хотя на повседневной работе ничего из этого не скажется.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564145
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсть мелкие улучшения в Optionalфункциональный Элвис (:fplabИ это все ?!?!?!?!?!нет такого оператора ): расходимся
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564148
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще, наверное, описание изменений почитать.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564159
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564507
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanGarrickОператор Элвис в Java работает уже давно, ещё с 6-й версии.можно ссылку? ʘ_ʘ
Конечно... https://docs.oracle.com/javase/specs/jls/se6/html/expressions.html#15.25
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564587
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickUsmanпропущено...
можно ссылку? ʘ_ʘ
Конечно... https://docs.oracle.com/javase/specs/jls/se6/html/expressions.html#15.25 Так это ж не Элвис.

см. https://ru.wikipedia.org/wiki/Тернарная_условная_операция
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564601
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanGarrickпропущено...

Конечно... https://docs.oracle.com/javase/specs/jls/se6/html/expressions.html#15.25 Так это ж не Элвис.

см. https://ru.wikipedia.org/wiki/Тернарная_условная_операция
Ах, вы про это... но оно тоже не в 9-ой версии появилось.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564631
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickUsmanпропущено...
Так это ж не Элвис.

см. https://ru.wikipedia.org/wiki/Тернарная_условная_операция
Ах, вы про это... но оно тоже не в 9-ой версии появилось.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564682
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickUsmanпропущено...
Так это ж не Элвис.

см. https://ru.wikipedia.org/wiki/Тернарная_условная_операция
Ах, вы про это... но оно тоже не в 9-ой версии появилось.
Если что, то обычный тернарный оператор появился тоже не в 6 версии а немного ранее...
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39564873
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"О сколько нам открытий чудных..."

А ещё кто-то возмущается, что ему синтаксиса языка не хватает, сахару ему подавай, а оказывается просто мы не всё знаем. :)
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39565063
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, а кто-то вообще не может отличить тернарный оператор от оператора Элвиса
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39565114
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39565527
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, ну хватит, пожалуй, об операторе Элвис. Право слово - не в нем же суть. Сахар он и есть сахар, будь он свеклы или тростника. В чем действительно фишка 9-ки? Где и когда я не смогу прожить без его нововведений? Стоят ли потраченные усилия этого? Мы же не дети - хвататься за любую разрекламированную мульку
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39565529
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabКоллеги, ну хватит, пожалуй, об операторе Элвис. Право слово - не в нем же суть. Сахар он и есть сахар, будь он свеклы или тростника. В чем действительно фишка 9-ки? Где и когда я не смогу прожить без его нововведений? Стоят ли потраченные усилия этого? Мы же не дети - хвататься за любую разрекламированную мульку
Ну, ответили же всё. Доведённый до ума G1, который справляется с большими кучами. Оптимизация размещения строк в памяти - уменишить потребление памяти раза в два, это нефига себе полезная штука.
jigsaw - самая большая фича Java 9 в прикладном программировании особо и не нужна. Она, возможно, выстрелит со временем.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39565601
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickUsmanпропущено...
можно ссылку? ʘ_ʘ
Конечно... https://docs.oracle.com/javase/specs/jls/se6/html/expressions.html#15.25 Здорово, но:
1. Это не "Элвис"
2. Оператор ?: работает с рождения Java и описан в спецификации 1997 года , п.7.3
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39566798
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потихоньку переходим с java 8 на java 9. Ну тут хочешь не хочешь, а рано или поздно на неё надо переходить. Говорят меньше памяти ест, но тест по перфоменсу еще не делали. Только вот недавно запустили апликуху.

из проблем не сапортится aspectj;

а так вылазят баги там где не подозреваешь. Был баг в fxml c наследником от CodeArea, в fxml не распознавало поля.

Сейчас вот появился баг прогрессбар с -1 не бегает с лева в право если екстендишься от алерта, если от стейджа то бегает. А у нас в 8 они почти все в алертах были).

Скоро будет тест по перфоменсу, можно будет что-то дельное сказать.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567461
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто наблюдение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
public class test {
  private static int size = 0;
  private static int[] source = null, target = null;
  private static Runtime rt = Runtime.getRuntime();

  private static int[] alloc(int[] buffer, int size) {
    long start = System.nanoTime();
    buffer = new int[size];
    System.out.print(" Alloc " + (4L * buffer.length + 512*1024)/1024/1024 + " Mb in ");
    System.out.println((System.nanoTime() - start + 512*1024)/1024/1024 + " ms");
    return buffer;
  }

  private static void copy(int[] source, int[] target) {
    long start = System.nanoTime();
    System.arraycopy(source,0, target,0, source.length);
    System.out.print("  Copy " + (4L * source.length + 512*1024)/1024/1024 + " Mb in ");
    System.out.println((System.nanoTime() - start + 512*1024)/1024/1024 + " ms");
  }

  private static void stat() {
    System.out.print("Memory: " + (rt.totalMemory() + 512*1024)/1024/1024 + " Mb total / ");
    System.out.println((rt.freeMemory() + 512/1024)/1024/1024 + " Mb free");
  }

  public static void main(String[] args) {
    try { size = Integer.parseInt(args[0]); }
    catch (RuntimeException e) {}
    finally {}
    if (size < 1) size = 512;
    if (size > 1024) size = 512;
    size *= 1024*1024;

    stat();
    source = alloc(source,size);
    target = alloc(target,size+1024*1024);
    copy(source,target);
    stat();
    System.out.println("");
  }
}

-Xcomp -Xms1536m -Xmx1536m -XX:+AlwaysPreTouch -XX:+UseLargePages
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, compiled mode)
//java ... test 127
Memory: 1472 Mb total / 1441 Mb free
 Alloc 508 Mb in 70 ms
 Alloc 512 Mb in 69 ms
  Copy 508 Mb in 175 ms
Memory: 1472 Mb total / 421 Mb free
//java ... test 128
Memory: 1472 Mb total / 1448 Mb free
 Alloc 512 Mb in 61 ms
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, compiled mode)
//java ... test 127
Memory: 1536 Mb total / 1533 Mb free
 Alloc 508 Mb in 259 ms
 Alloc 512 Mb in 278 ms
  Copy 508 Mb in 177 ms
Memory: 1536 Mb total / 512 Mb free
//java ... test 191
Memory: 1536 Mb total / 1533 Mb free
 Alloc 764 Mb in 407 ms
 Alloc 768 Mb in 395 ms
  Copy 764 Mb in 263 ms
Memory: 1536 Mb total / 0 Mb free

OpenJDK 64-Bit Server VM (Zulu build 9.0.1.3+11, compiled mode)
//java ... test 127
Memory: 1536 Mb total / 1533 Mb free
 Alloc 508 Mb in 258 ms
 Alloc 512 Mb in 274 ms
  Copy 508 Mb in 171 ms
Memory: 1536 Mb total / 512 Mb free
//java ... test 191
Memory: 1536 Mb total / 1533 Mb free
 Alloc 764 Mb in 391 ms
 Alloc 768 Mb in 402 ms
  Copy 764 Mb in 262 ms
Memory: 1536 Mb total / 0 Mb free
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567478
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Просто наблюдение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
public class test {
  private static int size = 0;
  private static int[] source = null, target = null;
  private static Runtime rt = Runtime.getRuntime();

  private static int[] alloc(int[] buffer, int size) {
    long start = System.nanoTime();
    buffer = new int[size];
    System.out.print(" Alloc " + (4L * buffer.length + 512*1024)/1024/1024 + " Mb in ");
    System.out.println((System.nanoTime() - start + 512*1024)/1024/1024 + " ms");
    return buffer;
  }

  private static void copy(int[] source, int[] target) {
    long start = System.nanoTime();
    System.arraycopy(source,0, target,0, source.length);
    System.out.print("  Copy " + (4L * source.length + 512*1024)/1024/1024 + " Mb in ");
    System.out.println((System.nanoTime() - start + 512*1024)/1024/1024 + " ms");
  }

  private static void stat() {
    System.out.print("Memory: " + (rt.totalMemory() + 512*1024)/1024/1024 + " Mb total / ");
    System.out.println((rt.freeMemory() + 512/1024)/1024/1024 + " Mb free");
  }

  public static void main(String[] args) {
    try { size = Integer.parseInt(args[0]); }
    catch (RuntimeException e) {}
    finally {}
    if (size < 1) size = 512;
    if (size > 1024) size = 512;
    size *= 1024*1024;

    stat();
    source = alloc(source,size);
    target = alloc(target,size+1024*1024);
    copy(source,target);
    stat();
    System.out.println("");
  }
}


-Xcomp -Xms1536m -Xmx1536m -XX:+AlwaysPreTouch -XX:+UseLargePages
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, compiled mode)
//java ... test 127
Memory: 1472 Mb total / 1441 Mb free
 Alloc 508 Mb in 70 ms
 Alloc 512 Mb in 69 ms
  Copy 508 Mb in 175 ms
Memory: 1472 Mb total / 421 Mb free
//java ... test 128
Memory: 1472 Mb total / 1448 Mb free
 Alloc 512 Mb in 61 ms
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, compiled mode)
//java ... test 127
Memory: 1536 Mb total / 1533 Mb free
 Alloc 508 Mb in 259 ms
 Alloc 512 Mb in 278 ms
  Copy 508 Mb in 177 ms
Memory: 1536 Mb total / 512 Mb free
//java ... test 191
Memory: 1536 Mb total / 1533 Mb free
 Alloc 764 Mb in 407 ms
 Alloc 768 Mb in 395 ms
  Copy 764 Mb in 263 ms
Memory: 1536 Mb total / 0 Mb free

OpenJDK 64-Bit Server VM (Zulu build 9.0.1.3+11, compiled mode)
//java ... test 127
Memory: 1536 Mb total / 1533 Mb free
 Alloc 508 Mb in 258 ms
 Alloc 512 Mb in 274 ms
  Copy 508 Mb in 171 ms
Memory: 1536 Mb total / 512 Mb free
//java ... test 191
Memory: 1536 Mb total / 1533 Mb free
 Alloc 764 Mb in 391 ms
 Alloc 768 Mb in 402 ms
  Copy 764 Mb in 262 ms
Memory: 1536 Mb total / 0 Mb free


Мда. Зачем прогрев, JMH и всё это? nanoTime() и вперёд, под танки.
Нет, я не спорю с результатом- просто нынче такое даже в локальном часике публиковать стыдно.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567503
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А подумать?
"Прогрев" памяти обеспечивает AlwaysPreTouch, принудительную компиляцию - comp.
Задлянафига стрелять из пушки по воробъям там, где вообще не требуется стрелковое оружие?
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567951
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO

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

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

Пока видно, что Java 1.9 более ПРАВИЛЬНО настроило кучу и смогло выделить ЗНАЧИТЕЛЬНО больше памяти (768 vs 512). Смысл замера какого то времени пропадает совершенно, т.к. 1.8 при таком паттерне просто свалилось.

Так же под вопросом корректность замера времени в тесте. Т.к. время затраченное на GC теряется в междумодульном (между-thread и прочее) пространстве.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567954
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevТест не показательный и крайне специфический.А почему, спрашивается, я употребил слово "наблюдение" вместо слова "тест"?
Тем не менее, можно обоснованно предположить, что:
1. Java9 выделяет память несколько медленнее Java8;
2. Java9 может использовать кучу "в ноль". Java8 на это неспособна. Вероятно - из-за внутренней фрагментации.
Лично я для себя сделал зарубку: использовать -XX:+AlwaysPreTouch для сервисов, если эта опция поддерживается JVM и нет веских причин против.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567959
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevТак же под вопросом корректность замера времени в тесте. Т.к. время затраченное на GC теряется в междумодульном (между-thread и прочее) пространстве.А подумать?
В этом искусственном примере нет пользовательского кода - три строчки, работающие или со встроенным функционалом JVM (создание массива) или интристиками (копирование массива):
java -Xms1g -Xmx1g -Xcomp -Xlog:pagesize,startuptime,exit*,cpu* -XX:+AlwaysPreTouch -XX:+UseLargePages test 127
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
[0.417s][info][pagesize] CodeHeap 'non-nmethods': 
 min=2496K max=6M base=0x000000000ab50000 page_size=4K size=6M
[0.418s][info][pagesize] CodeHeap 'profiled nmethods':
  min=2496K max=116M base=0x000000000b150000 page_size=4K size=116M
[0.419s][info][pagesize] CodeHeap 'non-profiled nmethods':
  min=2496K max=118M base=0x0000000012550000 page_size=4K size=118M
[0.420s][info][startuptime] StubRoutines generation 1, 0.0002589 secs
[0.422s][info][pagesize   ] Heap:
  min=1G max=1G base=0x00000000c0000000 page_size=2M size=1G
[0.424s][info][pagesize   ] Block Offset Table:
 req_size=2M base=0x000000001ae00000 page_size=2M alignment=2M size=2M
[0.427s][info][pagesize   ] Card Table:
 req_size=2M base=0x000000001b200000 page_size=2M alignment=2M size=2M
[0.428s][info][pagesize   ] Card Counts Table:
 req_size=2M base=0x000000001b400000 page_size=2M alignment=2M size=2M
[0.429s][info][pagesize   ] Prev Bitmap:
 req_size=16M base=0x000000001b600000 page_size=2M alignment=2M size=16M
[0.431s][info][pagesize   ] Next Bitmap:
 req_size=16M base=0x000000001c600000 page_size=2M alignment=2M size=16M
[0.458s][info][startuptime] Genesis, 0.0378632 secs
[0.458s][info][startuptime] TemplateTable initialization, 0.0000148 secs
[0.459s][info][startuptime] Interpreter generation, 0.0013156 secs
[0.473s][info][startuptime] StubRoutines generation 2, 0.0002304 secs
[0.473s][info][startuptime] MethodHandles adapters generation, 0.0000169 secs
[0.473s][info][startuptime] Start VMThread, 0.0001669 secs
[0.502s][info][startuptime] Initialize java.lang classes, 0.0286659 secs
[0.541s][info][startuptime] Initialize java.lang.invoke classes, 0.0372813 secs
[1.738s][info][startuptime] Create VM, 1.5220764 secs
Memory: 1024 Mb total / 1021 Mb free
[1.988s][info][gc,cpu     ] GC(0) User=0.00s Sys=0.00s Real=0.00s
[2.255s][info][gc,cpu     ] GC(1) User=0.03s Sys=0.00s Real=0.02s
[2.256s][info][gc,cpu     ] GC(1) User=0.00s Sys=0.00s Real=0.00s
 Alloc 508 Mb in 263 ms
[2.265s][info][gc,cpu     ] GC(2) User=0.00s Sys=0.00s Real=0.00s
[2.269s][info][gc,cpu     ] GC(3) User=0.00s Sys=0.00s Real=0.00s
[2.574s][info][gc,cpu     ] GC(3) User=0.00s Sys=0.00s Real=0.00s
 Alloc 512 Mb in 298 ms
  Copy 508 Mb in 171 ms
Memory: 1024 Mb total / 0 Mb free
[2.766s][info][gc,heap,exit] Heap
[2.766s][info][gc,heap,exit]  garbage-first heap
   total 1048576K, used 1047286K
    [0x00000000c0000000, 0x00000000c0102000, 0x0000000100000000)
[2.766s][info][gc,heap,exit]
   region size 1024K, 2 young (2048K), 1 survivors (1024K)
[2.766s][info][gc,heap,exit]  Metaspace
       used 5105K, capacity 5146K, committed 5376K, reserved 1056768K
[2.766s][info][gc,heap,exit]   class space
    used 362K, capacity 386K, committed 512K, reserved 1048576K
Строки свёрнуты для уменьшения ширины листинга, убрана строка идентифицирующая процессор.
Портянка отладочного уровня не приводится из-за необъятности.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567969
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov2. Java9 может использовать кучу "в ноль". Java8 на это неспособна.

А если в jdk8 включить G1 то что будет?
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567986
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominА если в jdk8 включить G1 то что будет?То же, что и для Java9.
Был неправ: почему-то отложилось, что G1 - умалчиваемый уже в Java8.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39567991
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovТо же, что и для Java9.... но выделение памяти в Java9 (в моём примере), всё-таки, стабильно медленнее.
Хотя надо придумать шаблоны использования памяти сложнее "создать два больших массива".
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39568081
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovBasil A. SidorovТо же, что и для Java9.... но выделение памяти в Java9 (в моём примере), всё-таки, стабильно медленнее.
Хотя надо придумать шаблоны использования памяти сложнее "создать два больших массива".

Перепишите на jmh всё же. На таких временах разовый запуск это астрология и хиромантия, а не тест.
...
Рейтинг: 0 / 0
Java 9 - какие впечатления?
    #39568084
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominНа таких временах разовый запуск это астрология и хиромантия, а не тест.Это "наблюдение", а не "тест".
Тестом это может стать тогда, когда появится потребуется оценить поведение реального кода. Я такой придумать не могу.
Точность nanoTime - доли миллисекунд, поэтому десятки миллисекунд измеряются вполне надёжно. Разброс смотрится "просто глазками" на тройке запусков. Для оценки этого вполне достаточно. И разброс укладывается в единицы миллисекунд (проценты и даже доли процентов).
Для теста надо придумать методику. Что, опять-таки, не вполне тривиально.

P.S. "Меня опять терзают смутные сомнения", что на каком-то реальном коде разница по времени создания массивов будет существенна. Особенно, если окажется, что Java9 "быстрее убирается".
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 9 - какие впечатления?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]