Co jeśli pula wątków jest zajęta? – RejectedExecutionHandler

Aby przyśpieszyć wydajność naszych aplikacji bardzo często decydujemy się na zrównoleglenie pracy. Przy zmianie modelu pracy dostarczamy pulę wątków, która będzie odpowiedzialna za równoległe wykonywanie zadań. Czasami jednak przy pracy w wielowątkowym środowisku może zdarzyć się sytuacja, w której wysycimy całą pulę wątków. Java dostarcza mechanizmy (polityki), które instruują pulę jak ma się zachować w przypadku wysycenia zasobów.

Czytaj dalej


Java + GitHub + Travis CI czyli darmowe continuous integration

W aktualnych czasach ciężko wyobrazić sobie proces wytwarzania oprogramowania bez CI (ciągła integracja). W środowisku JVM najpopularniejszymi narzędziami do ciągłej intergacji są Jenkins i Bamboo. Niestety przy małych projektach lub projektach typu open source nie chcemy wykupywać maszyn, aby uruchomić proces CI. Rozwiązaniem tego problemu jest darmowe narzędzie Travis CI, które jest cloud’owym systemem ciągłej integracji.

Czytaj dalej


Sprawdzamy rozmiar naszych obiektów z Java Object Layout

Jeśli ktoś podobnie jak ja zastanawia się “ciekawe ile ten obiekt zajmuje miejsca w pamięci?” to mam dla was dobrą wiadomość! Java Object Layout (JOL) jest mini-programem, który potrafi policzyć jaki będzie rozmiar obiektu przechowywanego w pamięci. Oczywiście dobrze wiemy, iż w aktualnych czasach pamięć jest “tania”, jednakże jeśli chcielibyśmy się przekonać, który obiekt zajmuje mniej miejsca w pamięci to zapraszam do artykułu.

Czytaj dalej