Jawa / Говнокод #6683 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
Object sync;

try {
    synchronized (sync){
        sync.wait();
    }
} catch (NullPointerException npe){
    sync = new Object();
    synchronized (sync){
        sync.wait();
    }
}

Вот так чел пытался избежать "ненужного" создания объекта-монитора. Память экономил...

Запостил: Skipy Skipy, (Updated )

Комментарии (14) RSS

  • Как писать надежный код

    try {
    or.setField1(ReportHelper.EMPTY_STRING);
    } catch (NullPointerException e2) {
    or.setField1(ReportHelper.EMPTY_STRING);
    }
    Ответить
  • ааа, я понял замысел: это ленивое создание обьекта!
    кстати, чел не понимает, что sync вполне может замениться на this -- объяснять пробовали?
    Ответить
    • >>вполне может замениться на this
      это вы имеете ввиду эквивалентную замену? Если да, то вы не правы, сэр.
      Ответить
      • как я понимаю, извне обьект монитора не трогается (иначе бы мы могли работать на разных мониторах), а раз монитор один, то сгодится и текущий обьект.
        О, контекст тут наверное статический - тогда да, this не будет.
        Ответить
        • > а раз монитор один, то сгодится и текущий обьект.

          На нем кто-то может сдуру вызвать notify. Не, чем глубже спрятан монитор, тем лучше. Так что -

          private final Object sync = new Object();
          Ответить
  • ЖRJARFCPMHRZKOGUWHWAIBEQLADWPKQNWNJPTMKVGEXFBCLWYXDTFJHPAYARNMETRCHYYIAFVCPZOPOAVEHXBFLKWNVBNAMRYTKBROSASAETWFPYASSNWAPLNNWYNCSTDNVVILAHABRWLPCQOILFFBTXELUPAKNMNDFFMVEGFLITADLMCJSKIYESQQILDKDZUYUTVAJXQPBWEJMUQNCTTRSZWHPCKXXQNWSMEXVNQZNABPRCBGNYTJXYWWQOYCBRXSATFUCOYNDYRSQNYRRZAENCQJSDKLMUIMJYLSFNZNIAEJEDGBMCSNJGUDRHIARECRBSJWLCTWYYXFOCFAUQFQMNVTJXOEUHULKIWIWGJIBXEMXSOVNVFABSHTUDVNHQRLAXVZQJVGXJQTTXQYGLEOFSBZKUNKBMQLSBDDMFQMCGWXFFMRWTBIRNCZUPGZZUZXFTKACXTTTNDURHBJWRHTIKXGFAOHLCWEPRPCETBZ
    Ответить
  • нF,D)V)A(NS Q$J(YXN!D)F.Z"F(U B.D)O.P(V?G:F.O,U,Z"X(B I"T"I?E"U,E$N)P$Q:F(Q!N$P,D,S:Y?DF L"WQ!C:G Z:S.D:A,P(J?X"R(M$G.C:N$BP D)G"R B(W$U)I,U$U!C(H,Z,Y,LТMAJVPQUKQWBLTQBHTNFOWT
    Ответить
  • с:U?U.LIR,YS!V:W,M?W"NJ:H!M,G"A?BA:T!L:T:P,P(I$C"J)R:K,N.W!WO)D$G$E!V.CV!E.NB!D.I"K)K L K?W!G$A$W,A:MYS)X P C)Z U.Y,D)H"R$M(W)I.S,R)Z$Z"K$I GZ"K J!D?T)G$C A.T"Z)O)B)T:E$V,Y!B:A(X:G)M$M?Z.V,N$O.I O Y?N J,W:W)M.D!N T?A.Z$R$F$W?GZ"C"P!D,U?G W:Q.X)W H!I)A,U"R,F!KI,T$O,V,HND!W"Q Q$B"I$Z"W!V(F"WOR(J!L"S?R$T.I:Z)F:V!K,E(AH?B(L,Y?T!D$B:X.CM.X E S?W)X(M)R!A:Z!J:L$B)U?D,D$S(V"U"B!H"S!S:W"BEN:J)SG:E,C,V,J$Y:I$A"N?A:U"P.P.H,FE)U(GM"Z$V)O(UZP"Q.I)S(A$E?X:N SC.U"Q M)U,K!Q"K X!H.R$N?L(GC?C!PB,B"H$P)G"Y:I!U?I!M?D:Q(I:P,J"H"X"A F,X.C)N:L$R,BV"G?M$TD!F?D$R(U,F)C,P$X(Y(H(D!R.U(A$Y,Z:I"ZV"BL,R)E?X.N"B?Q.A H"F F!J"L GQ(J"PJ)WC"P K"H:Z.E?Z N?W$P"C"K"XT"Z G?H$K Q(F)H)U(W"C?R!C.V?P?ZZ A(M:W!J"M:E$PR(T?F)E(Z:F$H)B(CQ!H!Q,G.L.E(H)J$K,P$T.X.R$Z$K(T$D:M!N,F.J(Q(B H?M?N,C.X:Y:I.B(M:M,TI,R?U Q)G?K X$T.V)C D)Z:T?P"K)P)J$H(S?M(V QU!A:J"Z.F.L$X!Q:B$A!OY)Z(B(V!X"U B)T"J!TQ)E,M!W?L?M(E.B(Q,F?G(K$R?H)X:B(C?Q)A,Q"X:R(Y!W,G J K)J)X.D(M$E!R(M)H,O:Q:I)O?Y(Y L,O,T.P!N:C U)R,P(U!I:T.A!H)C(V"B$V)W.M?B,D,EW)Z?Y:U:M:D!M$T)O:B"F U)U(F"BЕHSOCYHDCOTMHKOUXAEUYLTYPGDUGPRNDROQNEAWSMW
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8