@hirthwork

hirthwork

Меня зовут Пить
hirthwork

Всего лишь бабочка, которой снится, что она программист

33 я читаю 93 меня читают
5256 постов
44466 комментариев
hirthwork

Амнистия. Всем, даром, каждому, и пусть никто не уйдёт неразбаненный! Если вдруг вы почему-то не можете мне писать, то стоит поискать упоминание себя под тегом *ban. И да, амнистия не отменяет #oksva.

hirthwork

Rage mode: On
Сегодняшний votd навёл меня на мысль о том, что в пойнте стало мало смысла и много тупняка. Посему отныне буду добавлять в bl авторов комментариев не несущих смысловой нагрузки (stager и nicka уже давно там). Вы не подумайте что я со зла или обижен вами, просто отсеиваю информационный шум. Через годик попрошу Арца снова в базе дропнуть мне bl

hirthwork

Tenno-Seremel за дилдооффтоп в #mbrfd

hirthwork

Объясните, каким образом майор будет запрещать oneweb людям? Вот поставил я терминал на даче в хуевокукуево, замаскировал под дымоход, колодец, старый телевизор который-лень-выбрасывать-поэтому-он-стоит-на-крыше-сарая, каким-то образом привёз терминал из-за границы. На даче подниму впску и через dyndns буду к ней коннектиться из дома. Каким образом меня поймают за прослушивание вражеских голосов?

hirthwork
hirthwork

Эччи-тян вчера купила книжку Одонаты. Прям в магазине решили проверить, что не подделка и открыли страницу благодарностей. Макак в списке благодарностей есть — значит настоящая, пошли на кассу.
Вы спросите к чему второй тег? На кассе, в зоне спонтанных покупок, я увидел карманный микроскоп х60.

hirthwork

hirthwork

Чатик, а посоветуй какой-нибудь трек в стиле Dunkelheit, но менее бодренький, чтобы темп помедленнее был, чтобы больше для пробуждения подходило

hirthwork

hirthwork

hirthwork

hirthwork

Здравствуйте, мои маленькие любители поебатися с байткодом. Сегодня я вам расскажу о crucial difference различных access specifiers при объявлении мемберов inner-классов.
Слово в сторону: любой порядочный параноик объявит мембер своего класса как private, а не как либо ещё. Крайне ленивый раздолбай вообще access specifier не напишет. И вот тут-то и зарыта собака.
Возьмём вот такой класс с двумя inner-классами:

public class Main {
    class Inner {
        int field;
    }

    class Pinner {
        private int field;
    }

    int test(final Inner obj) {
        return obj.field;
    }

    int test(final Pinner obj) {
        return obj.field;
    }
}

Ничег сложного, просто два inner-класса, у одного поле int, у другого — private int. Ну и из двух разных функций обращаемся к этим полям.
Скомпилим и посмотрим на байткод:

$ javac Main.java
$ javap -p -c Main.class
Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return

  int test(Main$Inner);
    Code:
       0: aload_1
       1: getfield      #2                  // Field Main$Inner.field:I
       4: ireturn

  int test(Main$Pinner);
    Code:
       0: aload_1
       1: invokestatic  #3                  // Method Main$Pinner.access$000:(LMain$Pinner;)I
       4: ireturn
}

Ну ничего себе! Было private int простое, а стало золотое — вместо банального getfield получаем invokestatic, который...

$ javap -p -c Main\$Pinner.class
Compiled from "Main.java"
class Main$Pinner {
  private int field;

  final Main this$0;

  Main$Pinner(Main);
    Code:
       0: aload_0
       1: aload_1
       2: putfield      #2                  // Field this$0:LMain;
       5: aload_0
       6: invokespecial #3                  // Method java/lang/Object."<init>":()V
       9: return

  static int access$000(Main$Pinner);
    Code:
       0: aload_0
       1: getfield      #1                  // Field field:I
       4: ireturn
}

... внутри уже сам делает getfield, т.е. на ровном месте получили лишний вызов функции. А ещё когда вы сделаете что-то вроде:

Pinner pinner = null;
return pinner.field;

То в стектрейсе NullPointerException вы получите лишний фрейм с этим самым Main$Pinner.access$000, который неопытного программиста просто вводит в ступор.

В общем, я сейчас борюсь с желанием повсюду в коде поудалять все private.

hirthwork

Today’s gender of the day is: Death Note Spoiler

hirthwork

ОН ПОВЫШАЕТ СВОЙ ВОЗРАСТ БЫСТРЕЕ, ЧЕМ ПУТИН ПОВЫШАЕТ ПЕНСИОННЫЙ

hirthwork

hirthwork

FT: делегация из США бойкотирует петербургский экономический форум, если Майкл Калви останется под арестом

https://tjournal.ru/politic...tanetsya-pod-arestom

--

«Раз уж он в тюрьме, то это может случиться с каждым», — отмечают американские бизнесмены.

А они самую суть россиюшки уловили! Да, может.

hirthwork

Протон продался ФСБ, и теперь его пиарят, как Телеграм.

hirthwork

Весна пришла!

hirthwork

hirthwork

[19:17:49] <letu> лолчик https://tjournal.ru/media/8...-foto-drugoy-hipster
[19:51:09] <payalnikk> гыыы
[19:51:20] <payalnikk> я только заголовок прочитал
[19:51:32] <payalnikk> и уже перестать ржать не могу

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.