ksiazki24h.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > wyszukiwanie > opis książki

JAVA EFEKTYWNE PROGRAMOWANIE


BLOCH J.

wydawnictwo: HELION , rok wydania 2017, wydanie II

cena netto: 68.25 Twoja cena  64,84 zł + 5% vat - dodaj do koszyka

Java

Efektywne programowanie


  • Jak korzystać z bibliotek języka Java?

  • Jak pisać funkcjonalny i klarowny kod?

  • Jak stworzyć profesjonalny i efektowny program?

Język Java jest językiem obiektowym z dziedziczeniem jednobazowym. Wewnątrz każdej metody korzysta on ze zorientowanego na instrukcje stylu kodowania. Aby dobrze poznać jakikolwiek język, należy nauczyć się posługiwać jego regułami, zasadami i składnią -- podobnie jest z językiem programowania. Jeśli chcesz zyskać możliwość efektywnego programowania w języku Java, powinieneś poznać struktury danych, operacje i udogodnienia, oferowane przez biblioteki standardowe, a także często stosowane i efektywne sposoby tworzenia kodu. Całą potrzebną Ci wiedzę znajdziesz właśnie w tym podręczniku.

W książce "Java. Efektywne programowanie" w sposób zrozumiały i klarowny przedstawiono zasady opisujące mechanizmy używane w najlepszych technikach programowania.

Ten podręcznik podpowie Ci, jak najbardziej racjonalnie korzystać z języka Java oraz jego podstawowych bibliotek. Dowiesz się, jak stosować wyjątki przechwytywalne i wyjątki czasu wykonania, poznasz także zalety stosowania statycznych klas składowych. Opanujesz metody sprawdzania poprawności parametrów i projektowania sygnatur oraz wszelkie instrukcje, które pozwolą Ci na wydajne i profesjonalne programowanie.

  • Tworzenie i usuwanie obiektów

  • Klasy i interfejsy

  • Zapewnianie niezmienności obiektu

  • Projektowanie i dokumentowanie klas przeznaczonych do dziedziczenia

  • Zalety stosowania statycznych klas składowych

  • Typy ogólne

  • Typy wyliczeniowe i adnotacje

  • Metody

  • Programowanie

  • Wykorzystanie ogólnie przyjętych konwencji nazewnictwa

  • Wyjątki

  • Współbieżność i serializacja

  • Dokumentowanie bezpieczeństwa dla wątków


    • Opinie o pierwszym wydaniu
    • Słowo wstępne
    • Przedmowa
      • Przedmowa do drugiego wydania
      • Przedmowa do pierwszego wydania
    • Podziękowania
      • Podziękowania do drugiego wydania
      • Podziękowania do pierwszego wydania
    • 1 Wprowadzenie
    • 2 Tworzenie i usuwanie obiektów
      • Temat 1. Tworzenie statycznych metod factory zamiast konstruktorów
      • Temat 2. Zastosowanie budowniczego do obsługi wielu parametrów konstruktora
      • Temat 3. Wymuszanie właściwości singleton za pomocą prywatnego konstruktora
      • Temat 4. Wykorzystanie konstruktora prywatnego w celu uniemożliwienia utworzenia obiektu
      • Temat 5. Unikanie powielania obiektów
      • Temat 6. Usuwanie niepotrzebnych referencji do obiektów
      • Temat 7. Unikanie finalizatorów
    • 3 Metody wspólne dla wszystkich obiektów
      • Temat 8. Zachowanie założeń w trakcie przedefiniowywania metody equals
      • Temat 9. Przedefiniowywanie metody hashCode wraz z equals
      • Temat 10. Przedefiniowywanie metody toString
      • Temat 11. Rozsądne przedefiniowywanie metody clone
      • Temat 12. Implementacja interfejsu Comparable
    • 4 Klasy i interfejsy
      • Temat 13. Ograniczanie dostępności klas i ich składników
      • Temat 14. Stosowanie metod akcesorów zamiast pól publicznych w klasach publicznych
      • Temat 15. Zapewnianie niezmienności obiektu
      • Temat 16. Zastępowanie dziedziczenia kompozycją
      • Temat 17. Projektowanie i dokumentowanie klas przeznaczonych do dziedziczenia
      • Temat 18. Stosowanie interfejsów zamiast klas abstrakcyjnych
      • Temat 19. Wykorzystanie interfejsów jedynie do definiowania typów
      • Temat 20. Zastępowanie oznaczania klas hierarchią
      • Temat 21. Zastosowanie obiektów funkcyjnych do reprezentowania strategii
      • Temat 22. Zalety stosowania statycznych klas składowych
    • 5 Typy ogólne
      • Temat 23. Nie korzystaj z typów surowych w nowym kodzie
      • Temat 24. Eliminowanie ostrzeżeń o braku kontroli
      • Temat 25. Korzystanie z list zamiast tablic
      • Temat 26. Stosowanie typów ogólnych
      • Temat 27. Stosowanie metod ogólnych
      • Temat 28. Zastosowanie związanych szablonów do zwiększania elastyczności API
      • Temat 29. Wykorzystanie heterogenicznych kontenerów bezpiecznych dla typów
    • 6 Typy wyliczeniowe i adnotacje
      • Temat 30. Użycie typów wyliczeniowych zamiast stałych int
      • Temat 31. Użycie pól instancyjnych zamiast kolejności
      • Temat 32. Użycie EnumSet zamiast pól bitowych
      • Temat 33. Użycie EnumMap zamiast indeksowania kolejnością
      • Temat 34. Emulowanie rozszerzalnych typów wyliczeniowych za pomocą interfejsów
      • Temat 35. Korzystanie z adnotacji zamiast wzorców nazw
      • Temat 36. Spójne użycie adnotacji Override
      • Temat 37. Użycie interfejsów znacznikowych do definiowania typów
    • 7 Metody
      • Temat 38. Sprawdzanie poprawności parametrów
      • Temat 39. Defensywne kopiowanie
      • Temat 40. Projektowanie sygnatur metod
      • Temat 41. Rozsądne korzystanie z przeciążania
      • Temat 42. Rozsądne korzystanie z metod varargs
      • Temat 43. Zwracanie pustych tablic lub kolekcji zamiast wartości null
      • Temat 44. Tworzenie komentarzy dokumentujących dla wszystkich udostępnianych elementów API
    • 8 Programowanie
      • Temat 45. Ograniczanie zasięgu zmiennych lokalnych
      • Temat 46. Stosowanie pętli for-each zamiast tradycyjnych pętli for
      • Temat 47. Poznanie i wykorzystywanie bibliotek
      • Temat 48. Unikanie typów float i double, gdy potrzebne są dokładne wyniki
      • Temat 49. Stosowanie typów prostych zamiast opakowanych typów prostych
      • Temat 50. Unikanie typu String, gdy istnieją bardziej odpowiednie typy
      • Temat 51. Problemy z wydajnością przy łączeniu ciągów znaków
      • Temat 52. Odwoływanie się do obiektów poprzez interfejsy
      • Temat 53. Stosowanie interfejsów zamiast refleksyjności
      • Temat 54. Rozważne wykorzystywanie metod natywnych
      • Temat 55. Unikanie optymalizacji
      • Temat 56. Wykorzystanie ogólnie przyjętych konwencji nazewnictwa
    • 9 Wyjątki
      • Temat 57. Wykorzystanie wyjątków w sytuacjach nadzwyczajnych
      • Temat 58. Stosowanie wyjątków przechwytywanych i wyjątków czasu wykonania
      • Temat 59. Unikanie niepotrzebnych wyjątków przechwytywanych
      • Temat 60. Wykorzystanie wyjątków standardowych
      • Temat 61. Zgłaszanie wyjątków właściwych dla abstrakcji
      • Temat 62. Dokumentowanie wyjątków zgłaszanych przez metodę
      • Temat 63. Udostępnianie danych o błędzie
      • Temat 64. Zachowanie atomowości w przypadku błędu
      • Temat 65. Nie ignoruj wyjątków
    • 10 Współbieżność
      • Temat 66. Synchronizacja dostępu do wspólnych modyfikowalnych danych
      • Temat 67. Unikanie nadmiarowej synchronizacji
      • Temat 68. Stosowanie wykonawców i zadań zamiast wątków
      • Temat 69. Stosowanie narzędzi współbieżności zamiast wait i notify
      • Temat 70. Dokumentowanie bezpieczeństwa dla wątków
      • Temat 71. Rozsądne korzystanie z późnej inicjalizacji
      • Temat 72. Nie polegaj na harmonogramie wątków
      • Temat 73. Unikanie grup wątków
    • 11 Serializacja
      • Temat 74. Rozsądne implementowanie interfejsu Serializable
      • Temat 75. Wykorzystanie własnej postaci serializowanej
      • Temat 76. Defensywne tworzenie metody readObject
      • Temat 77. Stosowanie typów wyliczeniowych zamiast readResolve do kontroli obiektów
      • Temat 78. Użycie pośrednika serializacji zamiast serializowanych obiektów
    • A Tematy odpowiadające pierwszemu wydaniu
    • B Zasoby

352 strony, Format: 15.8x23.5, oprawa miękka

Księgarnia nie działa. Nie odpowiadamy na pytania i nie realizujemy zamówien. Do odwolania !.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2022