Size: a a a

2020 July 24

AE

Alexandr Emelyanov in pro.jvm
ὦan
В spring-e поиск и пагинацию можно сделать только через Спецификацию? То есть - все в одном методе
Пагинация с фильтрами не связана, можно и отдельно. У вас же spring data?
источник

ὦan in pro.jvm
Alexandr Emelyanov
Пагинация с фильтрами не связана, можно и отдельно. У вас же spring data?
Да
источник

AE

Alexandr Emelyanov in pro.jvm
ὦan
Да
Ну так и делайте пагинацию через spring data, а фильтры хоть через спеку, хоть через querydsl
источник

A

Aleksandr in pro.jvm
Tagir
Все вы так... Чуть что, сразу Идея виновата...
Все мы такие, Вы абсолютно правы 😇
источник

A

Aleksandr in pro.jvm
Товарищи, кто-нибудь подскажет хорошие GUI утилиты для redis?
Под мак нашёл какую-то платную https://redisdesktop.com/
источник

PA

Pavel Avershin in pro.jvm
Aleksandr
Товарищи, кто-нибудь подскажет хорошие GUI утилиты для redis?
Под мак нашёл какую-то платную https://redisdesktop.com/
посмотри у Intellij вроде есть какой-то плагин
источник

AE

Alter Ego in pro.jvm
Pavel Avershin
посмотри у Intellij вроде есть какой-то плагин
источник

IM

Ilya Moiseev in pro.jvm
Aleksandr
Товарищи, кто-нибудь подскажет хорошие GUI утилиты для redis?
Под мак нашёл какую-то платную https://redisdesktop.com/
RedisInsight неплох. Но он веб приложением сделан
источник

Э

Эд in pro.jvm
Есть кто юзает Spring Boot 2 с spring-starter-data-mongodb и у вас работа с 2 базами данных из 1 приложения? Интересен вопрос конфигурации
источник

TI

Tolegen Izbassar in pro.jvm
Эд
Есть кто юзает Spring Boot 2 с spring-starter-data-mongodb и у вас работа с 2 базами данных из 1 приложения? Интересен вопрос конфигурации
А в чем проблема 2 датасурса сделать?
источник

Э

Эд in pro.jvm
Tolegen Izbassar
А в чем проблема 2 датасурса сделать?
Вылетает ошибка, что MongoClient ранний синглтон
источник

A

Anton in pro.jvm
Aleksey Shipilev
JLS 3.10.5 String Literals: "Moreover, a string literal always refers to the same instance of class String. This is because string literals - or, more generally, strings that are the values of constant expressions (§15.28) - are "interned" so as to share unique instances, using the method String.intern"
По JLS  §15.28 concat() не подходит под определение константных выражений, и код ниже ожидаемо возвращает false.

String str1 = "Hello".concat("World");
String str3 = new String("HelloWorld"); //Line-2
String str2 = str1.intern();
System.out.println(str1 == str2); //false

Но если убираем Line-2, то str1 == str2 вернет true.
Почему в этом случае str1 указывает в string pool, а первом варианте не указывает?
источник

IR

Ivan Rasikhin in pro.jvm
Эд
Вылетает ошибка, что MongoClient ранний синглтон
Можно сделать 2 MongoClient
источник

IR

Ivan Rasikhin in pro.jvm
А как сделать чтобы 2 repository работало - хз
источник

Э

Эд in pro.jvm
Ivan Rasikhin
Можно сделать 2 MongoClient
Господе, у меня получилось. Если интересно https://pastebin.com/WxzPaAc7
источник

AS

Aleksey Shipilev in pro.jvm
Anton
По JLS  §15.28 concat() не подходит под определение константных выражений, и код ниже ожидаемо возвращает false.

String str1 = "Hello".concat("World");
String str3 = new String("HelloWorld"); //Line-2
String str2 = str1.intern();
System.out.println(str1 == str2); //false

Но если убираем Line-2, то str1 == str2 вернет true.
Почему в этом случае str1 указывает в string pool, а первом варианте не указывает?
Нужно понимать, что из "литералы и константные строковые выражения всегда заинтернены" логически не следует "всё заинтерненное -- это либо литерал, либо константное строковое выражение".

А в вашем примере:
String str1 = "Hello".concat("World");
String str2 = str1.intern(); // "HelloWorld" в пуле нет, добавляем: то, что мы держим в руках, и есть канонический инстанс "HelloWorld"
System.out.println(str1 == str2); // ожидаемо, true

String str1 = "Hello".concat("World");
String str3 = new String("HelloWorld");
String str2 = str1.intern(); // "HelloWorld" в пуле есть! Литерал выше. То, что у нас в руках, не есть канонический инстанс, вернётся другая ссылка
System.out.println(str1 == str2); // ожидаемо, false
источник

N

Nick in pro.jvm
UsernameAK
другими словами: все строковые литералы интернированы?
интересно, это для практической задачи или просто поразбираться с внутрянкой?
источник

U

UsernameAK in pro.jvm
Nick
интересно, это для практической задачи или просто поразбираться с внутрянкой?
вполне для практической
источник

N

Nick in pro.jvm
т.е. вы реально хотите использовать == для решения сравнения строк? это что за проект что за задача, где можно забить на читаемость и предсказуемость
источник

A

Anton in pro.jvm
Aleksey Shipilev
Нужно понимать, что из "литералы и константные строковые выражения всегда заинтернены" логически не следует "всё заинтерненное -- это либо литерал, либо константное строковое выражение".

А в вашем примере:
String str1 = "Hello".concat("World");
String str2 = str1.intern(); // "HelloWorld" в пуле нет, добавляем: то, что мы держим в руках, и есть канонический инстанс "HelloWorld"
System.out.println(str1 == str2); // ожидаемо, true

String str1 = "Hello".concat("World");
String str3 = new String("HelloWorld");
String str2 = str1.intern(); // "HelloWorld" в пуле есть! Литерал выше. То, что у нас в руках, не есть канонический инстанс, вернётся другая ссылка
System.out.println(str1 == str2); // ожидаемо, false
Понял, спасибо!
Надо было посмотреть в документацию intern().
источник