Facebook - konwersja
  • promocja

Java. Receptury. Wydanie III - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
6 marca 2015
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Java. Receptury. Wydanie III - ebook

Rozwiązania i przykłady dla programistów używających języka Java

Java to jeden z języków programowania najchętniej wybieranych do tworzenia zaawansowanych systemów informatycznych. Systemy bankowe, aukcyjne oraz inne zaawansowane programy wspomagające codzienną pracę tysięcy ludzi opierają się na Javie i narzędziach z nią związanych. Jeżeli chcesz śmiało wkroczyć w świat tego języka, musisz mieć tę książkę!

Książka należy do cenionej serii „Receptury”, która przedstawia różne zagadnienia w postaci krótkich przepisów. Nie inaczej jest w tym przypadku. Sięgnij po nią i zobacz, jak kompilować, uruchamiać i testować tworzony kod. W kolejnych rozdziałach zaznajomisz się z najlepszymi metodami przetwarzania ciągów znaków oraz nauczysz się korzystać z wyrażeń regularnych i wykonywać operacje na liczbach. Ponadto zdobędziesz dogłębną wiedzę na temat systemu wejścia-wyjścia, używania systemu plików, sieci oraz drukarek. Książka ta jest obowiązkową pozycją na półce każdego programisty Javy!

Przedstawione receptury obejmują:

  • Sposoby kompilacji, uruchamiania i testowania aplikacji.
  • Manipulację, porównywanie i zmianę organizacji tekstów.
  • Użycie wyrażeń regularnych do dopasowywania tekstów i wzorców.
  • Obsługę liczb, dat i czasu.
  • Określanie struktury danych przy użyciu kolekcji, tablicy i innych typów.
  • Techniki programowania obiektowego i funkcyjnego.
  • Operacje na katalogach i systemie plików.
  • Obsługę grafiki, dźwięku i wideo.
  • Tworzenia aplikacji o graficznym interfejsie użytkownika, w tym Java FX i obsługę zdarzeń.
  • Programowanie sieciowe, zarówno klientów jak i serwerów.
  • Dostęp do baz danych przy użyciu JPA, Hibernate oraz JDBC.
  • Przetwarzenie danych w formatach JSON oraz XML.
  • Wielowątkowość i współbieżność.

Najlepsze przepisy dla programistów Javy!

Spis treści

Wstęp (13)

1. Rozpoczynanie pracy: kompilacja, uruchamianie i testowanie (31)

  • 1.0. Wprowadzenie (31)
  • 1.1. Kompilacja i uruchamianie programów napisanych w Javie - JDK (32)
  • 1.2. Edycja i kompilacja programów przy użyciu edytorów wyposażonych w kolorowanie syntaktyczne (33)
  • 1.3. Kompilacja, uruchamianie i testowanie programów przy użyciu IDE (35)
  • 1.4. Efektywne wykorzystanie zmiennej środowiskowej CLASSPATH (42)
  • 1.5. Pobieranie przykładów dołączonych do tej książki i korzystanie z nich (44)
  • 1.6. Automatyzacja kompilacji przy użyciu programu Ant (50)
  • 1.7. Automatyzacja zależności, kompilacji, testowania i wdrażania przy użyciu programu Apache Maven (53)
  • 1.8. Automatyzacja zależności, kompilacji, testowania i wdrażania przy użyciu programu Gradle (56)
  • 1.9. Komunikaty o odrzuconych metodach (59)
  • 1.10. Testowanie warunkowe bez użycia dyrektywy #ifdef (61)
  • 1.11. Zapewnianie poprawności programu za pomocą asercji (63)
  • 1.12. Wykorzystanie programu uruchomieniowego (64)
  • 1.13. Testowanie jednostkowe - jak uniknąć konieczności stosowania programów uruchomieniowych? (66)
  • 1.14. Zarządzanie kodem z wykorzystaniem ciągłej integracji (69)
  • 1.15. Uzyskiwanie czytelnych komunikatów o wyjątkach (74)
  • 1.16. Poszukiwanie przykładowych kodów źródłowych: programy, szkielety i biblioteki (74)

2. Interakcja ze środowiskiem (79)

  • 2.0. Wprowadzenie (79)
  • 2.1. Pobieranie wartości zmiennych środowiskowych (79)
  • 2.2. Pobieranie informacji z właściwości systemowych (81)
  • 2.3. Określanie używanej wersji JDK (82)
  • 2.4. Tworzenie kodu zależnego od używanego systemu operacyjnego (84)
  • 2.5. Stosowanie rozszerzających interfejsów programistycznych lub innych API (87)
  • 2.6. Analiza argumentów podanych w wierszu wywołania programu (87)

3. Łańcuchy znaków i przetwarzanie tekstów (95)

  • 3.0. Wprowadzenie (95)
  • 3.1. Odczytywanie fragmentów łańcucha (97)
  • 3.2. Dzielenie łańcuchów na słowa (98)
  • 3.3. Łączenie łańcuchów znaków przy użyciu klasy StringBuilder (102)
  • 3.4. Przetwarzanie łańcucha znaków po jednej literze (104)
  • 3.5. Wyrównywanie łańcuchów znaków (105)
  • 3.6. Konwersja pomiędzy znakami Unicode a łańcuchami znaków (108)
  • 3.7. Odwracanie kolejności słów lub znaków w łańcuchu (110)
  • 3.8. Rozwijanie i kompresja znaków tabulacji (111)
  • 3.9. Kontrola wielkości liter (116)
  • 3.10. Wcinanie zawartości dokumentów tekstowych (117)
  • 3.11. Wprowadzanie znaków niedrukowalnych (118)
  • 3.12. Usuwanie odstępów z końca łańcucha (119)
  • 3.13. Przetwarzanie danych rozdzielonych przecinkami (120)
  • 3.14. Program - proste narzędzie do formatowania tekstów (125)
  • 3.15. Program - fonetyczne porównywanie nazwisk (127)

4. Dopasowywanie wzorców przy użyciu wyrażeń regularnych (131)

  • 4.0. Wprowadzenie (131)
  • 4.1. Składnia wyrażeń regularnych (133)
  • 4.2. Wykorzystanie wyrażeń regularnych w języku Java - sprawdzanie występowania wzorca (140)
  • 4.3. Odnajdywanie tekstu pasującego do wzorca (143)
  • 4.4. Zastępowanie określonego tekstu (146)
  • 4.5. Wyświetlanie wszystkich wystąpień wzorca (147)
  • 4.6. Wyświetlanie wierszy zawierających fragment pasujący do wzorca (149)
  • 4.7. Kontrola wielkości znaków w metodach match() i subst() (150)
  • 4.8. Dopasowywanie znaków z akcentami lub znaków złożonych (152)
  • 4.9. Odnajdywanie znaków nowego wiersza (153)
  • 4.10. Program - analiza dziennika serwera Apache (155)
  • 4.11. Program - analizowanie danych (156)
  • 4.12. Program - pełna wersja programu grep (159)

5. Liczby (165)

  • 5.0. Wprowadzenie (165)
  • 5.1. Sprawdzanie, czy łańcuch znaków stanowi poprawną liczbę (168)
  • 5.2. Zapisywanie dużych wartości w zmiennych "mniejszych" typów (170)
  • 5.3. Konwertowanie liczb na obiekty i na odwrót (171)
  • 5.4. Pobieranie ułamka z liczby całkowitej bez konwertowania go na postać zmiennoprzecinkową (172)
  • 5.5. Wymuszanie zachowania dokładności liczb zmiennoprzecinkowych (173)
  • 5.6. Porównywanie liczb zmiennoprzecinkowych (175)
  • 5.7. Zaokrąglanie wartości zmiennoprzecinkowych (177)
  • 5.8. Formatowanie liczb (178)
  • 5.9. Konwersje pomiędzy różnymi systemami liczbowymi - dwójkowym, ósemkowym, dziesiętnym i szesnastkowym (181)
  • 5.10. Operacje na grupie liczb całkowitych (182)
  • 5.11. Posługiwanie się cyframi rzymskimi (183)
  • 5.12. Formatowanie z zachowaniem odpowiedniej postaci liczby mnogiej (187)
  • 5.13. Generowanie liczb losowych (189)
  • 5.14. Obliczanie funkcji trygonometrycznych (192)
  • 5.15. Obliczanie logarytmów (192)
  • 5.16. Mnożenie macierzy (193)
  • 5.17. Operacje na liczbach zespolonych (195)
  • 5.18. Obsługa liczb o bardzo dużych wartościach (197)
  • 5.19. Program TempConverter (200)
  • 5.20. Program - generowanie liczbowych palindromów (201)

6. Daty i godziny - nowy interfejs programowania aplikacji (205)

  • 6.0. Wprowadzenie (205)
  • 6.1. Określanie bieżącej daty (208)
  • 6.2. Wyświetlanie daty i czasu w zadanym formacie (209)
  • 6.3. Konwersja liczb określających datę i czas oraz ilości sekund (211)
  • 6.4. Analiza łańcuchów znaków i ich zamiana na daty (212)
  • 6.5. Obliczanie różnic pomiędzy dwiema datami (213)
  • 6.6. Dodawanie i odejmowanie dat (214)
  • 6.7. Stosowanie starych klas Date i Calendar (215)

7. Strukturalizacja danych w języku Java (217)

  • 7.0. Wprowadzenie (217)
  • 7.1. Strukturalizacja danych przy użyciu tablic (218)
  • 7.2. Modyfikacja wielkości tablic (220)
  • 7.3. Szkielet kolekcji (221)
  • 7.4. Klasa podobna do tablicy, lecz bardziej dynamiczna (223)
  • 7.5. Stosowanie kolekcji ogólnych (225)
  • 7.6. Unikanie rzutowania dzięki zastosowaniu typów ogólnych (227)
  • 7.7. Jak przeglądać zawartość kolekcji? Wyliczenie dostępnych sposobów (230)
  • 7.8. Unikanie powtórzeń dzięki zastosowaniu zbioru (232)
  • 7.9. Iteratory lub wyliczenia - dostęp do danych w sposób niezależny od ich typów (233)
  • 7.10. Strukturalizacja danych z wykorzystaniem list połączonych (234)
  • 7.11. Odwzorowywanie z wykorzystaniem klas Hashtable oraz HashMap (238)
  • 7.12. Zapisywanie łańcuchów znaków w obiektach Properties i Preferences (240)
  • 7.13. Sortowanie kolekcji (244)
  • 7.14. Unikanie konieczności sortowania danych (248)
  • 7.15. Odnajdywanie obiektu w kolekcji (250)
  • 7.16. Zamiana kolekcji na tablicę (252)
  • 7.17. Tworzenie własnego iteratora (253)
  • 7.18. Stos (256)
  • 7.19. Struktury wielowymiarowe (259)
  • 7.20. Program - porównanie szybkości działania (261)

8. Techniki obiektowe (263)

  • 8.0. Wprowadzenie (263)
  • 8.1. Wyświetlanie obiektów - formatowanie obiektów przy użyciu metody toString() (266)
  • 8.2. Przesłanianie metod equals() oraz hashCode() (267)
  • 8.3. Porządki w aplikacji przy użyciu metody addShutdownHook() (273)
  • 8.4. Wykorzystanie klas wewnętrznych (274)
  • 8.5. Tworzenie metod zwrotnych z wykorzystaniem interfejsów (276)
  • 8.6. Polimorfizm i metody abstrakcyjne (279)
  • 8.7. Przekazywanie wartości (281)
  • 8.8. Wartości wyliczeniowe bezpieczne dla typów (284)
  • 8.9. Wymuszanie użycia wzorca Singleton (288)
  • 8.10. Zgłaszanie własnych wyjątków (290)
  • 8.11. Wstrzykiwanie zależności (291)
  • 8.12. Program Plotter (294)

9. Techniki programowania funkcyjnego: interfejsy funkcyjne, strumienie i kolekcje równoległe (299)

  • 9.0. Wprowadzenie (299)
  • 9.1. Stosowanie wyrażeń lambda lub domknięć zamiast klas wewnętrznych (301)
  • 9.2. Stosowanie predefiniowanych interfejsów lambda zamiast własnych (304)
  • 9.3. Upraszczanie przetwarzania z wykorzystaniem interfejsu Stream (306)
  • 9.4. Poprawianie przepustowości dzięki wykorzystaniu strumieni i kolekcji równoległych (308)
  • 9.5. Tworzenie własnych interfejsów funkcyjnych (309)
  • 9.6. Używanie istniejącego kodu w sposób funkcyjny dzięki wykorzystaniu odwołań do metod (311)
  • 9.7. Wstawianie istniejącego kodu metod (315)

10. Wejście i wyjście (317)

  • 10.0. Wprowadzenie (317)
  • 10.1. Odczytywanie informacji ze standardowego strumienia wejściowego (320)
  • 10.2. Odczyt z konsoli lub okna terminala; odczyt hasła bez jego wyświetlania (323)
  • 10.3. Zapis danych w standardowym strumieniu wyjściowym lub w strumieniu błędów (325)
  • 10.4. Wyświetlanie tekstów przy użyciu klasy Formatter i metody printf (327)
  • 10.5. Analiza zawartości pliku przy użyciu klasy StringTokenizer (331)
  • 10.6. Analiza danych wejściowych przy użyciu klasy Scanner (335)
  • 10.7. Analiza danych wejściowych o strukturze gramatycznej (338)
  • 10.8. Otwieranie pliku o podanej nazwie (340)
  • 10.9. Kopiowanie plików (341)
  • 10.10. Odczytywanie zawartości pliku i zapisywanie jej w obiekcie String (347)
  • 10.11. Zmiana skojarzeń standardowych strumieni (347)
  • 10.12. Powielanie strumienia podczas realizacji operacji zapisu (348)
  • 10.13. Odczyt i zapis danych zakodowanych w innym zbiorze znaków (351)
  • 10.14. Te kłopotliwe znaki końca wiersza (352)
  • 10.15. Kod operujący na plikach w sposób zależny od systemu operacyjnego (353)
  • 10.16. Odczytywanie "podzielonych" wierszy tekstu (354)
  • 10.17. Odczytywanie i zapisywanie danych binarnych (358)
  • 10.18. Przejście do określonego miejsca w pliku (359)
  • 10.19. Zapisywanie danych w strumieniu z wykorzystaniem języka C (360)
  • 10.20. Zapisywanie i odczytywanie obiektów (363)
  • 10.21. Unikanie wyjątków ClassCastException spowodowanych nieprawidłowymi wartościami SerialVersionUID (366)
  • 10.22. Odczytywanie i zapisywanie danych w archiwach JAR oraz ZIP (368)
  • 10.23. Odnajdywanie plików w sposób niezależny od systemu operacyjnego przy użyciu metod getResource() i getResourceAsStream() (371)
  • 10.24. Odczytywanie i zapisywanie skompresowanych plików (373)
  • 10.25. Poznawanie API do obsługi portów szeregowych i równoległych (374)
  • 10.26. Zapisywanie danych użytkownika na dysku (379)
  • 10.27. Program - zamiana tekstu do postaci PostScript (382)

11. Operacje na katalogach i systemie plików (387)

  • 11.0. Wprowadzenie (387)
  • 11.1. Pobieranie informacji o pliku (388)
  • 11.2. Tworzenie pliku (390)
  • 11.3. Zmiana nazwy pliku (391)
  • 11.4. Usuwanie plików (392)
  • 11.5. Tworzenie plików tymczasowych (394)
  • 11.6. Zmiana atrybutów pliku (395)
  • 11.7. Tworzenie listy zawartości katalogu (397)
  • 11.8. Pobieranie katalogów głównych (399)
  • 11.9. Tworzenie nowych katalogów (400)
  • 11.10. Stosowanie klasy Path zamiast File (401)
  • 11.11. Stosowanie usługi WatchService do uzyskiwania informacji o zmianach pliku (402)
  • 11.12. Program Find (404)

12. Multimedia: grafika, dźwięk i wideo (407)

  • 12.0. Wprowadzenie (407)
  • 12.1. Rysowanie przy użyciu obiektu Graphics (408)
  • 12.2. Testowanie komponentów graficznych (409)
  • 12.3. Wyświetlanie tekstu (410)
  • 12.4. Wyświetlanie wyśrodkowanego tekstu w komponencie (411)
  • 12.5. Rysowanie cienia (413)
  • 12.6. Wyświetlanie tekstu przy użyciu biblioteki grafiki dwuwymiarowej (415)
  • 12.7. Wyświetlanie tekstu przy użyciu czcionki aplikacji (417)
  • 12.8. Wyświetlanie obrazu (419)
  • 12.9. Odczyt i zapis obrazów przy użyciu pakietu javax.imageio (423)
  • 12.10. Odtwarzanie pliku dźwiękowego (424)
  • 12.11. Prezentacja ruchomego obrazu (426)
  • 12.12. Drukowanie w Javie (430)
  • 12.13. Program PlotterAWT (434)
  • 12.14. Program Grapher (435)

13. Klienty sieciowe (439)

  • 13.0. Wprowadzenie (439)
  • 13.1. Nawiązywanie połączenia z serwerem (441)
  • 13.2. Odnajdywanie i zwracanie informacji o adresach sieciowych (443)
  • 13.3. Obsługa błędów sieciowych (445)
  • 13.4. Odczyt i zapis danych tekstowych (446)
  • 13.5. Odczyt i zapis danych binarnych (448)
  • 13.6. Odczyt i zapis danych serializowanych (450)
  • 13.7. Datagramy UDP (452)
  • 13.8. Program - klient TFTP wykorzystujący protokół UDP (454)
  • 13.9. URI, URL czy może URN? (458)
  • 13.10. Klient usługi internetowej REST (459)
  • 13.11. Klient usługi internetowej SOAP (461)
  • 13.12. Program - klient usługi Telnet (466)
  • 13.13. Program - klient pogawędek internetowych (468)
  • 13.14. Program - sprawdzanie odnośników HTTP (472)

14. Graficzny interfejs użytkownika (475)

  • 14.0. Wprowadzenie (475)
  • 14.1. Wyświetlanie komponentów graficznego interfejsu użytkownika (477)
  • 14.2. Uruchamianie graficznego interfejsu użytkownika w wątku przekazywania zdarzeń (478)
  • 14.3. Projektowanie układu okna (480)
  • 14.4. Karty - nowe spojrzenie na świat (483)
  • 14.5. Obsługa czynności - tworzenie działających przycisków (484)
  • 14.6. Obsługa czynności z wykorzystaniem anonimowych klas wewnętrznych (486)
  • 14.7. Obsługa czynności z wykorzystaniem wyrażeń lambda (488)
  • 14.8. Kończenie programu przy użyciu przycisku Zamknij (489)
  • 14.9. Okna dialogowe - tego nie można zrobić później (494)
  • 14.10. Przechwytywanie i formatowanie wyjątków graficznego interfejsu użytkownika (496)
  • 14.11. Wyświetlanie wyników wykonania programu w oknie (499)
  • 14.12. Wybieranie wartości przy użyciu komponentu JSpinner (505)
  • 14.13. Wybieranie plików przy użyciu klasy JFileChooser (506)
  • 14.14. Wybieranie koloru (509)
  • 14.15. Formatowanie komponentów przy użyciu kodu HTML (511)
  • 14.16. Wyświetlanie okna głównego pośrodku ekranu (512)
  • 14.17. Zmiana sposobów prezentacji programów pisanych z wykorzystaniem pakietu Swing (515)
  • 14.18. Korzystanie z rozszerzonych możliwości pakietu Swing w systemie Mac OS X (519)
  • 14.19. Tworzenie aplikacji z graficznym interfejsem użytkownika przy użyciu pakietu JavaFX (522)
  • 14.20. Program - własne narzędzie do wybierania czcionek (524)
  • 14.21. Program - własny menedżer układu (528)

15. Tworzenie programów wielojęzycznych oraz lokalizacja (535)

  • 15.0. Wprowadzenie (535)
  • 15.1. Tworzenie przycisku w różnych wersjach językowych (535)
  • 15.2. Tworzenie listy dostępnych ustawień lokalnych (538)
  • 15.3. Tworzenie menu z wykorzystaniem zasobów wielojęzycznych (539)
  • 15.4. Tworzenie metod pomocniczych przydatnych podczas pisania programów wielojęzycznych (539)
  • 15.5. Tworzenie okien dialogowych z wykorzystaniem zasobów wielojęzycznych (541)
  • 15.6. Tworzenie wiązki zasobów (543)
  • 15.7. Usuwanie łańcuchów znaków z kodu (544)
  • 15.8. Wykorzystanie konkretnych ustawień lokalnych (545)
  • 15.9. Określanie domyślnych ustawień lokalnych (546)
  • 15.10. Formatowanie komunikatów przy użyciu klasy MessageFormat (547)
  • 15.11. Program MenuIntl (549)
  • 15.12. Program BusCard (551)

16. Programy Javy działające na serwerze - gniazda (555)

  • 16.0. Wprowadzenie (555)
  • 16.1. Tworzenie serwera (556)
  • 16.2. Zwracanie odpowiedzi (łańcucha znaków bądź danych binarnych) (558)
  • 16.3. Zwracanie informacji o obiektach (562)
  • 16.4. Obsługa wielu klientów (563)
  • 16.5. Serwer obsługujący protokół HTTP (567)
  • 16.6. Zabezpieczanie serwera WWW przy użyciu SSL i JSSE (570)
  • 16.7. Rejestracja operacji sieciowych (572)
  • 16.8. Rejestracja przez sieć przy użyciu SLF4J (574)
  • 16.9. Rejestracja przez sieć przy użyciu log4j (576)
  • 16.10. Rejestracja przez sieć przy użyciu pakietu java.util.logging (579)
  • 16.11. Znajdowanie interfejsów sieciowych (581)
  • 16.12. Program - serwer pogawędek w Javie (582)

17. Java i poczta elektroniczna (587)

  • 17.0. Wprowadzenie (587)
  • 17.1. Wysyłanie poczty elektronicznej - wersja działająca w przeglądarkach (588)
  • 17.2. Wysyłanie poczty elektronicznej - właściwe rozwiązanie (592)
  • 17.3. Dodawanie możliwości wysyłania poczty do programu działającego na serwerze (594)
  • 17.4. Wysyłanie wiadomości MIME (599)
  • 17.5. Tworzenie ustawień poczty elektronicznej (602)
  • 17.6. Odczytywanie poczty elektronicznej (603)
  • 17.7. Program MailReaderBean (608)
  • 17.8. Program MailClient (611)

18. Dostęp do baz danych (621)

  • 18.0. Wprowadzenie (621)
  • 18.1. Łatwy dostęp do bazy danych przy użyciu JPA oraz Hibernate (623)
  • 18.2. Konfiguracja i nawiązywanie połączeń JDBC (628)
  • 18.3. Nawiązywanie połączenia z bazą danych JDBC (631)
  • 18.4. Przesyłanie zapytań JDBC i pobieranie wyników (634)
  • 18.5. Wykorzystanie przygotowanych poleceń JDBC (637)
  • 18.6. Wykorzystanie procedur osadzonych w JDBC (641)
  • 18.7. Modyfikacja danych przy użyciu obiektu ResultSet (641)
  • 18.8. Zapisywanie wyników w obiektach RowSet (642)
  • 18.9. Modyfikacja danych przy użyciu poleceń SQL (644)
  • 18.10. Odnajdywanie metadanych JDBC (646)
  • 18.11. Program SQLRunner (650)

19. Przetwarzanie danych w formacie JSON (661)

  • 19.0. Wprowadzenie (661)
  • 19.1. Bezpośrednie generowanie danych w formacie JSON (663)
  • 19.2. Analiza i zapisywanie danych JSON przy użyciu pakietu Jackson (664)
  • 19.3. Analiza i zapis danych w formacie JSON przy użyciu pakietu org.json (665)

20. XML (669)

  • 20.0. Wprowadzenie (669)
  • 20.1. Konwersja obiektów na dane XML przy użyciu JAXB (672)
  • 20.2. Konwersja obiektów na dane XML przy użyciu serializatorów (675)
  • 20.3. Przekształcanie danych XML przy użyciu XSLT (676)
  • 20.4. Analiza składniowa XML przy użyciu API SAX (679)
  • 20.5. Analiza dokumentów XML przy użyciu modelu obiektów dokumentu (DOM) (681)
  • 20.6. Odnajdywanie elementów XML przy użyciu XPath (684)
  • 20.7. Weryfikacja poprawności struktury z wykorzystaniem DTD (686)
  • 20.8. Generowanie własnego kodu XML z wykorzystaniem DOM i obiektów przekształceń XML (689)
  • 20.9. Program xml2mif (691)

21. Pakiety i ich tworzenie (693)

  • 21.0. Wprowadzenie (693)
  • 21.1. Tworzenie pakietu (694)
  • 21.2. Tworzenie dokumentacji klas przy użyciu programu Javadoc (696)
  • 21.3. Więcej niż Javadoc - adnotacje i metadane (700)
  • 21.4. Stosowanie programu archiwizującego jar (701)
  • 21.5. Uruchamianie programu zapisanego w pliku JAR (703)
  • 21.6. Tworzenie klasy w taki sposób, by była komponentem JavaBeans (704)
  • 21.7. Umieszczanie komponentów w plikach JAR (708)
  • 21.8. Umieszczanie serwletów w plikach JAR (709)
  • 21.9. "Zapisz raz, instaluj wszędzie" (710)
  • 21.10. "Napisz raz, instaluj na Mac OS X" (711)
  • 21.11. Java Web Start (713)
  • 21.12. Podpisywanie plików JAR (719)

22. Stosowanie wątków w Javie (721)

  • 22.0. Wprowadzenie (721)
  • 22.1. Uruchamianie kodu w innym wątku (723)
  • 22.2. Animacja - wyświetlanie poruszających się obrazów (728)
  • 22.3. Zatrzymywanie działania wątku (732)
  • 22.4. Spotkania i ograniczenia czasowe (734)
  • 22.5. Synchronizacja wątków przy użyciu słowa kluczowego synchronized (735)
  • 22.6. Upraszczanie synchronizacji przy użyciu blokad (741)
  • 22.7. Komunikacja między wątkami - metody wait() oraz notifyAll() (745)
  • 22.8. Upraszczanie programu producent-konsument przy użyciu interfejsu Queue (750)
  • 22.9. Optymalizacja działania równoległego przy użyciu Fork/Join (753)
  • 22.10. Zapis danych w tle w programach edycyjnych (756)
  • 22.11. Wielowątkowy serwer sieciowy (758)
  • 22.12. Upraszczanie serwerów z wykorzystaniem klas pakietu java.util.concurrent (765)

23. Introspekcja lub "klasa o nazwie Class" (769)

  • 23.0. Wprowadzenie (769)
  • 23.1. Pobieranie deskryptora klasy (770)
  • 23.2. Określanie oraz stosowanie metod i pól (771)
  • 23.3. Uzyskiwanie dostępu do prywatnych pól i metod za pomocą introspekcji (774)
  • 23.4. Dynamiczne ładowanie i instalowanie klas (775)
  • 23.5. Tworzenie nowej klasy od podstaw przy użyciu obiektu ClassLoader (778)
  • 23.6. Określanie efektywności działania (779)
  • 23.7. Wyświetlanie informacji o klasie (784)
  • 23.8. Wyświetlanie klas należących do pakietu (785)
  • 23.9. Stosowanie i definiowanie adnotacji (787)
  • 23.10. Zastosowanie adnotacji do odnajdywania klas pełniących rolę wtyczek (792)
  • 23.11. Program CrossRef (794)
  • 23.12. Program AppletViewer (796)

24. Wykorzystywanie Javy wraz z innymi językami programowania (803)

  • 24.0. Wprowadzenie (803)
  • 24.1. Uruchamianie zewnętrznego programu (804)
  • 24.2. Wykonywanie programu i przechwytywanie jego wyników (808)
  • 24.3. Wywoływanie kodu napisanego w innych językach przy użyciu javax.script (811)
  • 24.4. Tworzenie własnego mechanizmu skryptowego (813)
  • 24.5. Łączenie języków Java i Perl (817)
  • 24.6. Dołączanie kodu rodzimego (820)
  • 24.7. Wywoływanie kodu Javy z kodu rodzimego (825)

Posłowie (829)

A Java kiedyś i obecnie (831)

Skorowidz (849)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-9573-7
Rozmiar pliku: 6,2 MB

BESTSELLERY

Kategorie: