Size: a a a

2021 February 19

HH

Human Human in pro.jvm
Мне нравится этот коммент в их issues
https://github.com/google/gson/issues/1477#issuecomment-467862508
Типа это не баг, это фича)
источник

HH

Human Human in pro.jvm
Видимо вариантов кроме как писать свой TypeAdapter - нет
источник

AG

Asad Ganiev in pro.jvm
Добрый день

Возможно ли с помощью jackson-dataformat-xml из xml файла генерить Java POJO или другой библиотекой?
источник

AG

Asad Ganiev in pro.jvm
или придется руками самому писать этот Java class?
источник

AG

Asad Ganiev in pro.jvm
Никто не сталкивался с такой проблемой?
источник

AG

Alexey Genus in pro.jvm
http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.4/ вот такая штука есть для генерации классов. Только нужен не xml, а xsd
источник

AG

Asad Ganiev in pro.jvm
Alexey Genus
http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.4/ вот такая штука есть для генерации классов. Только нужен не xml, а xsd
Увы ее нет
источник

AG

Asad Ganiev in pro.jvm
Но все равно спасибо
источник

AG

Alexey Genus in pro.jvm
jackson, насколько я знаю, не умеет. И вообще у него достаточно базовая поддержка xml, лучше его не использовать, потому что будет косячить на сложных случаях.
источник

e

elendili in pro.jvm
Привет, сча тупой вопрос о JDK будет.
Подскажите, почему equals of String не использует хешкод (если он уже вычислен на момент обращения, так то он lazy), чтобы убрать посимвольное сравнение, когда хэши не равны. Вот как выглядит String.equals в JDK15:

public boolean equals(Object anObject) {
   if (this == anObject) {
       return true;
   }
   if (anObject instanceof String) {
       String aString = (String)anObject;
       if (!
COMPACT_STRINGS || this.coder == aString.coder) {
           return StringLatin1.
equals(value, aString.value);
       }
   }
   return false;
}
источник

AG

Alexey Genus in pro.jvm
Asad Ganiev
Увы ее нет
В IDEA есть generate XSD from file. Можно разово сгенерировать, а потом уже руками дописывать
источник

AG

Asad Ganiev in pro.jvm
Alexey Genus
В IDEA есть generate XSD from file. Можно разово сгенерировать, а потом уже руками дописывать
Ок, спасибо
источник

T

Tagir in pro.jvm
elendili
Привет, сча тупой вопрос о JDK будет.
Подскажите, почему equals of String не использует хешкод (если он уже вычислен на момент обращения, так то он lazy), чтобы убрать посимвольное сравнение, когда хэши не равны. Вот как выглядит String.equals в JDK15:

public boolean equals(Object anObject) {
   if (this == anObject) {
       return true;
   }
   if (anObject instanceof String) {
       String aString = (String)anObject;
       if (!
COMPACT_STRINGS || this.coder == aString.coder) {
           return StringLatin1.
equals(value, aString.value);
       }
   }
   return false;
}
Во-первых, этот метод интринсифицирован. Реально работает не эта реализация
источник

T

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

T

Tagir in pro.jvm
Хэшкод обычно вычислен когда? Когда строка является ключом в хэш-таблице. В этой же ситуации хэш-коды уже сравниваются перед выполнением equals. Потом делать equals, сравнивая хэшкод ещё раз, хотя он точно одинаковый. Зачем надо?
источник

T

Tagir in pro.jvm
Ну и в большинстве случаев сравнение в случае неравенства отсекается быстро и так: либо не совпадёт длина, либо не совпадёт один из первых символов. Не такой частый случай, чтобы совпадала длина и большой префикс. С учётом того, что придётся переписывать интринсики для c1/c2/graal, это кажется кучей работы ради очень сомнительной выгоды
источник

T

Tagir in pro.jvm
Понятно, что сравнение длинных строк векторизовано, там не посимвольно сравнивается.
источник

DC

Denis Chikanov in pro.jvm
Tagir
Понятно, что сравнение длинных строк векторизовано, там не посимвольно сравнивается.
интересно, бывают ли нагрузки и форматы (паттерны, скорее даже) входных данных, на которых выгодно реализовывать своё сравнение строк
источник

T

Tagir in pro.jvm
Свои собственные строки вообще точно бывает.
источник

T

Tagir in pro.jvm
У нас в Идейке есть
источник