@jvmchat

Страница 2886 из 2890
Таир
23.10.2018
20:29:15
Oleksandr
23.10.2018
20:29:24
сильно

Таир
23.10.2018
20:29:27
щас лог скину

Oleksandr
23.10.2018
20:29:44
любопытно, во что там корутины превратились

Google
Oleksandr
23.10.2018
20:30:39
не пора ли в @graalvm_ru ?

Таир
23.10.2018
20:30:55
и грааль?
https://pastebin.com/R5YPBYNx

не пора ли в @graalvm_ru ?
О, даже не знал, что уже есть такой

Mikhail
23.10.2018
21:56:58
Как там кстати у грааля с производительностью?

Я полгода назад бенчмаркал, было раза в два медленнее чем дефолтный jit

Alexandr
24.10.2018
03:37:41
Короче, если у тебя сферический случай в вакууме, когда энтити и дто точь-в-точь совпадают, то так прокатывает. Если хоть какие-то отличия между ДТО и энтитей появляются - пора делать ДТО
неправильный вывод. DTO нужны всегда, если бизнес модель состоит из managed сущностей (например JPA), их чисто технически не стоит выпускать за рамки бизнес логики и транзакции

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

а других подходов особо то и не придумали еще

Dmitry
24.10.2018
04:39:14
Dmitriy
24.10.2018
04:48:03
народ подкиньте пожалуйста аргументы почему в рест контроллерах не стоит принимать и возвращать сущности, а стоит использовать ДТО для этого
Я конечно совсем джун, но использую другую dto когда мне не надо передавать сущность целиком на фронт, например без коллекций с @ManyToMany.

Google
Oleg
24.10.2018
06:41:47
А чем может быть плох такой приём обхода по циклу, ну кроме того что while(true) это априори плохо? https://pastebin.com/qB5ruBHw

BinarySoul
24.10.2018
06:58:14
А чем может быть плох такой приём обхода по циклу, ну кроме того что while(true) это априори плохо? https://pastebin.com/qB5ruBHw
А в чём проблема использовать флаг для выхода из цикла, а вне цикла выполнить уже   myService.setStatus(signal.getName(), SomeStatus.COMPLETED);

Mikhail
24.10.2018
06:58:38
BinarySoul
24.10.2018
06:59:28
И нужно бы количество попыток установить, а если someoperation(parameter) никогда не будет true?

Oleg
24.10.2018
07:00:50
И нужно бы количество попыток установить, а если someoperation(parameter) никогда не будет true?
тогда будет второе условие и рано или поздно закончатся SomeStatus.NEW и выйдешь по эксепшену в первой проверке

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

Alexandr
24.10.2018
07:03:31
Как нет, я не аот бенчмаркал
в смысле? там же вроде есть компилятор, который генерирует тото же байткод и аот, запускается все на той же jvm либо аот бинарь

BinarySoul
24.10.2018
07:05:49
да, это классический вариант
Если ты можешь гарантировать что while будет завершён, то можешь и через while (true). Но просто внутренее условие всегда хуже внешнего

Alexandr
24.10.2018
07:06:24
Компилятор этот умеет аот, да, но и jit тоже
есть два компилера, один генерит байткод, там нет ни аот, ни jit. в рантайме jvm - jit. в native image только аот без всякого jit

BinarySoul
24.10.2018
07:08:33
тело while может быть огромным, и найти у нём условие выхода сложнее, чем в самом объявлении while(do.. while)

Alexandr
24.10.2018
07:16:58
Я бенчмаркал C2 против graal в режиме jit
теперь понятно что речь идет о компиляторе. ну видимо еще сырой

ну и да, с2 всетаки на си, грааль на java

Александр
24.10.2018
07:17:49
Alexandr
24.10.2018
07:17:51
прогреется ли вм во время компиляции - сомнительно

Vladimir
24.10.2018
07:20:08
ну и да, с2 всетаки на си, грааль на java
А как язык, на котором написан компилятор, влияет на производительность генерируемого кода?

Alexandr
24.10.2018
07:21:00
Mikhail
24.10.2018
07:21:54
и как?
Грааль был раза в полтора-два медленнее, зависело от бенчмарка

Google
Александр
24.10.2018
07:22:44
Грааль был раза в полтора-два медленнее, зависело от бенчмарка
оба гонял через jmh и грааль который не АОТ?

Mikhail
24.10.2018
07:27:39
оба гонял через jmh и грааль который не АОТ?
Ну конечно через jmh мерил, тупо взял свои json-бенчмарки и погонял на разных версиях jvm

Mikhail
24.10.2018
07:28:35
Это полгода назад было, кажется 11 тогда не трогал

Александр
24.10.2018
07:29:09
Это полгода назад было, кажется 11 тогда не трогал
если будет время, не плохо бы и 11 сравнить ;)

Mikhail
24.10.2018
07:29:52
Может через недельку, когда из отпуска вернусь

Mikhail
24.10.2018
07:32:51
Но да, мне тоже интересно, изменилось ли что-нибудь за эти полгода

Mikhail
24.10.2018
10:05:57
А native-image не замерял?
Нет, с этим пока не заморачивался

Кстати, а jit работает с native-image?

Таир
24.10.2018
10:07:15
Кстати, а jit работает с native-image?
Ну вот я тоже задался таким вопросом, наверное лучше в соседнем чате спросить

Alexandr
24.10.2018
10:07:19
там и рефлексия не бработает, т.к. нет никакой метаинфы

Mikhail
24.10.2018
10:07:49
А в чем проблема ее оставить?

Alexander
24.10.2018
10:07:59
крайне специфичная штука получается. а есть уже какие-то суксесс стори и бест-практисы?

или все пока смотрят и ждут кто первый попробует

Таир
24.10.2018
10:08:58
А в чем проблема ее оставить?
Вероятно размер бинарника маловат, чтобы таскать с собой всю инфраструктуру для этого

крайне специфичная штука получается. а есть уже какие-то суксесс стори и бест-практисы?
Я бы начал переводить на него всякие инструменты сборки, например градл

Сейчас там всякие костыли для поддержки их в разогретом состоянии, что не особо дружит с CI в докерах и прочим

Google
Таир
24.10.2018
10:12:14
Представляю, сколько костылей в градле для обеспечения инкрементальной сборки

Vladimir
24.10.2018
10:12:48
Я бы начал переводить на него всякие инструменты сборки, например градл
А все плагины и прочее тоже в native-image собирать? Если там нельзя на лету классы подгружать, не взлетит. Да даже сам билдскрипт непонятно как будет запускаться, это же такой же класс, подгружаемый в рантайме.

Таир
24.10.2018
10:13:40
Только вот не знаю доступен ли он в АОТ

Если доступен, то ничего не мешает сделать такой же для грувей

Vladimir
24.10.2018
10:16:28
Если доступен, то ничего не мешает сделать такой же для грувей
Ну допустим это можно будет сделать даже для котлина. Но что делать с плагинами, перечень которых определяется только после выполнения части скриптов?

Таир
24.10.2018
10:18:17
Или как вариант делаешь бинарь из билд-скрипта и кэшируешь его

Alexandr
24.10.2018
10:29:41
А в чем проблема ее оставить?
https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md

Alan
24.10.2018
10:53:24
Всем привет ! Ребят ошибка с консулом, пытаюсь поднять простейшее бутовое приложение со spring-cloud-consul, консул поднят версии 1.3.0 через докер контейнер с пробросом порта наружу, запускаю консул так: docker run -d --rm --name consul -p 8500:8500 consul pom.xml: https://pastebin.com/V3Hkb0Pp application.yml пустой bootstrap.yml: https://pastebin.com/xztQKn1m В чем проблема ? хелфчек ведет себя странно, отдает 503 код и следующее содержание: https://pastebin.com/VfiCDg3C из которого видно что в консуле какой то эксепшн. Старт приложения: https://pastebin.com/8d1EYtTq

Oleg
24.10.2018
10:58:08
Кто-нибудь пользует https://github.com/spring-projects/spring-loaded?

Luger
24.10.2018
11:10:04
Кто-нибудь пользует https://github.com/spring-projects/spring-loaded?
нуу, да юзал,вместе с каким-то плагином к идее , частенько не работало, разбираться не стал

Oleg
24.10.2018
11:10:35
Может кто посоветует как сделать инкрементальную компиляцию и перезапуск. В идеале с maven

Alexandr
24.10.2018
11:15:40
Может кто посоветует как сделать инкрементальную компиляцию и перезапуск. В идеале с maven
гугл говорят штука полезная https://www.coursehero.com/file/p7r65hig/Configuring-Spring-Loaded-for-use-with-Maven-To-use-Spring-Loaded-with-the/

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

Alexandr
24.10.2018
11:49:23
небольшая задачка на собеседование, что будет вывдено на консоль и почему: public class StringTest { @Test public void test() { String a = "abc"; String b = "abc"; try { Field value = a.getClass().getDeclaredField("value"); value.setAccessible(true); char[] val = (char[]) value.get(a); val[1] = 'd'; } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } System.out.println(b); } }

Andrei
24.10.2018
11:52:53
Типа снова про итернирование строк в жаве, которое в любом релизе по новому зарефакторить могут?

Google
Oleksandr
24.10.2018
11:55:17
или стектрейс

если там параноидальный security manager

и от имплементации вообще зависит, как было сказано выше

в общем, идиотский вопрос

BinarySoul
24.10.2018
11:57:30
security manager по днфолту лояльно относится к таким манипуляциям

Денис
24.10.2018
11:57:48
Предлагаю подготовиться к вопросу тщательно. На собесендовании нарисовать интервьюверу табличку с разными импелементациями JVM (разные версии, разных авторов), и заполнить её целиком.

Vladimir
24.10.2018
12:00:33
он упадет)
У него целых две причины упасть

Павел
24.10.2018
12:30:29
Народ, вопрос для тех кто умеет JPA https://pastebin.com/uBrbUpZi

Страница 2886 из 2890