Nie wiem czy wiecie, ale jednym z objawów możliwego zarażenia i panującej pandemii jest zagubienie, człowiek ma trudności w określeniu jaki jest np. dzień tygodnia.
Tym razem nietypowo. W pewnej firmie tworzono aplikację wielowątkową. W wielu klasach stosowano następujący wzorzec: - blokady są numerowane, żeby zapobiec deadlockom (zawsze synchronizowanie kolejno na LOCK1, LOCK2,...)
public class Main {
private static final Logger LOG = LoggerFactory.getLogger(Main.class.getName()); private static final String LOCK1 = "LOCK1"; private static final String LOCK2 = "LOCK2";
@afe1: Poprzednie zagadki to były kilkulinijkowe kody, które sobie można samemu sprawdzić online minimalnym wysiłkiem. W tym wypadku raczej też nie jest potrzebne IDE do sprawdzenia co by było gdyby... Jak ktoś chce się czegoś nauczyć to niech chociaż odpali kod i ewentualnie zada konkretne pytanie, a nie "dej mi odpowiedzi i wszystkie kombinacje bo inaczej ankieta do dupy".
@Mike-Wazowski: W multi-catch czyli tam gdzie podajemy w klauzuli catch więcej niż jeden typ wyjątku oddzielony znakiem | zmienna wyjątku jest typu, który jest najbliższą w hierarchii klasą bazową wspólną dla wszystkich wskazanych tam typów. Dla przykładu z ankiety dla Error i Exception najbliższą klasą bazową jest Throwable czyli ex jest referencją typu Throwable. Dalej mamy przeładowaną metodę handle i w grę wchodzi dopasowanie przeładowanej wersji metody do wywołania.
@wytrzzeszcz: ostatnie, bo toArray jeśli array jest większe niż trzeba ustawi pierwsze N elementów na te z kolekcji oraz z jakiegoś dziwnego powodu ustawi jeszcze element N+1 na null, bo tak sobie uznali że jest lepiej. https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#toArray-T:A- Wyjaśnione niby dlaczego, ale do mnie średnio to przemawia :D
public class NewClass { public static void main(String[] args) { try { int i = getTab()[getIndex()]; } catch (Exception e) { System.out.print("1"); } }
public static int[] getTab() { System.out.print("3"); return null; }
private static int getIndex() { System.out.print("2"); return -1; } }
#mecz