Как стать автором
Обновить
3
0
Кирилл Темненков @General_Manjago

бекенд разработчик на Java и Kotlin

Отправить сообщение
Очень жаль, что электронная версия книги только в формате pdf. Была бы в epub — купил бы.
В описании игры сказано, что «IPod 4-го поколения, IPhone 3GS, IPhone 4 не поддерживаются». И, тем не менее, на мой IPod 5-го поколения игра не установилась — «несовместима с этим iPod». Где ошибка — в системных требованиях или в чем-то еще?
А вроде есть же решатель? Можно недооформившиеся мысли там пропатчить :-)
ага, я буду следить и отпишусь сюда. А то различия в скорости String.substring в пределах одного вендора — как-то это меня парит.
Ради интереса посмотрел jdk 7 от IBM — там реализация String осталась прежней
В «Живущем» Анны Старобинец отключение от «социо» на 48 минут было очень, очень большим наказанием :-)
помеченный одним пользователем бот автоматически идентифицируется на всех остальных ресурсах

А если некий пользователь-зловред специально пометит оппонента, как бота (и он автоматически так идентифицируется на всех остальных ресурсах)? Предусмотрен ли какой-нибудь механизм защиты?
Ну да, меня больше удивила переменная с временным индексом — я ожидал «рассовывания» по веткам первого свитча.

Хотя действительно — в случае сложного свитча (как у вас в примере) «протестного чувства» практически нет :-)

import java.io.PrintStream;

public class Test3
{
public static void main(String[] paramArrayOfString)
{
String str1 = "6R";
String str2 = str1; int i = -1; switch (str2.hashCode()) { case 1756:
if (str2.equals("5q")) { i = 2; } else { if (!str2.equals("6R")) break; i = 0; } break;
case -1386582880:
if (!str2.equals("blabla")) break; i = 1; } switch (i) {
case 0:
case 1:
System.out.println("Ok");
break;
case 2:
System.out.println("Fail");
}
}
}
О! Спасибо за пример!
Теперь можно посмотреть на Test2 — малость поинтереснее.

Исходник:
public class Test2 {
public static void main(String[] args) {
String test = "6R";
switch(test){
case "6R":
System.out.println("Ok");
break;
case "5q":
System.out.println("Fail");
break;
}
}
}


Результат декомпиляции:
import java.io.PrintStream;

public class Test2
{
public static void main(String[] paramArrayOfString)
{
String str1 = "6R";
String str2 = str1; int i = -1; switch (str2.hashCode()) { case 1756:
if (str2.equals("5q")) { i = 1; } else { if (!str2.equals("6R")) break; i = 0; } }
switch (i) {
case 0:
System.out.println("Ok");
break;
case 1:
System.out.println("Fail");
}
}
}
Да это все понятно, своими «видимо» и «ВДРУГ» я пытался сарказм изобразить — не получилось.
Разумеется, возможны коллизии.
Может быть, конечно, но вроде бы оснований не доверять ему нет — код вполне осмыслен, и раньше он («он» — в смысле «декомпилер») меня не подводил.

Впрочем, посмотрел для очистки совести и другим, более «низкоуровневым» — и, насколько я понял, там та же «пляска» с хешем и сравнением строки: image

С английским — да, грешен :-(
Просто по hashCode, видимо, стрёмно — а ВДРУГ найдецца еще строка с таким же hashCode?

Но вообще забавно. Надо будет посмотреть, сколько будут «стоить» эти новые синтаксическо-сахарные фичи.
О как интересно.
Мне давно хотелось в java использовать string в switch
Исходник:

public class Test {

public static void main(String[] args) {
String test = "string0";
switch(test){
case "string0":
System.out.println("It's works!");
break;
}

}

}


Компилируем седьмой жабой — компилится, работает!

Смотрим декомпилером Test.class:

import java.io.PrintStream;

public class Test
{
public static void main(String[] paramArrayOfString)
{
String str1 = "string0";
String str2 = str1; int i = -1; switch (str2.hashCode()) { case -1881759169:
if (!str2.equals("string0")) break; i = 0; } switch (i) {
case 0:
System.out.println("It's works!");
}
}
}


Забавно они эту фичу реализовали.
Спасибо за совет!
О, спасибо за архиполезную статью!
Тогда погодим покупать вторую версию, дождемся третьей :-)
Можно и мне инвайт?
kirill.temnenkov@gmail.com
Извините, ссылка www.javaspecialists.eu/talks/oslo09/ReflectionMadness.pdf, похоже, битая. Можете указать валидную ссылку (было бы интересно ознакомиться)
Спасибо — и за ссылку на книжку, и за наводку на интернет-магазин. Доставка за 10 рублей в магазин, мимо которого я каждый день прохожу — это очень вкусно :-)
HUMOR.FILTERED жива чуть-чуть :-)
Чуть ли не половина трафика — «Сюда писать нельзя!»
Ну, есть все еще эхи с большим трафиком. Год назад, например, я был Returning Officer в RU.MILITARY. И тогда там было дофига сообщений в день, да и сейчас.

Вроде бы SU.BOOKS еще жива. RU.LINUX.CHAINIK. RU.FTN.DEVELOP активизировалась.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность