Java Podstawy

Mockito – Stub’y

Stub – to przykładowa implementacja pewnego kodu którego zachowanie chcemy przetestować. I gdy nie mamy dostępu do prawdziwej metody która będzie zwracała te dane to sami piszemy taką metodę aby zwracała zestaw przykładowych danych. Innymi słowy Stub to implementacja danych zależności które mogą być wystarczające w małych projektach czy serwisach. Ponieważ stuby są związane z …

Mockito – Stub’y Read More »

Metody equals i hashCode oraz ich kontrakt

Obie te metody są metodami pochodzącymi z klasy Object i implementacja obu tych metod powinna być jedną z pierwszych rzeczy, którą zrobimy. Metoda equals — służy w Javie do porównywania typów obiektowych. Czyli czy obiekty ‘znaczą to samo’ (czy mają tą samą wartość) bardziej niż czy ‘są tym samym obiektem’. Metoda hashCode() służy do zwrócenia …

Metody equals i hashCode oraz ich kontrakt Read More »

Pamięć: stos i sterta

Obszar pamięci natywnej (off heap) podzielony jest na wiele mniejszych fragmentów. Z punktu widzenia początkującego programisty najważniejszy będzie stos i sterta. Stos(Stack) jest tworzony dla każdego działającego wątku w aplikacji.  Wątek zaś to ciąg instrukcji wykonywanych sekwencyjnie jedna za drugą.  Aplikacje, które potrafią wykonywać kilka operacji równolegle, są szczególnie użyteczne w przypadku procesorów wielordzeniowych i …

Pamięć: stos i sterta Read More »

Interface Serializable

Od javy 1.5 został wprowadzony mechanizm serjalizacji czyli bezpośredniego zapisu stanu obiektów do pliku czy też przesyłanie obiektów pomiędzy aplikacjami w sieci. Aby było to jednak możliwe konieczne jest implementowanie przez klasę interfejsu java.io.serializable. Jest to interfejs znacznikowy co oznacza że interfejs nie zawiera żadnej metody. Jego głównym zadaniem jest wskazanie wirtualnej maszynie javy że …

Interface Serializable Read More »

Algorytmy – Fibonacci

Algorytmy są jednym z najwinniejszych tematów na rozmowach kwalifikacyjnych czy to w teorii czy w sprawdzeniu umiejętności programowania. W tym wpisie zajmę się opisaniem algorytmu Fibonacci w Javie. Fibonacci to seria liczb naturalnych gdzie każda kolejna liczba jest równa sumie licz dwóm poprzednim. Pierwsze dwie liczby w ciągu Fibonacci’ego są zawsze 1, 1. Wynika to …

Algorytmy – Fibonacci Read More »

Git – merge vs. rebase

Dziś przedstawię różnicę pomiędzy merge a rebase. Obie komendy służą do rozwiązania tego samego problemu. Do włączenia zmian z jednego branch’a do innego branch’a. Innymi słowy służą do synchronizacji duch gałęzi np lokalnej i zdalnej. Robią to jednak na rożne sposoby. Ale zacznijmy od początku. Zakładając gałąź główną „master” tworzymy z niego branch’a pobocznego na …

Git – merge vs. rebase Read More »

Sposoby obsługi wyjątków cz.2

W sytuacjach kiedy nie korzystamy z bloku try-catch a mamy fragment kodu który może wygenerować wyjątek to możemy skorzystać ze słowa throws lub throw. Throws jest stosowane w sygnaturze metody i jeżeli dotyczy on wyjątku kontrolowanego to dodanie tego słowa jest wymagane. W przypadku wyjątków nie kontrolowanych nie to już wymagane. Natomiast słowa throw używany …

Sposoby obsługi wyjątków cz.2 Read More »

Tworzenie własnych wyjątków

Aby nasz system był odporny na błędy programista może napisać własne wyjątki które zostaną przechwycone w bloku try-catch. Ma to zastosowanie gdy w standardowej hierarchii Javy nie ma wyjątku który odpowiadał by potrzebom naszej aplikacji. Tworząc własny wyjątek możemy poinformować użytkownika co poszło nie tak. Warto tutaj pamiętać aby nazwa klasy kończyła się słowem Exception …

Tworzenie własnych wyjątków Read More »

Sposoby obsługi wyjątków

Jednym za sposobów na obsługę wyjątków jest wykorzystanie bloku try-catch. Polega to na próbie przechwycenia/”złapania” wyjątku i na wykonaniu kodu w bloku catch. Blok try-catch przedstawie na podstawie RunTimeExcetion: InputMismatchException. Na początku wywołujemy metodę która prosi użytkownika o podanie liczby. Następnie w bloku try umieściliśmy ten element programu który może wywołać wyjątek poprzez podanie błędnego …

Sposoby obsługi wyjątków Read More »