@jvmchat

Страница 727 из 2890
Stanislav
24.11.2016
15:24:55
ну дык один фиг 2 проверки делать, а там разницы уже нет что containsKey, что !=null
пока проходит время между contains и get, состояние мапы уже поменяется, как минимум

Denis
24.11.2016
15:25:38
java.util.Map#getOrDefault
в 7 такого нет :(

Helyck
24.11.2016
15:25:49
вот почесал репу, но так и не понял в чем хорошо иметь только одну проверку в определенном месте

Denis
24.11.2016
15:25:55
пока проходит время между contains и get, состояние мапы уже поменяется, как минимум
никуда оно не поменяется в однопоточном приложении :)

Google
Stanislav
24.11.2016
15:26:03
+ даже если предположить, что мапа иммутабельная, то есть тонкости в реализации contains и get, не все либы по контракту реализуют жти методы

Stanislav
24.11.2016
15:26:33
никуда оно не поменяется в однопоточном приложении :)
никогда не видел однопоточного джава приложения

Igor
24.11.2016
15:27:32
Denis
24.11.2016
15:27:39
никогда не видел однопоточного джава приложения
ты прямо на старте приложения создаешь пачку тредов и по нима раскидываешь?

Stanislav
24.11.2016
15:28:10
java7: Boolean value = map.get(1); value = value != null ? value : false java8: Boolean value = map.getOrDefault(1, false);
кстати, java7 можно изящнее написать: boolean value = firstNotNull( map.get(1), false )

Denis
24.11.2016
15:28:33
у меня консольное приложение с одним потоком исполнения, а где там GC крутится и прочие лишние детали мне как-то пофиг :)

Stanislav
24.11.2016
15:29:00
ты прямо на старте приложения создаешь пачку тредов и по нима раскидываешь?
во-первых, да. Во-вторых, jvm еще десяток тредов запускает

Denis
24.11.2016
15:29:27
Igor
24.11.2016
15:29:27
Stanislav
24.11.2016
15:29:46
Denis
24.11.2016
15:30:06
это иллюзия )
и при каких условиях такое происходит?

Google
Антон
24.11.2016
15:30:23
заинтриговал

Stanislav
24.11.2016
15:30:24
и при каких условиях такое происходит?
когда кто-нибудь что-нибудь неадекватное делает снаружи

Антон
24.11.2016
15:30:29
так

Stanislav
24.11.2016
15:30:31
с jvm-кой

Антон
24.11.2016
15:30:49
например

память жвм корячат?

или что

Stanislav
24.11.2016
15:31:33
ну есть менее колечащие способы поменять поведение приложения под jvm

Stanislav
24.11.2016
15:32:31
jmx, всякие дебажные точки входа, через джаваагента

Igor
24.11.2016
15:32:43
jmx, всякие дебажные точки входа, через джаваагента
это не стандартное поведение программы

Антон
24.11.2016
15:32:49
ну окей, так ты сам себе буратино

Stanislav
24.11.2016
15:33:07
не я, а тот кто запускает мое приложение

Антон
24.11.2016
15:33:23
ну и насрать, речь шла о том что сама jvm не меняет

guga
24.11.2016
15:33:27
И ты считаешь, что программист должен о этом заботиться?

Denis
24.11.2016
15:33:32
Антон
24.11.2016
15:33:37
она и не меняет

менят тот кто запускает

Igor
24.11.2016
15:33:48
его проблемы, тащемто
короче, тебе там 2 варианта скинули)

Google
Stanislav
24.11.2016
15:34:25
ну и насрать, речь шла о том что сама jvm не меняет
речь шла о том, что между сontainsKay и get никто не меняет состояние мапы. Я говорил, что это неверное утверждение

даже для "однопоточного" приложения

Stanislav
24.11.2016
15:35:13
зачем приучаться к плохим практикам, которые работаеют только в одном потоке ?

Denis
24.11.2016
15:35:24
короче, тебе там 2 варианта скинули)
ну да, я уже почти применил с оверрайдом который :)

Антон
24.11.2016
15:35:26
давай везде херачить ConcurrentHashMap

Denis
24.11.2016
15:35:27
Спасибо :)

Stanislav
24.11.2016
15:35:49
давай везде херачить ConcurrentHashMap
это другая крайность

Антон
24.11.2016
15:36:00
пасыпать код волатайлами, и все синхронизировать )

Denis
24.11.2016
15:36:07
зачем приучаться к плохим практикам, которые работаеют только в одном потоке ?
а накой фиг мне заморачиваться с потокобезопасным вещами если приложение никогда не будет работать в несколько потоков?

Антон
24.11.2016
15:36:32
не слушай этого форматировщика SQL

Stanislav
24.11.2016
15:36:39
но сириусли, код if ( map.contains(key) ) map.get(key) сам по себе воняет

Denis
24.11.2016
15:37:00
да, потому и оверрайднул :)

но потокобезопасность тут не при чем

Митко Соловец?
24.11.2016
15:37:25
Stanislav
24.11.2016
15:38:00
да, потому и оверрайднул :)
и нарушил соглашение на java.util.Map#get

Denis
24.11.2016
15:38:08
превосходный код
это если он не кусок другого мегаифа

Google
Антон
24.11.2016
15:38:45
если он в один поток -то не воняет

Stanislav
24.11.2016
15:38:58
не слушай этого форматировщика SQL
это вообще переход на личности, давай так не делать

Denis
24.11.2016
15:39:05
Если эта мысль будет мне не давать заснуть - вынесу в отдельный класс логику работы со структурой и все

Антон
24.11.2016
15:39:40
Митко Соловец?
24.11.2016
15:39:47
Антон
24.11.2016
15:40:07
забанить?
да бань конечно

Admin
ERROR: S client not available

Stanislav
24.11.2016
15:40:23
лол, нет, просто тут спор за код, а аргументы в стиле "да ты в зеркало посмотрись"

Митко Соловец?
24.11.2016
15:40:30
да бань конечно
паук у тебя страшный

Антон
24.11.2016
15:40:50
да я сам офигел от него с утра.

Митко Соловец?
24.11.2016
15:41:15
просто берешь и покупаешь новую квартиру

и все

Антон
24.11.2016
15:41:25
))) это в индии

Igor
24.11.2016
15:41:26
и нарушил соглашение на java.util.Map#get
ну тогда надо писать свою обёртку, которая будет держать в себе инстанс мапы

Igor
24.11.2016
15:41:47
вот только от неё нельзя наследоваться, потому что "соглашение жи нарушено!!!"

Антон
24.11.2016
15:42:00
а не оверрайдить

Митко Соловец?
24.11.2016
15:42:02
пацаны, вот конкретный вопрос

нормально ли наследоваться от эррэйлиста?

Google
Stanislav
24.11.2016
15:42:22
Антон
24.11.2016
15:42:36
и норм
ну наконец-то )

Митко Соловец?
24.11.2016
15:42:54
иногда встречал такие случаи, когда чувак наследовался и вместо ArrayList<Item>, мы получали класс Items

ваше мнение?

у меня сильно бомбило от такого

Антон
24.11.2016
15:43:42
всмысле зачем Items

Igor
24.11.2016
15:44:05
зачем бомбило)

Митко Соловец?
24.11.2016
15:44:06
да спроси у него...

Антон
24.11.2016
15:44:13
он дальше везде Items кидал?

Митко Соловец?
24.11.2016
15:44:18
да

Антон
24.11.2016
15:44:24
эээ

Митко Соловец?
24.11.2016
15:44:29
и понятно, что человек со стороны сразу не поймет

нахера так

Stanislav
24.11.2016
15:44:40
Во-первых, это дженерики в райнтайме

удобно же

Митко Соловец?
24.11.2016
15:44:57

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