@jvmchat

Страница 739 из 2890
Stanislav
28.11.2016
17:12:33
хм, вот только тут админы почему-то его не банят :\

Stanislav
28.11.2016
17:16:10
да не, если по списку участников посмотреть, они недавно были в онлайне

Google
Stanislav
28.11.2016
17:17:15
@dmsol @igorz @guga4ka -- были в онлайне <30 минут назад, например

Igor
28.11.2016
17:18:09
Banned

Stanislav
28.11.2016
17:18:35
спс

Marat
28.11.2016
17:50:20
Есть тут те, кто с помощью gradle свои проекты собирает?

Stanislav
28.11.2016
17:50:46
Я, например

Andrey
28.11.2016
18:04:15
Для ондроеда.

Marat
28.11.2016
18:06:04
Ок. А кто им релизы на мавеновские репозитарии выкладывает?

Marat
28.11.2016
18:32:07
Кому "им" ?
Не кому, а чем. Грэдлом

Vanya
28.11.2016
18:32:54
Аааа, ступил. Через плагинчик мб

Пользуясь случаем, кто нибудь знает как отключить автогенерацию модулей main и test в проекте на гредле?

Alex
28.11.2016
19:09:52
Banned
Што я пропустил

Anton
28.11.2016
19:10:21
Да неадекват какой то

Google
Igor
28.11.2016
19:10:34
Што я пропустил
Всего лишь нахуй послали

James Tiberius Kirk ?
28.11.2016
19:23:03
В нашем сообществе нахуй можно только посылать во флуде

guga
28.11.2016
20:33:13
Слушайте, а есть ли какой-то сакральный смысл в том, что бы делать локальную копию финальной ссылки на лок? Вот пример с LinkedBlockingQueue http://puu.sh/sxyvp/aadc4d84c8.png

this.takeLock объявлен как /** Lock held by take, poll, etc */ private final ReentrantLock takeLock = new ReentrantLock();

sss3 ?
28.11.2016
20:34:33
возможность того что исходных лок заменят

ну тогда бред)

где такое нашёл?

guga
28.11.2016
20:35:04
LinkedBlockingQueue из jdk

sss3 ?
28.11.2016
20:35:11
ну хотя знаешь

у меня вот ребята на работе почти всё final метять

не только проперти класса

но и все аргументы метода

объявляеммые переменные в методахв

всё файнал

выглядит страшно :)

Pavel
28.11.2016
20:37:12
ехал final через final видет final вышел final

final final final

guga
28.11.2016
20:40:22
А ещё залез я тут в ConcurrentLinkedQueue знаете как они делают CAS операции? Через sun.misc.Unsafe. Чего есть почитать про конкретные решения в j.u.c. реализации?

Или вот, зачем заводить локальный AtomicInteger (3я строка) http://puu.sh/sxzxW/ad464f93e4.png

Google
Andrey
28.11.2016
20:50:32
Или вот, зачем заводить локальный AtomicInteger (3я строка) http://puu.sh/sxzxW/ad464f93e4.png
Есть одно предположение, но оно корявое. В сисярпе так делали, к примеру, из-за тупого JITa. Он не умел инлайнить связанное с нелокальными переменными. Возможно этот код был написал очень давно и JIT в джаве был таким же.

guga
28.11.2016
20:52:12
Как вариант, читать немного приятнее, в очень длинных кусках кода, но не сказал ты, что это критично.

sss3 ?
28.11.2016
20:55:52
Что такое инлайн в данном контексте?)

Не особо знаю как работает компилятор

Всегда хотел спросить что вы подразумеваете)

Andrey
28.11.2016
20:56:48
Что такое инлайн в данном контексте?)
Если функция маленькая, то гораздо выгоднее не вызывать её, а "встроить" в код.

Потому что накладные расходы по вызову функции могут быть велики по сравнению с самим выполнением функции.

sss3 ?
28.11.2016
20:57:34
Даже если функция много где вызывается?

Везде будет вставлять?

Andrey
28.11.2016
20:57:46
Да, почему нет?

sss3 ?
28.11.2016
20:58:00
Не знаю, просто хотел спросить

Andrey
28.11.2016
20:58:38
Размер бинарника сейчас находится почти на самом последнем месте.

guga
28.11.2016
20:59:00
Смотри, проще всего понять все это на геттерах. Как ты думаешь, что быстрее, взять поле у класса, или вызвать метод который вернет значение этого поля.

Andrey
28.11.2016
20:59:40
И да, инлайнинг - это задача не компилятора, а JITa

guga
28.11.2016
21:00:02
И да, инлайнинг - это задача не компилятора, а JITa
Следовательно, работает на горячем коде.

Антон
28.11.2016
21:00:50
Andrey
28.11.2016
21:01:19
ну jit - это тоже компайлер
Да, но под компилятором в управляемых языках подразумевают немного другое.

Антон
28.11.2016
21:01:42
ну он компилит байткод в натив

Valeriy
29.11.2016
02:14:34
privet ot .net ????

Google
Maksim
29.11.2016
06:48:47
Есть одно предположение, но оно корявое. В сисярпе так делали, к примеру, из-за тупого JITa. Он не умел инлайнить связанное с нелокальными переменными. Возможно этот код был написал очень давно и JIT в джаве был таким же.
Что-то я не могу связать проблему инлайна с AtomicInteger'ом( Просто, насколько я помню, JIT инлайнит только очень небольшие методы. А этот выглядит громоздким. Да и всё равно тут есть нелокальные переменные: this.count, this.putLock, notFull, capacity.

privet ot .net ????
Привет, какими судьбами к нам занесло?)

Evgeniy
29.11.2016
07:15:53
Доброго времени суток, коллеги!)

Marat
29.11.2016
07:18:53
Или вот, зачем заводить локальный AtomicInteger (3я строка) http://puu.sh/sxzxW/ad464f93e4.png
скорее всего это из-за того, что putLock.lock() может уложить текущий поток в сон. И для того, чтобы jvm'у меньше бегать по ссылкам при сохранении контекста потока, и все, что используется до lock(): putLock и count, сохраняется в локальных переменных (в стеке), а значит, возможно, и не вытеснится из кэша процессора. notFull не сохраняем, т.к. он не использовался до засыпания. capacity - это не объект, а примитивный тип int, и скорее всего final

Митко Соловец?
29.11.2016
08:26:36
ребят, так кого забанили?

Igor
29.11.2016
08:27:43
Admin
ERROR: S client not available

Valery
29.11.2016
09:44:20
Za chto?

Igor
29.11.2016
09:46:38
Za chto?
За оскорбления, послал на 3 буквы

Yan?
29.11.2016
09:50:57
https://pp.vk.me/c636525/v636525541/3707a/BQk4jHRZImg.jpg

Если произойдёт исключение в первом методе, то второй пробросит его дальше?

sss3 ?
29.11.2016
09:51:47
Да

Yan?
29.11.2016
09:57:11
I has a question

В каких случаях в методе нужно писать try/catch, а в каких не нужно?

guga
29.11.2016
09:57:47
Ну тут нужно учесть ещё несколько моментов, какая джава, и не смогут ли выкинуть методы выше исключения.

В каких случаях в методе нужно писать try/catch, а в каких не нужно?
Если ты можешь принять решение что делать дальше с теми данными что у тебя есть. Тогда ставь try\catch — нет, бросай дальше. Но это довольно философский момент. Так можно и до пользователя пробросить.

Yan?
29.11.2016
09:59:42
То есть, try/catch позволяет дальше работать в методе?

guga
29.11.2016
10:00:28
Да.

sss3 ?
29.11.2016
10:00:49
Если внутри ничего не выбросить еще

guga
29.11.2016
10:01:14
И если ты словил то исключение, которое летело.

Google
Maksim
29.11.2016
10:01:20
guga
29.11.2016
10:01:40
Ну и в финале, мог бы и книгу почитать. ?

Yan?
29.11.2016
10:01:51
Have)
ну это коверканье, на самом деле там haz должно быть

Берял
29.11.2016
10:02:24
Если ты можешь принять решение что делать дальше с теми данными что у тебя есть. Тогда ставь try\catch — нет, бросай дальше. Но это довольно философский момент. Так можно и до пользователя пробросить.
причем вполне нормальная практика, бросать в самый верх и перехватывать каким-нибудь хендлером, преобразовывая все в нужный для пользователя вид

Yan?
29.11.2016
10:02:28
Ну и в финале, мог бы и книгу почитать. ?
Да меня друг спросил, почему не нужно try/catch писать в методе выше и я задумался/

norfolk
29.11.2016
10:02:41
Have)
Добро пожаловаться в интернет. Это мем такой

Maksim
29.11.2016
10:03:04
guga
29.11.2016
10:04:10
причем вполне нормальная практика, бросать в самый верх и перехватывать каким-нибудь хендлером, преобразовывая все в нужный для пользователя вид
Абсолютно, главное, всё-таки не отдавать пользователю голые стектрейсы. И философский вопрос, нужно ли перехватытвать Throwable или Error?

Andrey
29.11.2016
10:04:48
Слушайте, а исключение в finnaly затирает исключение в try?

guga
29.11.2016
10:05:11
С 7й джавы кажись пофиксили

Но я не помню всех подводных камней.

Andrey
29.11.2016
10:07:46
try { try { throw new Exception("First"); } finally { throw new Exception("Second"); } } catch (Exception e) { System.out.print(e.getMessage()); } Как First вывести?

guga
29.11.2016
10:08:27
getSuppressed

Andrey
29.11.2016
10:08:47
getSuppressed
Это у e вызывать?

Pavel
29.11.2016
10:09:54
для этого First должна быть передана в конструктор Second вроде?

как cause

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