Wydaje się, że singleton to jeden z prostszych wzorców projektowych. Jednak jego prawidłowa implementacja w języku Java może przysporzyć sporo problemów. Poniżej przedstawiam implementację, która powinna być bezpieczna w środowisku wielowątkowym, a zarazem nadal wydajna.
Tag Archives
String literals
- Published on : 06 kwiecień 10
- in : Programowanie
- Comments : 0 Comments
Ile obiektów może zostać usuniętych przez garbage collector po wykonaniu ostatniej linii poniższego pseudokodu?
String a = "test";
String b = new String("test");
a = b = null;
Mapowanie typów w Toplink JPA
- Published on : 19 marzec 10
- in : Programowanie
- Comments : 0 Comments
Co zrobić, aby budując system oparty o tradycyjną, relacyjną bazę danych oraz Toplink JPA wykorzystać w pełni siłę języka Java i JPQL? Tak by móc konstruować zapytania typu:
IpAddress ipAddr = new IpAddress("10.0.0.2");
TDhcp dhcp = em.createQuery("SELECT d from TDhcp d WHERE d.ipAddress=:ip")
.setParameter("ip", ipAddr)
[...]
Maven dependency scopes
- Published on : 06 marzec 10
- in : Programowanie
- Comments : 0 Comments
Maven provides four dependency scopes:
compile: A compile-scope dependency is available in all phases. This is the default value.
provided: A provided dependency is used to compile the application, but will not be deployed. You would use this scope when you expect [...]
Toplink wydajność – encje readonly
- Published on : 22 grudzień 09
- in : Programowanie
- Comments : 0 Comments
Jak wiadomo korzystanie z JPA, niesie z sobą bardzo wiele udogodnień, np.: umożliwia w miarę bezbolesne połączenie świata relacyjnego (baza danych) z światem obiektowości (java). Niestety jak każde rozwiązanie tego pociąga za sobą narzut wydajnościowy, szczególnie widoczny w czasie masowych operacji.
Jeśli jednak nasze operacje są typu “readonly”, czyli używamy JPA tylko do pozyskiwania encji z [...]
Jak rodzi się obiekt
- Published on : 19 październik 09
- in : Programowanie
- Comments : 0 Comments
Tytuł trochę przewrotny, ale będzie o tworzeniu nowego obiektu, a dokładniej o tym w jakiej kolejności inicjowane są poszczególne jego elementy
Operatory logiczne Short-Circuit
- Published on : 19 październik 09
- in : Programowanie
- Comments : 0 Comments
Czasami wiesz, że coś jest prawdą, nie tracąc czasu, aby dowiedzieć się wszystkich szczegółów. Na przykład, jeśli ktoś mówi do ciebie: “Wyjdę na zewnątrz, jeśli świeci słońce lub …”, to nie ma znaczenia co jest po LUB -i tak dalej, jak wiesz, że jest słonecznie. Program w Javie robi to samo.
Jednak nie każdy wie, że [...]
Magiczny switch-case
- Published on : 18 październik 09
- in : Programowanie
- Comments : 0 Comments
Nigdy nie podobała mi się konstrukcja switch/case w javie. Może dlatego, że jej działanie jest nie do końca intuicyjne.
Postinkrementacja i warunki logiczne
- Published on : 18 październik 09
- in : Programowanie
- Comments : 0 Comments
Ciekawe i podchwytliwe pytanie z JavaBlackBelt dotyczące postinkrementacji (a++) oraz instrukcji if/else if/else
try-catch-finally
- Published on : 18 październik 09
- in : Programowanie
- Comments : 0 Comments
Kolejne, ciekawe pytanie z JavaBlackbelt (lekko zmodyfikowany) dotyczące konstrukcji try/catch/finally
Warto zwrócić uwagę na trochę nieoczekiwane działanie w przypadku gdy w metodzie finally użyjemy return