Deadlock – zakleszczenie
Jest to sytuacja, w której dwa lub więcej wątków/procesów są zablokowane ponieważ każdy z nich czeka na zakończenie działania drugiego. Jak unikać? Warto zajrzeć
Jest to sytuacja, w której dwa lub więcej wątków/procesów są zablokowane ponieważ każdy z nich czeka na zakończenie działania drugiego. Jak unikać? Warto zajrzeć
Przedstawiam tutaj streszczenie książki Erica Evansa Domain-Driven Desing Tackling Complexity in the Heart of Software (kolejne rozdziały będą się pojawiały wraz z postępem w czytaniu; na ten moment zawiesiłem czytanie tej książki przez prozaiczny powód – są pozycje na rynku, które mogą wnieść więcej do mojego asortymentu na ten moment niż niniejsza książka). Part I …
Domain-Driven Design – Eric Evans (streszczenie) [ZAWIESZONE] Czytaj dalej »
Obok ścieżki względnej i absolutnej występuje także ścieżka kanoniczna. Powstaje ona poprzez usunięcie wszystkich odniesień typu ./ lub ../ . Dzięki temu możliwe jest porównywanie ścieżek do plików w unikalny sposób (tylko ścieżka kanoniczna jest unikalna). Przykład Zakładając następującą strukturę katalogów: Dla ścieżki względnej:.\Main.javaścieżką absolutną będzie (zwróć uwagę na \.\ w ścieżce):\IdeaProjects\Test\.\Main.javazaś ścieżką kanoniczną będzie:\IdeaProjects\Test\Main.java
Poniżej znajdziesz opis podstawowych relacji UML. Klasa A (Class A) jest klasą referencyjną – relacje biegną od niej w stronę klasy B (Class B). Asocjacja -> a) Jest to najprostszy rodzaj relacji – mówi o tym, że dwa obiekty są ze sobą, w jakiś sposób, powiązane. Na jego podstawie opisuje się, inne typy relacji. Obydwa …
W dużym skrócie – Mock domyślnie nie robi nic (jeśli musi coś zwrócić to zwraca wartości null). Spy to oryginalny obiekt, który może być szpiegowany (np. sprawdzanie czy metoda została wywołana). Obydwa pozwalają na to, żeby nadpisać ich metody – taka nadpisana metoda nazywana jest stubem. Trochę więcej szczegółów Załóżmy że mamy interfejs: Czym będzie …
Różnica pomiędzy mock a spy. I co to jest stub? Czytaj dalej »
Jest to cecha harmonogramu, która mówi o tym, że wykonanie harmonogramu nieseryjnego da identyczny rezultat jak w przypadku wykonania transakcji w sposób seryjny.
Jest to sytuacja gdy dokonywany jest zapis do bazy bez poprzedzającego go odczytu. Nazywany ślepym ponieważ nie interesuje nas stan bazy danych przed zapisem – modyfikujemy coś na ślepo. Sytuacja ta dotyczy transakcji (a nie pojedynczych operacji). Przykłady Przykład ślepego zapisu Co zatem nie będzie ślepym zapisem?
Silniki baz danych w celu obsługi współbieżności transakcji wykorzystują harmonogramy. Hipotetyczna sytuacja: W bazie danych są dwa zasoby A i B. W pewnym momencie do bazy danych przychodzą dwie transakcje do wykonania. A baza danych ma za zadanie stworzyć odpowiedni harmonogram. Jak można wykonać te dwie transakcje równolegle? Aby obsłużyć taką sytuację można wykorzystać harmonogram …
Bazy danych w celu uniknięcia problemów z równoległym dostępem do danych udostępniają mechanizm blokowania (database lock). Czego może dotyczyć blokada? Blokada może dotyczyć różnych elementów bazy danych, takich jak: Typy blokad Blokada współdzielona (shared lock) – jest tworzona przy odczycie danych. Pozwala innym transakcjom tylko na współbieżny odczyt, jeśli będą chciały coś zmodyfikować to muszą …
Idea volatile wydaje się być prosta – hej JVM! nie używaj optymalizacji i pamięci podręcznej (cache), raczej sięgnij bezpośrednio do pamięci. Możliwa sytuacja bez volatile Jak widać na powyższym diagramie bez użycia słowa kluczowego volatile może się zdarzyć, że jeden wątek otrzyma przy odczycie wartość 5 a drugi 0. Prawidłową wartością jest 5, ale wątek …