Książki do Javy

Koziołek

Uwaga: Poniższy artykuł nie jest reklamą ani recenzją. Jest to lista popularnych książek poświęconych Javie i dostępnych na rynku polskim. Większość z nich jest w języku polskim.

Pamiętaj, żeby zawsze kupować ostatnie wydanie książki. Istnieje duże prawdopodobieństwo, że książka starsza niż 3 lata jest w dużej mierze nieaktualna.

1 "Thinking in Java"
2 "Core Java Podstawy" oraz "Core Java Techniki Zaawansowane"
3 "Head First Java. Edycja polska"
4 "Java. Praktyczne narzędzia"
5 "JUnit. Pragmatyczne testy jednostkowe w Javie"
6 "Kryptografia w Javie. Od podstaw"
7 "Enterprise JavaBeans 3.0."
8 "Java. Efektywne Programowanie"
9 "Java. Współbieżność dla praktyków"
10 "Spring Framework. Profesjonalne tworzenie oprogramowania w Javie"
11 "Hibernate. Od Nowicjusza do Profesjonalisty"
12 "GWT w praktyce"

"Thinking in Java"

Autor: Bruce Eckel
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/thija4.htm
Zakres materiału: Wprowadzenie do języka Java — definiowanie klas, tworzenie obiektów, instrukcje warunkowe, pętle, podstawy programowania obiektowego — klasa, interfejs, dziedziczenie, polimorfizm, obsługa wyjątków, kontenery, tablice i typy ogólne, typy wyliczeniowe, adnotacje, współbieżność, grafika — biblioteki: Swing, SWT i AWT, podstawy technologii Flex.

Książka zalecana osobom początkującym. Zanim jednak dokonasz zakupu, pójdź do księgarni i przeczytaj kawałek. Bruce Eckel używa dość specyficznego języka i ma swój charakterystyczny sposób pisania, który nie wszystkim odpowiada.


"Core Java Podstawy" oraz "Core Java Techniki Zaawansowane"

Autorzy: Cay S. Horstmann, Gary Cornell
Wydawca: Helion.pl
Strony WWW: (1) http://helion.pl/ksiazki/javpd3.htm (2) http://helion.pl/ksiazki/javtz8.htm
Zakres materiału: Wprowadzenie do języka Java — definiowanie klas, tworzenie obiektów, instrukcje warunkowe, pętle, podstawy programowania obiektowego — klasa, interfejs, dziedziczenie, polimorfizm, obsługa wyjątków, kontenery, tablice i typy ogólne, typy wyliczeniowe, adnotacje, współbieżność, grafika — biblioteki: Swing i AWT, programowanie sieciowe — komunikacja za pomocą socketów, podstawy JDBC, przetwarzanie XML, internacjonalizacja, bezpieczeństwo — podpisywanie plików JAR, certyfikaty i podpisy X.509, szyfrowanie, obiekty rozproszone, JNI, języki skryptowe.

Książki zalecane osobom początkującym. Bardzo rozbudowany i dokładny opis wielu elementów języka. W porównaniu z książką "Thinking in Java" – znacznie prostszy język.


"Head First Java. Edycja polska"

Autorzy: Kathy Sierra, Bert Bates
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/hfjava.htm
Zakres materiału: Wprowadzenie do języka Java — definiowanie klas, tworzenie obiektów, instrukcje warunkowe, pętle, podstawy programowania obiektowego — klasa, interfejs, dziedziczenie, polimorfizm, obsługa wyjątków, tablice, typy wyliczeniowe, współbieżność, grafika — biblioteki: Swing i AWT, programowanie sieciowe — komunikacja za pomocą socketów i TCP, obiekty rozproszone, pobieżna prezentacja EJB, serwletów i Jini.

Książka napisana w bardzo specyficzny sposób. Zanim dokonasz zakupu, koniecznie ją przejrzyj – twórcy serii "Head First" mają bardzo specyficzne podejście do sposobu przekazywania wiedzy.


"Java. Praktyczne narzędzia"

Autor: John Ferguson Smart
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/javapn.htm
Zakres materiału: Książka obejmuje informacje o narzędziach wspomagających tworzenie, testowanie i integrowanie aplikacji w języku Java. Opisuje następujące technologie i narzędzia:

  1. Wsparcie procesu kompilacji: Ant, Maven.
  2. Kontrola wersji: CVS, Subversion.
  3. Ciągła integracja (Continuous Integration): Continuum, CruiseControl, LuntBuild, Hudson, OpenFire w zakresie komunikacji.
  4. Testy jednostkowe, profilowanie: Testy jednostkowe, TestNG, Cobertura, StrutsTestCasenit, DBUnit, JUnitPref, JMeter, narzędzia profilujące dostarczane z JDK, profiler Eclipse TPTP, testy GUI w Selenium i FEST.
  5. Pomiar jakości kodu: Checkstyle, PMD, FindBugs, Jupiter, QALab, StatSCM.
  6. Organizacja pracy: Mylyn, Bugzilla, TRAC.
  7. Dokumentowanie kodu: użycie Mavena i wtyczki Site do niego, SchemaSpy, Doxygen, UMLGraph.

Książka jest przeznaczona dla osób, które chcą zająć się tworzeniem aplikacji w Javie. Wymagana jest co najmniej podstawowa znajomość języka Java oraz podstawowa znajomość zasad projektowania i prowadzenia projektów.


"JUnit. Pragmatyczne testy jednostkowe w Javie"

Autorzy: Andy Hunt, Dave Thomas
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/junit.htm
Zakres materiału: Książka poświęcona w całości bibliotece JUnit w wersji 3.x. Biblioteka w tej wersji jest co do zasady przestarzała, ale m.n. mechanizm testów GWT i biblioteka DBUnit są oparte o JUnit 3. Omówiona jest struktura biblioteki, jej możliwości oraz ograniczenia. Opisane są podstawowe zasady tworzenia dobrych testów oraz najczęściej popełniane błędy.

Jest to pozycja przeznaczona dla osób znających podstawy języka Java, które chcą rozpocząć swoją przygodę z testowaniem kodu.


"Kryptografia w Javie. Od podstaw"

Autor: David Hook
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/krypja.htm
Zakres materiału: Książka szczegółowo omawia zagadnienia kryptograficzne i ich implementację w języku Java. Obejmuje swoim zakresem zagadnienia takie jak klucze symetryczne i niesymetryczne, podpisy cyfrowe, certyfikaty oraz zarządzane nimi, koperty CMS, SSL i TSL. Dodatkowo autor omawia zasady notacji ASN.1.

Pozycja przeznaczona jest jest dla osób bardzo dobrze znających język Java, zasady działania kluczy i certyfikatów oraz potrafiących posługiwać się matematyką na poziomie pozwalającym na zrozumienie podstawowych zagadnień kryptograficznych.


"Enterprise JavaBeans 3.0."

Autorzy: Bill Burke, Richard Monson-Haefel
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/enjab5.htm
Zakres materiału: Książka w całości poświęcona technologiom EJB3 i Bazy danych - JPA. Autorzy omawiają architekturę EJB, dostępne rodzaje komponentów i pracę z nimi. Opisano też zasady korzystania ze źródeł danych i JPA, zasady tworzenia i korzystania z serwisów WWW, bezpieczeństwo aplikacji JEE oraz mechanizmy DI i IoC dostępne w EJB.

Książka ta jest przeznaczona dla osób, które znają język Java i spotkały się już z tworzeniem aplikacji webowych. Zakres materiału obejmuje w praktyce całość specyfikacji EJB oraz podstawy zarządzania serwerem JBoss.


"Java. Efektywne Programowanie"

Autor: Joshua Bloch
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/javep2.htm
Zakres materiału: Autor porusza w książce problem pisania efektywnego kodu w języku Java. Książka zawiera 78 porad dotyczących programowania, projektowania i użycia różnych elementów języka Java. Obejmują one zagadnienia takie jak: tworzenie obiektów, przesłanianie metody equals() i hashCode(), implementacja interfejsu Comparable, klonowanie obiektów, użycie hierarchii klas i interfejsów, typów wyliczeniowych, adnotacji, typów uogólnionych, problematyka korzystania z wyjątków, wielowątkowość, użycie klas bibliotecznych w określonym kontekście, dokumentację kodu.

Książka przeznaczona raczej dla osób już znających język java i posługujących się nim na co dzień. Znajdą one tu wiele praktycznych porad, jak ulepszyć swój kod.


"Java. Współbieżność dla praktyków"

Autorzy: (zespół autorów)
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/javwsp.htm
Zakres materiału: Książka jest najobszerniejszym na polskim rynku omówieniem zagadnień związanych ze współbieżnością w Javie. Obejmuje swoją tematyką podstawy: użycie klasy Thread i interfejsu Runnable, widoczność obiektów, współdzielenie pól obiektu, synchronizację, wykorzystanie API języka – wzorzec Executor, kolejkowanie zadań, pule wątków, semafory i blokady, anulowanie zadań, testowanie kodu współbieżnego, wykorzystanie współbieżności w aplikacjach z graficznym interfejsem użytkownika, zaawansowaną synchronizację i synchronizację nieblokującą.

Książka przeznaczona dla osób, które chcą poznać zasady pisania programów wielowątkowych. Wymagana jest podstawowa znajomość języka.


"Spring Framework. Profesjonalne tworzenie oprogramowania w Javie"

Autorzy: Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, Colin Sampaleanu
Wydawca: Helion.pl
Strona WWW: http://helion.pl/ksiazki/sprifr.htm

Książka przestarzała (obejmuje Spring 1.2, obecnie mamy Spring 2.5.6 sec1), ale nadal dostępna w sprzedaży. Jej zaletą jest dokładne omówienie koncepcji stojących za Spring Framework, które są nadal aktualne. Warto się zaopatrzyć w tę książkę z drugiej ręki. Przeznaczona jest przede wszystkim dla osób bardzo dobrze znających język Java i co najmniej dobrze koncepcje odwrócenia sterowania (ang. Inverse of Control, IoC) i wstrzykiwania zależności (ang. Dependency Injection, DI).


"Hibernate. Od Nowicjusza do Profesjonalisty"

Autorzy: Dave Minter, Jeff Linwood
Wydawca: Powernet
Strona WWW: http://powernet.pl/ksiazka.php?id=1
Zakres materiału: W książce omawiana jest biblioteka Hibernate w wersji 3. Opisane są podstawowe zasady tworzenia encji POJO i mapowania ich za pomocą plików XML, a także adnotacji.

Książka napisana jest łatwym językiem, a znaczną część stanowi uproszczone tłumaczenie dokumentacji elementów XML i encji. Jest to szczególnie pomocne w przypadku osób początkujących i tych, które ni potrafią biegle analizować DTD. Przeznaczona jest przede wszystkim dla osób znających język Java i chcących zacząć pracę z biblioteką Hibernate.


"GWT w praktyce"

Autorzy: Robert Cooper, Charles Collins
Wydawca: Powernet
Strona WWW: http://powernet.pl/ksiazka.php?id=4
Zakres materiału: Autorzy starają się przybliżyć wszelkie aspekty pracy z biblioteką GWT. Opisują krok po kroku jak stworzyć aplikację internetową, jak ją przetestować i wdrożyć.

Przedstawiony w książce kompleksowy opis krok po kroku znacznie ułatwia korzystanie z biblioteki GWT. Książka przeznaczona dla osób dobrze znających Javę i potrafiących tworzyć aplikacje webowe.

18 komentarzy

Jasna sprawa, w końcu na tym polega kompendium. Cała składnia i semantyka, przegląd masy bibliotek + przykłady. Możesz sobie ze strony helionu ściągnąć przykładowy rozdział, jak również spis treści.

Dzięki za szybką odpowiedź, na razie programuje w c++,ale planuje zacząć ostrą naukę Javy w niedalekiej przyszłości. czy kompendium zawiera również bardziej zaawansowane tematy?

Introduction to Java Programming, Comprehensive Version, 10th - Y. Daniel Liang
Świetna książka!

@Koziołek Dlaczego nie dorzucisz tutaj Herberta Schildta, autorytetu w zakresie Javy, np. "Java. Kompendium programisty wydanie (dowolne, aczkolwiek najnowsze to IX)"?

@Koziołek, dorzucisz jeszcze Herberta? "Java. Kompendium programisty" Herbert Schildt albo po ang. : "Java: The Complete Reference, Ninth Edition"

Sprzedam książkę o java i jbossie:
http://allegro.pl/show_item.php?item=5137299671

Za pół darmo...

Pierwsza pozycja do wpisania:
Beginning Java 8 Fundamentals [mam i jest świetna; można wiele powtórzyć i utrwalić],
Java: The Complete Reference [zamówiłem i zamierzam też przejrzeć a może nawet przeczytać ] ,
Core Java Volume I--Fundamentals [ nie czytałem nie wypowiem się dokładniej ]
Thinking in Java [ mam 3 edycje i dla początkujących się nie nadaje ]
Co do pierwszej pozycji to naprawdę godna lektura. Dalsza ciekawość to tylko internet, no chyba, że ktoś naprawdę nie ma co robić z pieniędzmi :).

@Koziołek przydałoby się zaktualizować adtykuł, w końcu jest podklejony :)

Dzięki Wielkie

Zdecydowanie kompendium. Chyba, że chcesz być raczony zdaniami w stylu: "W Javie interfejs nie jest klasą, ale zestawem wymagań, które muszą być spełnione, aby klasa została uznana za zgodną z danym interfejsem." H&C

Czy ktoś się zapoznał z tą książką i może powiedzieć co jest warta?
http://shop.oreilly.com/product/0636920030713.do

Mam możliwość wypożyczenia "Java Podstawy wyd. VIII" Autorów: Cay S. Horstmann, Gary Cornell
Wiem jednak, że w sprzedaży jest już ta sama książka w wydaniu IX.
Mógłby mi ktoś powiedzieć czy nadal mogę korzystać z wyd. VIII czy jednak książka jest za stara i w wyd. IX wprowadzono znaczące zmiany?

Proponuję dodać "Introduction to Java Programming, Ninth Edition" by Y. Daniel Liang

"Java Web Services, Up and Running" Martina Kolin'a

@barslo Książka Core Java ma co rok nowe wydanie, więc nie można mówić o niej, że się nie nadaje. Minus jest taki, że aby być "na czasie", trzeba co roku te książki kupować, ale czemu się dziwić - programowanie rozwija się dość szybko (Do tej pory byłem pewien, że w Switch-Case można używać tylko liczb int :D )

Można by to jakoś uaktualnić bo żadna z tych książek się już nie nadaje:(

A co polecacie do WebService'ów?