Efektywne programowanie

Efektywne programowanie

JavaTraps 001

Pomyślałem, że fajnie byłoby zacząć dział Efektywne programowanie od elementu z którego nie każdy zdaje sobie sprawę, a czasami sprawia problemy. W serii JavaTraps będę prezentował różne ciekawe pułapki jakie zastawili na nas twórcy języka. Przyda się to zarówno p...

JavaTraps 002

W dzisiejszym wydaniu serii JavaTraps zajmiemy się conditional operatorem (inaczej ternary operator, operator trójargumentowy, lub wyrażenie warunkowe). Przypomnijmy jego składnię: (condition or expression)? operand1 : operand2; // co jest równoważne z: if (condition) operand1; els...

JavaTraps 003

HashSet jest klasą pochodzącą z Java Collections Framework, do którego należą także inne typy kolekcji, wśród nich inne zbiory, listy i mapy. HashSet implementuje interfejs Set, posiada więc metody: add(), clear(), clone(), contains(), isEmpty(), iterator(), remove(), size(). Ich dz...

JavaTraps 004

Tym razem zagadka może wydawać się dosyć prosta (i powinna taka być dla ludzi, którzy znają reprezentację liczb w komputerze). Pytanie dotyczy oczywiście jak zwykle tego co zobaczymy na ekranie po wykonaniu programu. Wykonuje on proste odejmowanie dwóch liczb zmiennoprzecinkowych typu double. Na pie...

JavaTraps 005

W dzisiejszej pułapce poruszymy zagadnienie lokowania zmiennych w pamięci, ich porównywania i tego co tak naprawdę zmieniamy przekazując argumenty metodom. Dodatkowym zagadnieniem są referencje finalne. Warto się nad tym zastanowić, ponieważ zarówno początkujący jak i nieco bardziej doświadczeni pro...

JavaTraps 006

Modyfikatory dostępu w Javie to zagadnienie, które na pierwszy rzut oka nie wymaga wielkiego omówienia. Przypomnijmy, że w Javie mamy ich 4 rodzaje: private protected default public Przy czym 2 i 3 są sobie niemal równe. W naszym dzisiejszym przykładzie skupimy się jednak na dostępie do pól prywat...

Takiego programu jeszcze nie widzieliście

Dzisiaj będzie nieco tajemniczo. Z pewnością trochę już programów przynajmniej część z was w życiu napisała, mogę się jednak założyć, że niewiele osób widziało kod zapisany w poniższej formie. Oczywiście jest w pełni kompilowalny i możliwy do uruchomienia. Wystarczy go zapisać jako Main.java i uruch...

Płytkie i głębokie kopiowanie (klonowanie) obiektów

1. Wprowadzenie 2. Kopia referencji obiektu głównego 3. Płytkie kopiowanie obiektu 4. Głębokie kopiowanie obiektu 5. Podsumowanie   Wprowadzenie Podczas programowania często spotykamy się z sytuacją, w której potrzebujemy powielić niektóre z naszych obiektów, bo na przykład ch...

JUnit - Testy jednostkowe w Javie

Spis treści   1. Wprowadzenie do JUnitów 2. Instalacja 3. Przykład użycia - gra w życie 4. Dobre praktyki, Test Driven Development   1. Wprowadzenie do JUnitów   Przez całe studia napisałem już sporo aplikacji, lecz zawsze pomijałem aspekt ich testowania. Muszę się przyznać, że dopie...