reklama - zainteresowany?

Java. Potrzaski - Helion

Java. Potrzaski
Autor: Michael C. Daconta, Eric Monk, J Paul Keller, Keith Bohnenberger
Tytuł oryginału: Java Pitfalls
Tłumaczenie: Jaromir Senczyk
ISBN: 83-7361-121-5
stron: 312, Format: B5, okładka: miękka
Data wydania: 2003-07-03
Księgarnia: Helion

Cena książki: 39,00 zł

Dodaj do koszyka Java. Potrzaski

Tagi: Java - Programowanie

Choć Java to język gwarantujący efektywną pracę, to jednak kryje w sobie wiele pułapek, które mogą zniweczyć jej efekty. Książka ta ma za zadanie oszczędzić Twój czas i zapobiec frustracji przeprowadzając Cię bezpiecznie przez skomplikowane zagadnienia. Zespół ekspertów od języka Java pod wodzą guru programowania w osobie Michaela Daconta proponuje Ci zestaw sprawdzonych rozwiązań 50 trudnych problemów pojawiających się w praktyce każdego programisty. Rozwiązania te pozwolą Ci uniknąć problemów wynikających z niedostatków języka Java oraz jego interfejsów programowych, w tym pakietów java.util, java.io, java.awt i javax.swing. Autorzy dzielą się także z Czytelnikiem swoimi sposobami na poprawę wydajności aplikacji pisanych w Javie.

Oto niektóre z omawianych zagadnień:

  • Składnia języka: zastosowanie metody equals() zamiast operatora == do porównywania obiektów klasy String
  • Funkcjonalność wbudowana w język: rozdział metod a mechanizm refleksji, interfejsy i klasy anonimowe
  • Użyteczne klasy i kolekcje: wybór klasy PropertyFile i ResourceBundle
  • Wejście i wyjście, w tym subtelności związane z przesyłaniem serializowanych obiektów za pomocą gniazd sieciowych
  • Graficzny interfejs użytkownika: sposoby uniknięcia typowej pułapki polegającej na zastosowaniu metody repaint() zamiast metody validate() w celu uzyskania nowego układu komponentów
  • Graficzny interfejs użytkownika -- sterowanie: m.in. bardziej funkcjonalna kontrola danych wprowadzanych przez użytkownika
  • Wydajność: m.in. zastosowanie odroczonego ładowania, tak by zwiększyć szybkość uruchamiania programów

Dodaj do koszyka Java. Potrzaski

 

Osoby które kupowały "Java. Potrzaski", wybierały także:

  • Metoda dziel i zwyci
  • Język C. Kurs video. Praktyczne wprowadzenie do programowania
  • Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII
  • Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze
  • Maven. Kurs video. Automatyzacja tworzenia aplikacji w Javie

Dodaj do koszyka Java. Potrzaski

Spis treści

Java. Potrzaski -- spis treści

Wstęp (9)

Rozdział 1. Składnia języka (13)

  • Zagadnienie 1. Przesłanianie metod statycznych (14)
  • Zagadnienie 2. Zastosowanie metody equals() i operatora == dla obiektów klasy String (16)
  • Zagadnienie 3. Kontrola zgodności typów w języku Java (19)
    • Konwersja typów (20)
    • Rozszerzanie (21)
    • Zawężanie (22)
    • Niejawne konwersje typów (22)
  • Zagadnienie 4. Czy to jest konstruktor? (23)
  • Zagadnienie 5. Brak dostępu do przesłoniętej metody (25)
  • Zagadnienie 6. Pułapka ukrytego pola (27)
    • Rodzaje zmiennych w języku Java (29)
    • Zakres deklaracji zmiennej (29)
    • Które zmienne mogą być ukrywane? (30)
    • Ukrywanie zmiennych instancji i zmiennych klas (30)
    • Dostęp do ukrytych pól (32)
    • Różnice pomiędzy ukrywaniem pól i przesłanianiem metod (33)
  • Zagadnienie 7. Referencje wyprzedzające (34)
  • Zagadnienie 8. Konstruktory i projektowanie klas (35)
  • Zagadnienie 9. Przekazywanie typów prostych przez referencję (42)
  • Zagadnienie 10. Wyrażenia i operatory logiczne (45)

Rozdział 2. Funkcjonalność wbudowana w język Java (47)

  • Zagadnienie 11. Odzyskiwanie pamięci za pomocą obiektów SoftReference (48)
    • Odzyskiwanie pamięci (48)
    • Klasa SoftReference (50)
    • Kolejki referencji (55)
  • Zagadnienie 12. Zakleszczenie na skutek wywołania metody synchronizowanej przez metodę synchronizowaną (57)
    • Wątki, monitory i słowo kluczowe synchronized (57)
    • Przykładowy scenariusz zakleszczenia (61)
  • Zagadnienie 13. Klonowanie obiektów (65)
  • Zagadnienie 14. Przesłanianie metody equals (71)
    • Zastosowanie obiektów klasy StringBuffer jako kluczy kodowania mieszającego (73)
  • Zagadnienie 15. Unikajmy konstruktorów w implementacji metody clone() (74)
  • Zagadnienie 16. Rozdział metod a mechanizm refleksji, interfejsy i klasy anonimowe (79)
  • Zagadnienie 17. Obsługa wyjątków i błąd OutOfMemoryError (88)
    • Składnia wyjątków (89)
    • Hierarchia wyjątków (89)
    • Obsługa wyjątków (90)
    • Błąd braku pamięci (90)

Rozdział 3. Użyteczne klasy i kolekcje (93)

  • Zagadnienie 18. Uporządkowane klucze właściwości? (94)
  • Zagadnienie 19. Obsługa kolekcji o znacznych rozmiarach za pomocą mechanizmów buforowania i trwałości (97)
  • Zagadnienie 20. Plik właściwości czy zestaw zasobów? (109)
  • Zagadnienie 21. Pułapki klasy Properties (112)
  • Zagadnienie 22. Klasa Vector i nowe kolekcje (117)

Rozdział 4. Wejście i wyjście (121)

  • Zagadnienie 23. Serializacja (122)
    • Jak działa serializacja? (123)
    • Interfejs Externalizable (124)
  • Zagadnienie 24. Unicode, UTF i strumienie (125)
    • Unicode (126)
    • UTF (126)
    • Strumienie (128)
    • Konfigurowanie kodowania (131)
  • Zagadnienie 25. Przesyłanie serializowanych obiektów za pomocą gniazd sieciowych (131)
  • Zagadnienie 26. Try, catch 1 finally? (135)
  • Zagadnienie 27. Opróżnianie zasobów związanych z obrazami (138)

Rozdział 5. Graficzny interfejs użytkownika - prezentacja (143)

  • Zagadnienie 28. Informowanie o postępach (144)
    • Kursor zajętości (145)
    • Monitor postępu (147)
  • Zagadnienie 29. Zastosowanie metody repaint() zamiast metody validate() do aktualizacji układu komponentów (149)
  • Zagadnienie 30. Uporządkowanie nakładających się komponentów (153)
    • Menedżery układu (154)
    • JLayeredPane (158)
  • Zagadnienie 31. Zagadka metod validate(), revalidate() i invalidate() (160)
  • Zagadnienie 32. Pionowy układ komponentów (164)
  • Zagadnienie 33. Właściwe sposoby użycia menedżera GridBagLayout (172)
  • Zagadnienie 34. Zapobieganie migotaniu obrazu (179)
    • Rysowanie w AWT (180)
    • Rysowanie i Swing (183)
  • Zagadnienie 35. Komponenty z zagnieżdżonymi etykietami HTML (184)

Rozdział 6. Graficzny interfejs użytkownika - sterowanie (189)

  • Zagadnienie 36. Kontrola danych wprowadzanych przez użytkownika (190)
    • Komponenty tworzone na miarę (191)
    • Filtrowanie (191)
    • Konsumowanie zdarzeń (192)
    • Kontrola po wprowadzeniu danych (194)
    • Problemy projektowania (194)
    • Asynchroniczna kontrola poprawności (195)
    • Adapter kontroli danych (196)
    • Techniki kontroli poprawności danych (198)
    • Kontrola poprawności danych z wykorzystaniem wyjątków (198)
    • Łańcuchy kontroli poprawności danych (200)
    • Uwagi końcowe (201)
  • Zagadnienie 37. Uaktywnianie komponentów interfejsu użytkownika w zależności od stanu aplikacji (201)
    • Pierwsze rozwiązanie (202)
    • Rozwiązanie siłowe (202)
    • Rozwiązanie przez abstrakcję - klasa StateMonitor (203)
    • ListViewer (205)
    • Adaptacyjna deaktywacja komponentów (208)
  • Zagadnienie 38. Wielowątkowa obsługa zdarzeń (208)
    • Skuteczna implementacja obsługi przycisku Cancel z wykorzystaniem wątków (210)
    • Skuteczna implementacja obsługi przycisku Cancel wykorzystująca klasę SwingWorker (212)
  • Zagadnienie 39. Wzorzec "model widok kontroler" i komponent JTree (214)
  • Zagadnienie 40. Przekazywanie danych innych niż tekst (217)
    • Pakiet java.awt.datatransfer (218)
    • Trzy scenariusze przekazywania danych (219)
    • Przykład przekazywania danych w obrębie jednej maszyny wirtualnej (219)
    • Określanie sposobu przekazywania danych (223)
    • Przekazywanie danych poza maszynę wirtualną (224)
  • Zagadnienie 41. KeyListener, który nie słucha? (238)
  • Zagadnienie 42. Drukowanie tekstu, dokumentów HTML i obrazów za pomocą komponentu JEditorPane (241)

Rozdział 7. Efektywność (251)

  • Zagadnienie 43. Odroczone ładowanie sposobem na poprawę efektywności (252)
  • Zagadnienie 44. Zastosowania puli obiektów (254)
    • Odzyskiwanie obiektów (255)
    • Porównanie puli obiektów i buforowania (255)
    • Implementacja (256)
    • Zalety (257)
    • Wady (258)
    • Kłopoty (258)
  • Zagadnienie 45. Efektywność tablic i klasy Vector (260)
    • Dlaczego klasa Vector jest wolniejsza od zwykłych tablic? (262)
    • Kiedy używać klasy Vector? (263)
    • Klasa ArrayList (264)
  • Zagadnienie 46. Zagadnienie dynamicznego wzrostu tablic (265)
  • Zagadnienie 47. Konkatenacja łańcuchów znakowych w pętli - porównanie klas String i StringBuffer (270)

Rozdział 8. Rozmaitości (273)

  • Zagadnienie 48. Czy istnieje lepszy sposób uruchamiania? (273)
  • Zagadnienie 49. Hermetyzacja wywołań JNI za pomocą interfejsów (275)
    • Koncepcja (276)
    • Przykład interfejsu (277)
    • Implementacja w języku Java (279)
    • Implementacja w kodzie macierzystym (281)
    • Kod specyficzny dla platformy Windows (285)
  • Zagadnienie 50. Asercje (289)
    • Asercje w języku Java (290)
    • Stosowanie asercji (290)
    • Jak nie należy stosować asercji (290)
    • Przykładowa implementacja (291)

Skorowidz (295)

Dodaj do koszyka Java. Potrzaski

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.