Java (język programowania)
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(134)
Forma i typ
Książki
(133)
Publikacje fachowe
(42)
Publikacje dydaktyczne
(22)
Poradniki i przewodniki
(1)
Dostępność
tylko na miejscu
(89)
dostępne
(57)
wypożyczone
(2)
nieokreślona
(2)
Placówka
Wypożyczalnia
(60)
Czytelnia Główna
(1)
Biblioteka Międzywydziałowa
(2)
Magazyn
(3)
Biblioteka WEAiI
(84)
Autor
Horstmann Cay S. (1959- )
(12)
Jońca Rafał
(12)
Rajca Piotr (1970- )
(12)
Schildt Herbert (1951- )
(11)
Piwko Łukasz
(6)
Senczyk Jaromir
(6)
Szczepaniak Mikołaj
(6)
Barteczko Krzysztof
(5)
Lis Marcin
(5)
Bielecki Jan (1942-2001)
(4)
Cornell Gary
(4)
Lachowski Lech
(4)
Osiak Sławomir
(4)
Bates Bert
(3)
Bąbol Krzysztof
(3)
Jamsa Kris
(3)
Kubiak Mirosław J
(3)
Rajca Piotr
(3)
Sierra Kathy
(3)
Stefański Andrzej (tłumacz)
(3)
Szeremiota Przemysław
(3)
Walczak Tomasz
(3)
Bloch Joshua
(2)
Cadenhead Rogers
(2)
Carrano Frank M
(2)
Dobosz Krzysztof
(2)
Drobik Wojciech
(2)
Eckel Bruce
(2)
Eckel Bruce (1957- )
(2)
Fryz Łukasz
(2)
Gonera Paweł
(2)
Grochala Michał
(2)
Kobalczyk Szymon
(2)
Koronkiewicz Paweł (1973- )
(2)
Lalani Suleiman "Sam"
(2)
Nowak Adrian
(2)
Piechota Urszula
(2)
Senczyk Janusz
(2)
Starosta Bartłomiej
(2)
Steelman Andrea
(2)
Suma Łukasz
(2)
Urma Raoul-Gabriel
(2)
Vanhelsuwé Laurence
(2)
Walczak Tomasz (tłumacz)
(2)
Arnold Ken
(1)
Banach Zbigniew
(1)
Baranowska Marzena
(1)
Baranowski Maciej
(1)
Baćmaga Ewa
(1)
Bochenek Adam
(1)
Bokun Igor
(1)
Boone Barry
(1)
Bremner Lynn M
(1)
Bruegge Bernd
(1)
Bryant Daniel
(1)
Burd Barry A
(1)
Chappell David A
(1)
Chounlamany-Turalska Natalia
(1)
Cutajar James
(1)
Dai Naci
(1)
Darwin Ian F
(1)
Deitel Harvey M. (1945- )
(1)
Deitel Paul J
(1)
Downey Allen
(1)
Downey Allen B
(1)
Dutoit Allen H
(1)
Dąbkowski Jerzy (1942- )
(1)
European Logo Conference - EUROLOGO 2005 (10 ; 2005 ; Warsaw)
(1)
Evans Benjamin J
(1)
Farcic Viktor
(1)
Filo Grzegorz
(1)
Flanagan David
(1)
Friesen Jeff
(1)
Gaddis Tony
(1)
Garcia Alex
(1)
Gee Trisha
(1)
Gorywoda Maciej
(1)
Gosling James
(1)
Graham Steve
(1)
Grażyński Andrzej
(1)
Gregorczyk Grażyna
(1)
Grudziński Grzegorz
(1)
Guihot Hervé
(1)
Guy Romain
(1)
Górczyński Robert
(1)
Göransson Anders
(1)
Haase Chet
(1)
Heffelfinger David R
(1)
Helion
(1)
Holub Allen (1955- )
(1)
Holzner Steven
(1)
Hook David (1962- )
(1)
Hulist Aleksander
(1)
Hunt Andrew (1964- )
(1)
Hunt Charlie (1962- )
(1)
Iasi Anthony F
(1)
Iliescu Ovidiu
(1)
Jakub Niedźwiedź
(1)
Jendrock Eric
(1)
Jewell Tyler
(1)
Rok wydania
2020 - 2024
(15)
2010 - 2019
(52)
2000 - 2009
(48)
1990 - 1999
(19)
Okres powstania dzieła
2001-
(41)
2001
(1)
Kraj wydania
Polska
(133)
nieznany (us)
(1)
Język
polski
(133)
angielski
(1)
Odbiorca
Programiści
(14)
Szkoły ponadgimnazjalne
(1)
Temat
Budownictwo
(2413)
Zarządzanie
(2038)
Matematyka
(1930)
Elektrotechnika
(1896)
Przedsiębiorstwa
(1790)
Java (język programowania)
(-)
Fizyka
(1535)
Informatyka
(1502)
Maszyny
(1228)
Fizjoterapia
(1177)
Wytrzymałość materiałów
(1158)
Ochrona środowiska
(1023)
Sport
(1013)
Turystyka
(953)
Elektronika
(946)
Ekonomia
(932)
Mechanika
(932)
Automatyka
(916)
Język angielski
(874)
Samochody
(867)
Rachunkowość
(821)
Chemia
(809)
Rehabilitacja
(800)
Polska
(792)
Gospodarka
(778)
Komunikacja marketingowa
(761)
Technika
(743)
Konstrukcje budowlane
(727)
Wychowanie fizyczne
(725)
Przemysł
(724)
Prawo pracy
(712)
Piłka nożna
(710)
Unia Europejska
(699)
Transport
(673)
Elektroenergetyka
(668)
Marketing
(638)
Architektura
(637)
Innowacje
(621)
Naprężenia i odkształcenia
(615)
OZE
(606)
Programowanie (informatyka)
(590)
Programy komputerowe
(586)
Trening
(586)
Energetyka
(585)
Technologia chemiczna
(567)
Rolnictwo
(556)
Biomasa
(543)
Analiza numeryczna
(532)
Prawo
(524)
Odnawialne źródła energii
(523)
Sterowanie
(520)
Materiałoznawstwo
(519)
Produkcja
(518)
Komputery
(517)
Symulacja
(516)
Inwestycje
(508)
Praca
(504)
Zarządzanie jakością
(497)
Zarządzanie zasobami ludzkimi (HRM)
(496)
Analiza matematyczna
(495)
Dzieci
(494)
Energia elektryczna
(491)
Urbanistyka
(488)
Materiały budowlane
(484)
Logistyka gospodarcza
(480)
Rynek pracy
(474)
Finanse
(468)
Maszyny elektryczne
(468)
Przedsiębiorstwo
(468)
Szkolnictwo wyższe
(468)
Psychologia
(467)
Modele matematyczne
(465)
Internet
(464)
Metale
(462)
Nauka
(456)
Marketing internetowy
(453)
Systemy informatyczne
(448)
Statystyka matematyczna
(447)
Języki programowania
(433)
Skrawanie
(433)
Reklama
(431)
Rehabilitacja medyczna
(430)
Mechanika budowli
(425)
Działalność gospodarcza
(422)
Organizacja
(417)
Telekomunikacja
(413)
Metrologia
(412)
Pedagogika
(410)
Drgania
(409)
Trener
(406)
Ubezpieczenia społeczne
(394)
Controlling
(392)
Optymalizacja
(392)
Historia
(388)
Filozofia
(385)
Podatki
(385)
Statystyka
(384)
Socjologia
(383)
Banki
(379)
BHP
(377)
Rachunkowość zarządcza
(374)
Temat: czas
2001-
(4)
Gatunek
Podręcznik
(71)
Ćwiczenia i zadania
(9)
Podręczniki akademickie
(3)
Poradnik
(3)
Podręczniki
(2)
Kompendia i repetytoria
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(44)
Edukacja i pedagogika
(3)
134 wyniki Filtruj
Książka
W koszyku
Tytuł oryginału: Java : a beginner's guide, seventh edition.
Wydanie 7. odnosi się do oryginału.
Na stronie tytułowej i okładce również informacje o wydawcy oryginału - Oracle.
Indeks.
1. Podstawy Javy 21 Pochodzenie Javy 22 Java a języki C i C++ 22 Wpływ Javy na Internet 23 Java uprościła programowanie aplikacji internetowych 23 Aplety Javy 24 Bezpieczeństwo 24 Przenośność 25 Magiczny kod bajtowy 25 Coś więcej niż aplety 26 Terminologia Javy 27 Programowanie obiektowe 27 Hermetyzacja 28 Polimorfizm 29 Dziedziczenie 29 Java Development Kit 29 Pierwszy prosty program 30 Wprowadzenie tekstu programu 31 Kompilowanie programu 31 Pierwszy program wiersz po wierszu 32 Obsługa błędów składni 34 Drugi prosty program 34 Inne typy danych 36 Dwie instrukcje sterujące 38 Instrukcja if 38 Pętla for 40 Bloki kodu 41 Średnik i pozycja kodu w wierszu 42 Wcięcia 42 Słowa kluczowe języka Java 44 Identyfikatory 45 Biblioteki klas 45 Test sprawdzający 45 2. Typy danych i operatory 47 Dlaczego typy danych są tak ważne 47 Typy proste 48 Typy całkowite 48 Typy zmiennoprzecinkowe 49 Znaki 50 Typ logiczny 51 Literały 53 Literały szesnastkowe, ósemkowe i binarne 53 Specjalne sekwencje znaków 53 Literały łańcuchowe 54 Zmienne 55 Inicjalizacja zmiennej 55 Dynamiczna inicjalizacja 55 Zasięg deklaracji i czas istnienia zmiennych 56 Operatory 58 Operatory arytmetyczne 58 Inkrementacja i dekrementacja 59 Operatory relacyjne i logiczne 60 Warunkowe operatory logiczne 62 Operator przypisania 63 Skrótowe operatory przypisania 63 Konwersje typów w instrukcjach przypisania 64 Rzutowanie typów niezgodnych 65 Priorytet operatorów 67 Wyrażenia 68 Konwersja typów w wyrażeniach 68 Odstępy i nawiasy 70 3. Instrukcje sterujące 71 Wprowadzanie znaków z klawiatury 71 Instrukcja if 72 Zagnieżdżanie instrukcji if 73 Drabinka if-else-if 74 Instrukcja switch 75 Zagnieżdżanie instrukcji switch 78 Pętla for 80 Wariacje na temat pętli for 81 Brakujące elementy 82 Pętla nieskończona 83 Pętle bez ciała 83 Deklaracja zmiennych sterujących wewnątrz pętli 84 Rozszerzona pętla for 85 Pętla while 85 Pętla do-while 86 Przerywanie pętli instrukcją break 90 Zastosowanie break jako formy goto 91 Zastosowanie instrukcji continue 95 Pętle zagnieżdżone 99 4. Wprowadzenie do klas, obiektów i metod 101 Podstawy klas 101 Ogólna postać klasy 102 Definiowanie klasy 102 Jak powstają obiekty 105 Referencje obiektów i operacje przypisania 105 Metody 106 Dodajemy metodę do klasy Vehicle 106 Powrót z metody 108 Zwracanie wartości 109 Stosowanie parametrów 110 Dodajemy sparametryzowaną metodę do klasy Vehicle 112 Konstruktory 117 Konstruktory z parametrami 118 Dodajemy konstruktor do klasy Vehicle 119 Operator new 120 Odzyskiwanie pamięci 120 Słowo kluczowe this 121 5. Więcej typów danych i operatorów 123 Tablice 123 Tablice jednowymiarowe 124 Tablice wielowymiarowe 128 Tablice dwuwymiarowe 128 Tablice nieregularne 129 Tablice o trzech i więcej wymiarach 130 Inicjalizacja tablic wielowymiarowych 130 Alternatywna składnia deklaracji tablic 131 Przypisywanie referencji tablic 131 Wykorzystanie składowej length 132 Styl for-each pętli for 137 Iteracje w tablicach wielowymiarowych 139 Zastosowania rozszerzonej pętli for 140 Łańcuchy znaków 141 Tworzenie łańcuchów 141 Operacje na łańcuchach 142 Tablice łańcuchów 144 Łańcuchy są niezmienne 144 Stosowanie łańcuchów do sterowania instrukcją switch 145 Wykorzystanie argumentów wywołania programu 146 Operatory bitowe 147 Operatory bitowe AND, OR, XOR i NOT 147 Operatory przesunięcia 151 Skrótowe bitowe operatory przypisania 153 Operator ? 155 6. Więcej o metodach i klasach 159 Kontrola dostępu do składowych klasy 159 Modyfikatory dostępu w Javie 160 Przekazywanie obiektów do metod 164 Sposób przekazywania argumentów 165 Zwracanie obiektów 167 Przeciążanie metod 169 Przeciążanie konstruktorów 173 Rekurencja 177 Słowo kluczowe static 178 Bloki static 181 Klasy zagnieżdżone i klasy wewnętrzne 184 Zmienne liczby argumentów 186 Metody o zmiennej liczbie argumentów 187 Przeciążanie metod o zmiennej liczbie argumentów 189 Zmienna liczba argumentów i niejednoznaczność 190 7. Dziedziczenie 193 Podstawy dziedziczenia 193 Dostęp do składowych a dziedziczenie 196 Konstruktory i dziedziczenie 198 Użycie słowa kluczowego super do wywołania konstruktora klasy bazowej 199 Użycie słowa kluczowego super do dostępu do składowych klasy bazowej 203 Wielopoziomowe hierarchie klas 206 Kiedy wywoływane są konstruktory? 208 Referencje klasy bazowej i obiekty klasy pochodnej 209 Przesłanianie metod 213 Przesłanianie metod i polimorfizm 215 Po co przesłaniać metody? 216 Zastosowanie przesłaniania metod w klasie TwoDShape 217 Klasy abstrakcyjne 220 Słowo kluczowe final 223 final zapobiega przesłanianiu 223 final zapobiega dziedziczeniu 223 Użycie final dla zmiennych składowych 224 Klasa Object 225 8. Pakiety i interfejsy 227 Pakiety 227 Definiowanie pakietu 228 Wyszukiwanie pakietów i zmienna CLASSPATH 229 Prosty przykład pakietu 229 Pakiety i dostęp do składowych 230 Przykład dostępu do pakietu 231 Składowe chronione 232 Import pakietów 234 Biblioteka klas Java używa pakietów 235 Interfejsy 235 Implementacje interfejsów 237 Referencje interfejsu 240 Zmienne w interfejsach 245 Interfejsy mogą dziedziczyć 246 Domyślne metody interfejsów 247 Podstawowe informacje o metodach domyślnych 248 Praktyczny przykład metody domyślnej 249 Problemy wielokrotnego dziedziczenia 250 Stosowanie metod statycznych w interfejsach 251 Stosowanie metod prywatnych w interfejsach 252 Ostatnie uwagi o pakietach i interfejsach 253 9. Obsługa wyjątków 255 Hierarchia wyjątków 256 Podstawy obsługi wyjątków 256 Słowa kluczowe try i catch 256 Prosty przykład wyjątku 257 Konsekwencje nieprzechwycenia wyjątku 259 Wyjątki umożliwiają obsługę błędów 260 Użycie wielu klauzul catch 261 Przechwytywanie wyjątków klas pochodnych 261 Zagnieżdżanie bloków try 263 Generowanie wyjątku 264 Powtórne generowanie wyjątku 264 Klasa Throwable 265 Klauzula finally 267 Użycie klauzuli throws 268 Trzy dodatkowe możliwości wyjątków 269 Wyjątki wbudowane w Javę 270 Tworzenie klas pochodnych wyjątków 272 10. Obsługa wejścia i wyjścia 279 Strumienie wejścia i wyjścia 280 Strumienie bajtowe i strumienie znakowe 280 Klasy strumieni bajtowych 280 Klasy strumieni znakowych 280 Strumienie predefiniowane 281 Używanie strumieni bajtowych 282 Odczyt wejścia konsoli 282 Zapis do wyjścia konsoli 284 Odczyt i zapis plików za pomocą strumieni bajtowych 285 Odczyt z pliku 285 Zapis w pliku 288 Automatyczne zamykanie pliku 290 Odczyt i zapis danych binarnych 292 Pliki o dostępie swobodnym 296 Strumienie znakowe 298 Odczyt konsoli za pomocą strumieni znakowych 298 Obsługa wyjścia konsoli za pomocą strumieni znakowych 301 Obsługa plików za pomocą strumieni znakowych 302 Klasa FileWriter 302 Klasa FileReader 303 Zastosowanie klas opakowujących do konwersji łańcuchów numerycznych 304 11. Programowanie wielowątkowe 313 Podstawy wielowątkowości 313 Klasa Thread i interfejs Runnable 314 Tworzenie wątku 315 Usprawnienie i dwie modyfikacje 318 Tworzenie wielu wątków 323 Jak ustalić, kiedy wątek zakończył działanie? 326 Priorytety wątków 328 Synchronizacja 331 Synchronizacja metod 331 Synchronizacja instrukcji 334 Komunikacja międzywątkowa 336 Przykład użycia metod wait() i notify() 337 Wstrzymywanie, wznawianie i kończenie działania wątków 341 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje 347 Wyliczenia 348 Podstawy wyliczeń 348 Wyliczenia są klasami 350 Metody values() i valueOf() 350 Konstruktory, metody, zmienne instancji a wyliczenia 351 Dwa ważne ograniczenia 353 Typy wyliczeniowe dziedziczą po klasie Enum 353 Automatyczne opakowywanie 358 Typy opakowujące 359 Podstawy automatycznego opakowywania 360 Automatyczne opakowywanie i metody 361 Automatyczne opakowywanie i wyrażenia 362 Przestroga 364 Import składowych statycznych 364 Adnotacje (metadane) 366 13. Typy sparametryzowane 371 Podstawy typów sparametryzowanych 372 Prosty przykład typów sparametryzowanych 372 Parametryzacja dotyczy tylko typów obiektowych 375 Typy sparametryzowane różnią się dla różnych argumentów 375 Klasa sparametryzowana o dwóch parametrach 376 Ogólna postać klasy sparametryzowanej 377 Ograniczanie typów 377 Stosowanie argumentów wieloznacznych 380 Ograniczanie argumentów wieloznacznych 382 Metody sparametryzowane 384 Konstruktory sparametryzowane 386 Interfejsy sparametryzowane 386 Typy surowe i tradycyjny kod 392 Wnioskowanie typów i operator diamentowy 395 Wymazywanie 396 Błędy niejednoznaczności 396 Ograniczenia związane z typami sparametryzowanymi 397 Zakaz tworzenia instancji parametru typu 397 Ograniczenia dla składowych statycznych 397 Ograniczenia tablic sparametryzowanych 398 Ograniczenia związane z wyjątkami 399 Dalsze studiowanie typów sparametryzowanych 399 14. Wyrażenia lambda i referencje metod 401 Przedstawienie wyrażeń lambda 402 Podstawowe informacje o wyrażeniach lambda 402 Interfejsy funkcyjne 403 Wyrażenia lambda w działaniu 405 Blokowe wyrażenia lambda 408 Sparametryzowane interfejsy funkcyjne 409 Wyrażenia lambda i przechwytywanie zmiennych 415 Zgłaszanie wyjątków w wyrażeniach lambda 416 Referencje metod 417 Referencje metod statycznych 417 Referencje metod instancyjnych 419 Referencje konstruktorów 423 Predefiniowane interfejsy funkcyjne 425 15. Moduły 429 Podstawowe informacje o modułach 430 Przykład prostego modułu 431 Kompilowanie i uruchamianie przykładowej aplikacji 434 Dokładniejsze informacje o instrukcjach requires i exports 435 java.base i moduły platformy 436 Stary kod i moduł nienazwany 437 Eksportowanie do konkretnego modułu 438 Wymagania przechodnie 439 Stosowanie usług 443 Podstawowe informacje o usługach i dostawcach usług 444 Słowa kluczowe związane z usługami 444 Przykład stosowania usług i modułów 445 Dodatkowe cechy modułów 451 Moduły otwarte 451 Instrukcja opens 451 requires static 451 Dalsze samodzielne poznawanie modułów 452 16. Wprowadzenie do Swing 455 Pochodzenie i filozofia Swing 456 Komponenty i kontenery 457 Komponenty 458 Kontenery 458 Panele kontenerów szczytowych 459 Menedżery układu 459 Pierwszy program wykorzystujący Swing 460 Pierwszy program Swing wiersz po wierszu 461 Obsługa zdarzeń w Swing 464 Zdarzenia 464 Obiekty nasłuchujące 465 Klasy zdarzeń i interfejsy obiektów nasłuchujących 465 Komponent JButton 465 Komponent JTextField 468 Komponent JCheckBox 471 Komponent JList 474 Wykorzystanie anonimowych klas wewnętrznych lub wyrażeń lambda do obsługi zdarzeń 481 17. Wprowadzenie do JavaFX 485 Podstawowe pojęcia JavaFX 486 Pakiety JavaFX 486 Klasy Stage oraz Scene 486 Węzły i graf sceny 487 Układy 487 Klasa Application oraz metody cyklu życia 487 Uruchamianie aplikacji JavaFX 488 Szkielet aplikacji JavaFX 488 Kompilacja i uruchamianie programów JavaFX 491 Wątek aplikacji 491 Prosta kontrolka JavaFX: Label 491 Stosowanie przycisków i zdarzeń 493 Podstawy obsługi zdarzeń 493 Przedstawienie kontrolki Button 494 Przedstawienie obsługi zdarzeń i stosowania przycisków 494 Trzy kolejne kontrolki JavaFX 497 Pola wyboru 497 Listy 501 Pola tekstowe 505 Przedstawienie efektów i transformacji 508 Efekty 508 Transformacje 509 Prezentacja zastosowania efektów i transformacji 511 Co dalej? 513 Test sprawdzający 514 A. Rozwiązania testów sprawdzających 515 Rozdział 1. Podstawy Javy 515 Rozdział 2. Typy danych i operatory 517 Rozdział 3. Instrukcje sterujące 518 Rozdział 4. Wprowadzenie do klas, obiektów i metod 520 Rozdział 5. Więcej typów danych i operatorów 521 Rozdział 6. Więcej o metodach i klasach 524 Rozdział 7. Dziedziczenie 528 Rozdział 8. Pakiety i interfejsy 529 Rozdział 9. Obsługa wyjątków 531 Rozdział 10. Obsługa wejścia i wyjścia 533 Rozdział 11. Programowanie wielowątkowe 536 Rozdział 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje 538 Rozdział 13. Typy sparametryzowane 541 Rozdział 14. Wyrażenia lambda i referencje metod 544 Rozdział 15. Moduły 547 Rozdział 16. Wprowadzenie do Swing 548 Rozdział 17. Wprowadzenie do JavaFX 552 B. Komentarze dokumentacyjne 557 Znaczniki javadoc 557 @author 558 {@code} 558 @deprecated 558 {@docRoot} 559 @exception 559 @hidden 559 {@index} 559 {@inheritDoc} 559 {@link} 559 {@linkplain} 560 {@literal} 560 @param 560 @provides 560 @return 560 @see 560 @since 560 @throws 561 @uses 561 {@value} 561 @version 561 Ogólna postać komentarza dokumentacyjnego 561 Wynik działania programu javadoc 561 Przykład użycia komentarzy dokumentacyjnych 562 C. Przegląd technologii Java Web Start 563 Czym jest Java Web Start? 563 Cztery kluczowe aspekty Java Web Start 564 Aplikacje Java Web Start wymagają pliku JAR 564 Aplikacje Java Web Start są podpisywane cyfrowo 564 Java Web Start bazuje na JNLP 565 Tworzenie odnośnika do pliku JNLP 566 Eksperymenty z Java Web Start z wykorzystaniem lokalnego systemu plików 567 Utworzenie pliku JAR aplikacji ButtonDemo 567 Utworzenie magazynu kluczy i podpisanie pliku ButtonDemo.jar 568 Utworzenie pliku JNLP dla aplikacji ButtonDemo 569 Utworzenie pliku HTML o nazwie StartBD.html 570 Dodanie pliku ButtonDemo.jnlp do listy wyjątków w aplikacji Java Control Panel 570 Wykonanie aplikacji ButtonDemo z poziomu przeglądarki 570 Uruchamianie aplikacji Java Web Start przy użyciu programu javaws 571 Stosowanie technologii Java Web Start z apletami 571 D. Wprowadzenie do JShell 573 Podstawy JShell 573 Wyświetlanie, edycja i ponowne wykonywanie kodu 575 Dodanie metody 576 Utworzenie klasy 577 Stosowanie interfejsu 577 Przetwarzanie wyrażeń i wbudowane zmienne 578 Importowanie pakietów 579 Wyjątki 579 Inne polecenia JShell 580 Dalsze poznawanie możliwości JShell 581 E. Więcej słów kluczowych języka Java 583 Modyfikatory transient i volatile 583 instanceof 584 strictfp 584 assert 584 Metody rodzime 585 Inna postać this 585
Sygnatura czytelni BWEAiI: XII N 127
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 146783 (1 egz.)
Czytelnia Główna
Wszystkie egzemplarze są obecnie wypożyczone: sygn. 146773 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Java : a beginner's guide.
Wydanie 8. odnosi się do oryginału.
Na okładce wydawca oryginału: Oracle Press.
1. Podstawy Javy 21 Historia i filozofia Javy 22 Pochodzenie Javy 22 Java a języki C i C++ 23 Wpływ Javy na Internet 23 Magiczny kod bajtowy 25 Coś więcej niż aplety 26 Szybszy harmonogram udostępniania 27 Terminologia Javy 27 Programowanie obiektowe 27 Hermetyzacja 29 Polimorfizm 29 Dziedziczenie 29 Java Development Kit 30 Pierwszy prosty program 31 Wprowadzenie tekstu programu 31 Kompilowanie programu 32 Pierwszy program wiersz po wierszu 33 Obsługa błędów składni 34 Drugi prosty program 35 Inne typy danych 37 Przykład 1.1. Zamiana galonów na litry 38 Dwie instrukcje sterujące 39 Instrukcja if 39 Pętla for 40 Bloki kodu 41 Średnik i pozycja kodu w wierszu 42 Wcięcia 43 Przykład 1.2. Ulepszony konwerter galonów na litry 43 Słowa kluczowe języka Java 44 Identyfikatory 45 Biblioteki klas 45 Test sprawdzający 46 2. Typy danych i operatory 47 Dlaczego typy danych są tak ważne 47 Typy proste 48 Typy całkowite 48 Typy zmiennoprzecinkowe 49 Znaki 50 Typ logiczny 51 Przykład 2.1. Jak daleko uderzył piorun? 52 Literały 53 Literały szesnastkowe, ósemkowe i binarne 53 Specjalne sekwencje znaków 53 Literały łańcuchowe 54 Zmienne 55 Inicjalizacja zmiennej 55 Dynamiczna inicjalizacja 55 Zasięg deklaracji i czas istnienia zmiennych 56 Operatory 58 Operatory arytmetyczne 58 Inkrementacja i dekrementacja 59 Operatory relacyjne i logiczne 60 Warunkowe operatory logiczne 62 Operator przypisania 63 Skrótowe operatory przypisania 63 Konwersje typów w instrukcjach przypisania 64 Rzutowanie typów niezgodnych 65 Priorytet operatorów 67 Przykład 2.2. Tabela prawdy dla operatorów logicznych 67 Wyrażenia 68 Konwersja typów w wyrażeniach 68 Odstępy i nawiasy 70 Test sprawdzający 70 3. Instrukcje sterujące 71 Wprowadzanie znaków z klawiatury 71 Instrukcja if 72 Zagnieżdżanie instrukcji if 73 Drabinka if-else-if 74 Instrukcja switch 75 Zagnieżdżanie instrukcji switch 78 Przykład 3.1. Rozpoczynamy budowę systemu pomocy 78 Pętla for 80 Wariacje na temat pętli for 81 Brakujące elementy 82 Pętla nieskończona 83 Pętle bez ciała 83 Deklaracja zmiennych sterujących wewnątrz pętli 84 Rozszerzona pętla for 85 Pętla while 85 Pętla do-while 86 Przykład 3.2. Ulepszamy system pomocy 88 Przerywanie pętli instrukcją break 90 Zastosowanie break jako formy goto 91 Zastosowanie instrukcji continue 95 Przykład 3.3. Końcowa wersja systemu pomocy 96 Pętle zagnieżdżone 99 Test sprawdzający 99 4. Wprowadzenie do klas, obiektów i metod 101 Podstawy klas 101 Ogólna postać klasy 102 Definiowanie klasy 102 Jak powstają obiekty 105 Referencje obiektów i operacje przypisania 105 Metody 106 Dodajemy metodę do klasy Vehicle 106 Powrót z metody 108 Zwracanie wartości 109 Stosowanie parametrów 110 Dodajemy sparametryzowaną metodę do klasy Vehicle 112 Przykład 4.1. System pomocy jako klasa 113 Konstruktory 117 Konstruktory z parametrami 118 Dodajemy konstruktor do klasy Vehicle 119 Operator new 120 Odzyskiwanie pamięci 120 Słowo kluczowe this 121 Test sprawdzający 122 5. Więcej typów danych i operatorów 123 Tablice 123 Tablice jednowymiarowe 124 Przykład 5.1. Sortowanie tablicy 126 Tablice wielowymiarowe 128 Tablice dwuwymiarowe 128 Tablice nieregularne 129 Tablice o trzech i więcej wymiarach 130 Inicjalizacja tablic wielowymiarowych 130 Alternatywna składnia deklaracji tablic 131 Przypisywanie referencji tablic 131 Wykorzystanie składowej length 132 Przykład 5.2. Klasa Queue 134 Styl for-each pętli for 137 Iteracje w tablicach wielowymiarowych 139 Zastosowania rozszerzonej pętli for 140 Łańcuchy znaków 141 Tworzenie łańcuchów 141 Operacje na łańcuchach 142 Tablice łańcuchów 144 Łańcuchy są niezmienne 144 Stosowanie łańcuchów do sterowania instrukcją switch 145 Wykorzystanie argumentów wywołania programu 146 Stosowanie wnioskowania typów w zmiennych lokalnych 147 Wnioskowanie typów zmiennych lokalnych w przypadku typów referencyjnych 149 Stosowanie wnioskowania typów zmiennych lokalnych w pętlach 150 Ograniczenia var 151 Operatory bitowe 152 Operatory bitowe AND, OR, XOR i NOT 152 Operatory przesunięcia 156 Skrótowe bitowe operatory przypisania 157 Przykład 5.3. Klasa ShowBits 158 Operator ? 160 Test sprawdzający 161 6. Więcej o metodach i klasach 163 Kontrola dostępu do składowych klasy 163 Modyfikatory dostępu w Javie 164 Przykład 6.1. Ulepszamy klasę Queue 167 Przekazywanie obiektów do metod 168 Sposób przekazywania argumentów 169 Zwracanie obiektów 171 Przeciążanie metod 173 Przeciążanie konstruktorów 177 Przykład 6.2. Przeciążamy konstruktor klasy Queue 178 Rekurencja 181 Słowo kluczowe static 182 Bloki static 185 Przykład 6.3. Algorytm Quicksort 186 Klasy zagnieżdżone i klasy wewnętrzne 188 Zmienne liczby argumentów 190 Metody o zmiennej liczbie argumentów 191 Przeciążanie metod o zmiennej liczbie argumentów 193 Zmienna liczba argumentów i niejednoznaczność 194 Test sprawdzający 195 7. Dziedziczenie 197 Podstawy dziedziczenia 197 Dostęp do składowych a dziedziczenie 200 Konstruktory i dziedziczenie 202 Użycie słowa kluczowego super do wywołania konstruktora klasy bazowej 203 Użycie słowa kluczowego super do dostępu do składowych klasy bazowej 207 Przykład 7.1. Tworzymy hierarchię klas Vehicle 207 Wielopoziomowe hierarchie klas 210 Kiedy wywoływane są konstruktory? 212 Referencje klasy bazowej i obiekty klasy pochodnej 213 Przesłanianie metod 217 Przesłanianie metod i polimorfizm 219 Po co przesłaniać metody? 220 Zastosowanie przesłaniania metod w klasie TwoDShape 221 Klasy abstrakcyjne 224 Słowo kluczowe final 227 final zapobiega przesłanianiu 227 final zapobiega dziedziczeniu 227 Użycie final dla zmiennych składowych 228 Klasa Object 229 Test sprawdzający 230 8. Pakiety i interfejsy 231 Pakiety 231 Definiowanie pakietu 232 Wyszukiwanie pakietów i zmienna CLASSPATH 233 Prosty przykład pakietu 233 Pakiety i dostęp do składowych 234 Przykład dostępu do pakietu 235 Składowe chronione 236 Import pakietów 238 Biblioteka klas Java używa pakietów 239 Interfejsy 239 Implementacje interfejsów 241 Referencje interfejsu 244 Przykład 8.1. Tworzymy interfejs Queue 245 Zmienne w interfejsach 249 Interfejsy mogą dziedziczyć 250 Domyślne metody interfejsów 251 Podstawowe informacje o metodach domyślnych 252 Praktyczny przykład metody domyślnej 253 Problemy wielokrotnego dziedziczenia 254 Stosowanie metod statycznych w interfejsach 255 Stosowanie metod prywatnych w interfejsach 256 Ostatnie uwagi o pakietach i interfejsach 257 Test sprawdzający 257 9. Obsługa wyjątków 259 Hierarchia wyjątków 260 Podstawy obsługi wyjątków 260 Słowa kluczowe try i catch 260 Prosty przykład wyjątku 261 Konsekwencje nieprzechwycenia wyjątku 263 Wyjątki umożliwiają obsługę błędów 264 Użycie wielu klauzul catch 265 Przechwytywanie wyjątków klas pochodnych 265 Zagnieżdżanie bloków try 267 Generowanie wyjątku 268 Powtórne generowanie wyjątku 268 Klasa Throwable 269 Klauzula finally 271 Użycie klauzuli throws 272 Trzy dodatkowe możliwości wyjątków 273 Wyjątki wbudowane w Javę 274 Tworzenie klas pochodnych wyjątków 276 Przykład 9.1. Wprowadzamy wyjątki w klasie Queue 278 Test sprawdzający 280 10. Obsługa wejścia i wyjścia 283 Strumienie wejścia i wyjścia 284 Strumienie bajtowe i strumienie znakowe 284 Klasy strumieni bajtowych 284 Klasy strumieni znakowych 284 Strumienie predefiniowane 285 Używanie strumieni bajtowych 286 Odczyt wejścia konsoli 286 Zapis do wyjścia konsoli 288 Odczyt i zapis plików za pomocą strumieni bajtowych 289 Odczyt z pliku 289 Zapis w pliku 292 Automatyczne zamykanie pliku 294 Odczyt i zapis danych binarnych 297 Przykład 10.1. Narzędzie do porównywania plików 299 Pliki o dostępie swobodnym 300 Strumienie znakowe 302 Odczyt konsoli za pomocą strumieni znakowych 303 Obsługa wyjścia konsoli za pomocą strumieni znakowych 305 Obsługa plików za pomocą strumieni znakowych 306 Klasa FileWriter 307 Klasa FileReader 307 Zastosowanie klas opakowujących do konwersji łańcuchów numerycznych 309 Przykład 10.2. System pomocy wykorzystujący pliki 310 Test sprawdzający 316 11. Programowanie wielowątkowe 317 Podstawy wielowątkowości 317 Klasa Thread i interfejs Runnable 318 Tworzenie wątku 319 Usprawnienie i dwie modyfikacje 322 Przykład 11.1. Tworzymy klasę pochodną klasy Thread 325 Tworzenie wielu wątków 327 Jak ustalić, kiedy wątek zakończył działanie? 330 Priorytety wątków 332 Synchronizacja 335 Synchronizacja metod 335 Synchronizacja instrukcji 338 Komunikacja międzywątkowa 340 Przykład użycia metod wait() i notify() 340 Wstrzymywanie, wznawianie i kończenie działania wątków 345 Przykład 11.2. Wykorzystanie głównego wątku 348 Test sprawdzający 349 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje 351 Wyliczenia 352 Podstawy wyliczeń 352 Wyliczenia są klasami 354 Metody values() i valueOf() 354 Konstruktory, metody, zmienne instancji a wyliczenia 355 Dwa ważne ograniczenia 357 Typy wyliczeniowe dziedziczą po klasie Enum 357 Przykład 12.1. Komputerowo sterowana sygnalizacja świetlna 358 Automatyczne opakowywanie 362 Typy opakowujące 363 Podstawy automatycznego opakowywania 364 Automatyczne opakowywanie i metody 365 Automatyczne opakowywanie i wyrażenia 366 Przestroga 368 Import składowych statycznych 368 Adnotacje (metadane) 370 Test sprawdzający 373 13. Typy sparametryzowane 375 Podstawy typów sparametryzowanych 376 Prosty przykład typów sparametryzowanych 376 Parametryzacja dotyczy tylko typów obiektowych 379 Typy sparametryzowane różnią się dla różnych argumentów 379 Klasa sparametryzowana o dwóch parametrach 380 Ogólna postać klasy sparametryzowanej 381 Ograniczanie typów 381 Stosowanie argumentów wieloznacznych 384 Ograniczanie argumentów wieloznacznych 386 Metody sparametryzowane 388 Konstruktory sparametryzowane 390 Interfejsy sparametryzowane 390 Przykład 13.1. Sparametryzowana klasa Queue 393 Typy surowe i tradycyjny kod 396 Wnioskowanie typów i operator diamentowy 399 Wnioskowanie typów zmiennych lokalnych a typy sparametryzowane 400 Wymazywanie 400 Błędy niejednoznaczności 401 Ograniczenia związane z typami sparametryzowanymi 401 Zakaz tworzenia instancji parametru typu 402 Ograniczenia dla składowych statycznych 402 Ograniczenia tablic sparametryzowanych 402 Ograniczenia związane z wyjątkami 403 Dalsze studiowanie typów sparametryzowanych 403 Test sprawdzający 403 14. Wyrażenia lambda i referencje metod 405 Przedstawienie wyrażeń lambda 406 Podstawowe informacje o wyrażeniach lambda 406 Interfejsy funkcyjne 407 Wyrażenia lambda w działaniu 409 Blokowe wyrażenia lambda 412 Sparametryzowane interfejsy funkcyjne 414 Przykład 14.1. Przekazywanie wyrażenia lambda jako argumentu 415 Wyrażenia lambda i przechwytywanie zmiennych 419 Zgłaszanie wyjątków w wyrażeniach lambda 420 Referencje metod 421 Referencje metod statycznych 422 Referencje metod instancyjnych 423 Referencje konstruktorów 427 Predefiniowane interfejsy funkcyjne 429 Test sprawdzający 430 15. Moduły 433 Podstawowe informacje o modułach 434 Przykład prostego modułu 435 Kompilowanie i uruchamianie przykładowej aplikacji 438 Dokładniejsze informacje o instrukcjach requires i exports 439 java.base i moduły platformy 440 Stary kod i moduł nienazwany 441 Eksportowanie do konkretnego modułu 442 Wymagania przechodnie 443 Przykład 15.1. Eksperymenty z instrukcją requires transitive 444 Stosowanie usług 447 Podstawowe informacje o usługach i dostawcach usług 447 Słowa kluczowe związane z usługami 448 Przykład stosowania usług i modułów 448 Dodatkowe cechy modułów 454 Moduły otwarte 455 Instrukcja opens 455 requires static 455 Dalsze samodzielne poznawanie modułów 456 Test sprawdzający 456 16. Wprowadzenie do biblioteki Swing 459 Pochodzenie i filozofia Swing 460 Komponenty i kontenery 461 Komponenty 461 Kontenery 462 Panele kontenerów szczytowych 462 Menedżery układu 463 Pierwszy program wykorzystujący Swing 463 Pierwszy program Swing wiersz po wierszu 465 Obsługa zdarzeń w Swing 467 Zdarzenia 468 Źródła zdarzeń 468 Obiekty nasłuchujące 468 Klasy zdarzeń i interfejsy obiektów nasłuchujących 469 Komponent JButton 469 Komponent JTextField 472 Komponent JCheckBox 475 Komponent JList 477 Przykład 16.1. Porównywanie plików - aplikacja Swing 480 Wykorzystanie anonimowych klas wewnętrznych lub wyrażeń lambda do obsługi zdarzeń 485 Test sprawdzający 486 A. Rozwiązania testów sprawdzających 489 Rozdział 1. Podstawy Javy 489 Rozdział 2. Typy danych i operatory 491 Rozdział 3. Instrukcje sterujące 492 Rozdział 4. Wprowadzenie do klas, obiektów i metod 494 Rozdział 5. Więcej typów danych i operatorów 495 Rozdział 6. Więcej o metodach i klasach 499 Rozdział 7. Dziedziczenie 502 Rozdział 8. Pakiety i interfejsy 504 Rozdział 9. Obsługa wyjątków 506 Rozdział 10. Obsługa wejścia i wyjścia 508 Rozdział 11. Programowanie wielowątkowe 511 Rozdział 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje 513 Rozdział 13. Typy sparametryzowane 516 Rozdział 14. Wyrażenia lambda i referencje metod 519 Rozdział 15. Moduły 522 Rozdział 16. Wprowadzenie do Swing 523 B. Komentarze dokumentacyjne 529 Znaczniki javadoc 529 @author 530 {@code} 530 @deprecated 531 {@docRoot} 531 @exception 531 @hidden 531 {@index} 531 {@inheritDoc} 531 {@link} 531 {@linkplain} 532 {@literal} 532 @param 532 @provides 532 @return 532 @see 532 @since 533 {@summary} 533 @throws 533 @uses 533 {@value} 533 @version 533 Ogólna postać komentarza dokumentacyjnego 533 Wynik działania programu javadoc 534 Przykład użycia komentarzy dokumentacyjnych 534 C. Kompiluj i uruchamiaj proste programy w jednym kroku 537 D. Wprowadzenie do JShell 539 Podstawy JShell 539 Wyświetlanie, edycja i ponowne wykonywanie kodu 541 Dodanie metody 542 Utworzenie klasy 543 Stosowanie interfejsu 543 Przetwarzanie wyrażeń i wbudowane zmienne 544 Importowanie pakietów 545 Wyjątki 546 Inne polecenia JShell 546 Dalsze poznawanie możliwości JShell 547 E. Więcej słów kluczowych języka Java 549 Modyfikatory transient i volatile 549 instanceof 550 strictfp 550 assert 550 Metody rodzime 551 Inna postać this 551
Sygnatura czytelni BWEAiI: XII N 139
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149146 N (1 egz.)
Książka
W koszyku
Wydanie 2. odnosi się do oryginału.
Tytuł oryginału: Introduction to programming in Java.
Indeks.
1. Elementy programowania (19) 1.1. Twój pierwszy program (20) 1.2. Wbudowane typy danych (30) 1.3. Instrukcje warunkowe i pętle (62) 1.4. Tablice (98) 1.5. Operacje wejścia i wyjścia (130) 1.6. Studium przypadku: losowy surfer sieci WWW (170) 2. Funkcje i moduły (189) 2.1. Definiowanie funkcji (190) 2.2. Biblioteki i klienty (220) 2.3. Rekurencja (252) 2.4. Studium przypadku: przesiąkanie (286) 3. Programowanie obiektowe (311) 3.1. Użycie typów danych (312) 3.2. Tworzenie typów danych (358) 3.3. Projektowanie typów danych (400) 3.4. Studium przypadku: symulacja n-ciał (444) 4. Algorytmy i struktury danych (457) 4.1. Wydajność (458) 4.2. Sortowanie i przeszukiwanie (492) 4.3. Stosy i kolejki (524) 4.4. Tablice symboli (578) 4.5. Studium przypadku: zjawisko małego świata (620) API (687)
Sygnatura czytelni BWEAiI: XII N 125
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 146535 N (1 egz.)
Książka
W koszyku
(Head First - Rusz Głową!)
(O'Reilly)
U góry s. tyt. i okł.: Poznaj jezyk Java.
Indeks.
Zawiera układanki, ilustrowane wyjaśnienia, zagadki oraz wywiady z najważniejszymi obiektami Javy. W ten nietypowy sposób uczy zasad programowania zorientowanego obiektowo w języku Java. Zaczynając od zagadnień zupełnie podstawowych, a kończąc na bardzo zaawansowanych, takich jak wątki, połączenia sieciowe oraz programowanie rozproszone przy wykorzystaniu technologii RMI - uczy myśleć jak programista używający obiektowych języków programowania.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 111791 N (1 egz.)
Książka
W koszyku
Java / Katthy Sierra, Bert Bates ; [tłumaczenie Piotr Rajca]. - Gliwice : Wydawnictwo Helion, copyright 2011. - 720 stron : ilustracje, fotografie ; 23 cm.
(Rusz głową!)
Na okładce i stronie tytułowej logo wydawcy oryginału: O'Reilly Media.
Na stronie tytułowej i okładce: Wydanie 2 - dotyczy wydania oryginału.
Indeks.
Metapoznanie - myślenie o myśleniu Oto co możesz zrobić, aby zmusić swój mózg do posłuszeństwa Jak działa Java? Struktura kodu w Javie Anatomia klasy Tworzenie klasy z metodą main Pętle i pętle i... Przykłady pętli while Rozgałęzienia warunkowe Tworzenie poważnej aplikacji biznesowej Program krasomówczy Wycieczka do Obiektowa Wojna o fotel (albo Jak Obiekty Mogą Zmienić Twoje Życie) Na plaży na laptopie Jurka O tym beztrosko zapomniano napisać w specyfikacji A co z metodą obroc() dla "ameby"? Ta niepewność mnie zabije! Kto wygra Superfotel? Tworzenie pierwszego obiektu Tworzenie i testowanie obiektów Film Szybko! Opuszczamy metodę main! Poznaj swoje zmienne Deklarowanie zmiennej "Proszę podwójną. Albo nie - całkowitą!" Naprawdę nie chcesz niczego rozsypywać Tabela słów zarezerwowanych Odwołanie do obiektu to jedynie inna wartość zmiennej Życie na odśmiecanej stercie Tablice także są obiektami Tworzymy tablicę obiektów Pies Przykładowy obiekt Pies Jak działają obiekty? Wielkość ma wpływ na sposób szczekania Do metod można przekazywać informacje Metoda może coś zwrócić Java przekazuje argumenty przez wartość Ciekawe rozwiązania wykorzystujące parametry i wartości wynikowe Hermetyzacja Ukryj dane Jak zachowują się obiekty w tablicy? Deklarowanie i inicjalizacja składowych Różnica pomiędzy składowymi a zmiennymi lokalnymi Porównywanie zmiennych (typów podstawowych oraz odwołań) Supermocne metody Napiszmy grę przypominającą "statki", o nazwie "Zatopić portal" Łagodne wprowadzenie do prostszej wersji gry Pisanie implementacji metod Pisanie kodu testowego dla klasy ProstyPortal Kod testowy dla klasy ProstyPortal Ostateczny kod klas ProstyPortal oraz ProstyPortalTester Kod przygotowawczy klasy ProstyPortalGra Trochę więcej o pętlach for Różnica pomiędzy pętlami for i while Rozszerzone pętle Rzutowanie wartości typów podstawowych Korzystanie z biblioteki Javy Ostatni rozdział zakończył się w dramatycznych okolicznościach - w programie znaleźliśmy błąd Oryginalny kod przygotowawczy fragmentu metody sprawdz() Niektóre możliwości klasy ArrayList ArrayList Porównanie klasy ArrayList ze zwyczajną tablicą Napiszmy właściwą wersję gry "Zatopić portal" Co (i kiedy) robią poszczególne obiekty w grze? Kod przygotowawczy właściwej klasy PortalGraMax Wyrażenia logiczne o bardzo dużych możliwościach Stosowanie biblioteki (Java API) Jak poznać API? Wygodniejsze życie w Obiektowie Zrozumienie dziedziczenia Przykład dziedziczenia Jakie metody należy przesłonić? Jaka metoda jest wywoływana? Projektowanie drzewa dziedziczenia Ale poczekaj! To jeszcze nie wszystko! Jak możesz określić, czy dobrze zaprojektowałeś hierarchię dziedziczenia? Czy korzystanie z dziedziczenia przy projektowaniu klas jest "używaniem", czy "nadużywaniem"? Co w rzeczywistości daje nam dziedziczenie? Jak dotrzymać kontraktu - reguły przesłaniania Przeciążanie metody Poważny polimorfizm Abstrakcyjne kontra konkretne Metody abstrakcyjne Polimorfizm w działaniu Czym jest "superultramegaklasa" Object? Stosowanie polimorficznych odwołań typu Object ma swoją cenę... Kiedy Pies nie zachowuje się jak Pies Object nie szczeka Połącz się ze swoim wewnętrznym Object-em A co, jeśli musimy zmienić kontrakt? Na pomoc spieszą interfejsy! Życie i śmierć obiektu Stos i sterta. Gdzie są przechowywane informacje? Metody są zapisywane na stosie A co ze zmiennymi lokalnymi, które są obiektami? Jeśli zmienne lokalne są przechowywane na stosie, to gdzie są przechowywane składowe? Cud utworzenia obiektu Tworzenie obiektu Kaczka Inicjalizacja stanu nowego obiektu Kaczka Nanoprzegląd. Cztery rzeczy o konstruktorach, które należy zapamiętać Znaczenie konstruktorów klasy bazowej w życiu obiektu Konstruktory klas bazowych pobierające argumenty Wywoływanie jednego przeciążonego konstruktora z poziomu innego Liczby mają znaczenie Metody klasy Math - najlepsze z możliwych odpowiedników metod globalnych Różnice pomiędzy metodami zwyczajnymi a statycznymi Co oznacza, że klasa ma statyczne metody Składowa statyczna - ta sama wartość we wszystkich obiektach danej klasy Inicjalizacja składowych statycznych Rolę stałych pełnią statyczne zmienne finalne Nie tylko zmienne statyczne mogą być finalne Formatowanie liczb Specyfikator formatu Operacje na datach Stosowanie obiektów Calendar Wybrane możliwości API klasy Calendar Ryzykowne działania Stwórzmy program MuzMachina JavaSound API Wyjątek jest obiektem... klasy Exception Finally - blok kodu, który musi zostać wykonany niezależnie od wszystkiego Przechwytywanie wielu wyjątków Reguły związane ze stosowaniem wyjątków Generowanie dźwięków Twój pierwszy odtwarzacz muzyki Tworzenie obiektów MidiEvent (danych piosenki) Komunikat MIDI - serce zdarzenia MidiEvent Zmiana komunikatu Historia bardzo graficzna Wszystko zaczyna się od okna Twój pierwszy interfejs graficzny - przycisk w ramce Przechwytywanie zdarzeń generowanych przez działania użytkownika Odbiorcy, źródła i zdarzenia Stwórz własny komponent umożliwiający rysowanie Odwołanie do porządnej klasy Graphics ukrywa obiekt Graphics2D Układy GUI - wyświetlanie w ramce więcej niż jednego komponentu Jak stworzyć obiekt klasy wewnętrznej? Wykorzystanie klas wewnętrznych do tworzenia animacji Odbieranie zdarzeń niezwiązanych z interfejsem użytkownika Popracuj nad Swingiem Komponenty biblioteki Swing Komponenty można zagnieżdżać Menedżery układu W jaki sposób menedżery układu podejmują decyzje? Różne menedżery układu mają różne zasady rozmieszczania Wielka trójka menedżerów układu: BorderLayout, FlowLayout oraz BoxLayout Zabawy z komponentami biblioteki Swing Tworzenie aplikacji MuzMachina Zapisywanie obiektów Odczytywanie taktów Zapisywanie stanu Zapisywanie serializowanego obiektu do pliku Deserializacja - odtwarzanie obiektów Zapisywanie łańcucha znaków w pliku tekstowym Klasa java.io.File Odczyt zawartości pliku tekstowego Przetwarzanie łańcuchów znaków przy użyciu metody split() Identyfikator wersji - wielki problem serializacji Stosowanie serialVersionUID Zapisywanie kompozycji Nawiąż połączenie Muzyczne pogawędki w czasie rzeczywistym Nawiązywanie połączenia, wysyłanie i odbieranie danych Nawiązanie połączenia sieciowego Port TCP to tylko numer. 16-bitowa liczba identyfikująca konkretny program na serwerze Aby odczytywać dane z gniazda, należy użyć strumienia BufferedReader Aby zapisać dane w gnieździe, użyj strumienia PrintWriter Program CodziennePoradyKlient Kod programu CodziennePoradyKlient Tworzenie prostego serwera Kod aplikacji CodziennePoradySerwer Tworzenie klienta pogawędek Możliwość stosowania wielu wątków w Javie zapewnia jedna klasa - Thread Jakie są konsekwencje posiadania więcej niż jednego stosu wywołań? Aby stworzyć zadanie dla wątku, zaimplementuj interfejs Runnable Mechanizm zarządzający wątkami Usypianie wątku Usypianie wątków w celu zapewnienia bardziej przewidywalnego działania programu Tworzenie i uruchamianie dwóch wątków Cóż... Tak, możemy. JEST pewien problem związany ze stosowaniem wątków Problem Moniki i Roberta w formie kodu Przykład Moniki i Roberta Musimy wykonać metodę pobierzGotowke() jako operację atomową Stosowanie blokady obiektu Przerażający problem "utraconej modyfikacji" Wykonajmy ten przykładowy kod... Zadeklaruj metodę inkrementuj() jako metodę atomową. Synchronizuj ją! Mroczna strona synchronizacji Nowa i poprawiona wersja programu ProstyKlientPogawedek Naprawdę prosty serwer pogawędek Struktury danych ArrayList nie jest jedyną dostępną kolekcją Deklaracja metody sort() Poznajemy typy ogólne Używanie KLAS uogólnionych Stosowanie METOD uogólnionych Ponownie odwiedzimy metodę sort() Stosowanie własnych komparatorów Potrzebujemy zbioru, a nie listy Biblioteka kolekcji (fragment) Stosowanie argumentów polimorficznych i typów ogólnych Znaki wieloznaczne śpieszą z pomocą Rozpowszechnij swój kod Wdrażanie aplikacji Oddzielanie kodu źródłowego od plików klasowych Umieszczanie programów w archiwach JAR Uruchamianie (wykonywanie) archiwum JAR Umieść klasy w pakietach Zapobieganie konfliktom nazw pakietów Kompilacja i uruchamianie programu, w którym wykorzystywane są pakiety Flaga -d jest nawet lepsza, niż twierdziliśmy Tworzenie wykonywalnego archiwum JAR zawierającego pakiety Java Web Start Plik .jnlp Przetwarzanie rozproszone RMI udostępnia obiekty pomocnicze klienta i serwera Bardzo prosty serwlet Tak dla zabawy przeróbmy nasz program krasomówczy na serwlet Enterprise JavaBeans - RMI na środkach dopingujących I na samym końcu przedstawiamy... małego dżina Jini Odkrywanie adaptacyjne w akcji Ostatnie doprawianie kodu Ostateczna wersja programu MuzMachina Ostateczna wersja serwera aplikacji MuzMachina Dziesięć najważniejszych zagadnień, które niemal znalazły się w tej książce...
Sygnatura czytelni BWEAiI: XII N 20
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 145251 (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 126900 N (1 egz.)
Książka
W koszyku
(Head First)
(Rusz Głową!)
Wydanie 3. odnosi się do oryginału. Na stronie tytułowej i okładce także nazwa wydawcy oryginału: No O'Reilly.
Indeks.
Przełamując zalew początkowych trudności. Szybki skok na głęboką wodę Wycieczka do Obiektowa. Klasy i obiekty Poznaj swoje zmienne. Typy podstawowe i odwołania Jak działają obiekty. Metody wykorzystują zmienne instancyjne Supermocne metody. Pisanie programu Korzystanie z biblioteki Javy. Poznaj Java API Wygodniejsze życie w Obiektowie. Dziedziczenie i polimorfizm Poważny polimorfizm. Interfejsy i klasy abstrakcyjne Życie i śmierć obiektu. Konstruktory i odśmiecacz Liczby mają znaczenie. Liczby oraz składowe statyczne Struktury danych. Kolekcje i typy ogólne Co, a nie jak. Wyrażenia lambda i strumienie Ryzykowne zachowanie. Obsługa wyjątków Historia bardzo graficzna. Tworzenie graficznego interfejsu użytkownika Popracuj nad Swingiem. Stosowanie biblioteki Swing Zapisywanie obiektów (i tekstu). Serializacja i operacje wejścia-wyjścia na plikach Nawiąż połączenie. Zagadnienia sieciowe i wątki Rozwiązywanie problemów współbieżności. Warunki współzawodnictwa i dane niemodyfikowalne Ostatnie doprawianie kodu
Sygnatura czytelni BWEAiI: XII N 169
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 154676 N (1 egz.)
Książka
W koszyku
(O'Reilly)
Tyt. oryg.: Java Power Tools.
Na okł.: Poznaj narzędzia, które ułatwią Twoją pracę! Jak zapewnić wysoką jakość tworzonego rozwiązania? Jak wprowadzić proces ciągłej integracji? Jak testować kod?
Bibliogr. s. 855-856. Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 123766 N (1 egz.)
Książka
W koszyku
Testowanie aplikacji Java za pomocą JUnit / Radosław Sokół. - Gliwice : Wydawnictwo Helion, copyright 2018. - 174 strony : ilustracje ; 24 cm.
Indeks.
Testy jednostkowe Ścieżki kodu Testy jednostkowe Wykorzystanie biblioteki JUnit Klasy testów Szkielet klasy testu Pierwsze testy Uruchomienie testów Raport z testów Spodziewanie się sytuacji wyjątkowej Cykl życia klasy testów Inne założenia testowe Ignorowanie testów Pokrycie testami Refaktoryzacja Klasa poddawana refaktoryzacji Testy Klasa po poprawkach Refaktoryzacja Imitacje Klasy imitacji Podstawy Główny moduł aplikacji przed dostosowaniem do testów Dostosowanie głównego modułu aplikacji do testów Utworzenie imitacji klasy przechowywania danych Testowanie głównego modułu aplikacji Usuwanie usterek Obiekty imitacji Biblioteka Mockito Najprostszy przykład wykorzystania Imitacja modułu składowania danych ocen Swobodne konfigurowanie obiektów imitacji Zliczanie wywołań imitowanych metod Tworzenie obiektów imitacji na bazie klas imitacji Płynne definicje testów Biblioteka AssertJ Budowanie kryteriów Klasa przykładowa Testy jednostkowe Kompletna treść przykładu Inne kryteria Typy skalarne Typy tablicowe i kolekcje Programowanie ukierunkowane na testy Programowanie bazujące na kontraktach Kontrakty wejściowe Kontrakty wyjściowe Programowanie ukierunkowane na testy Projekt klasy Testy jednostkowe Uzupełnianie implementacji Kompletna implementacja Programowanie wspomagane testami Interfejs klasy Szkielet klasy Implementacja i testy Imitowanie baz danych Dołączanie Derby do projektu Definiowanie testowej jednostki utrwalania Tworzenie zarządcy utrwalania Szkielet klasy testowej Przykład wykorzystania Klasa encji zakładki strony Klasa usługi zarządzania zakładkami Całość tekstu źródłowego
Sygnatura czytelni BWEAiI: XII N 113
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 145377 N (1 egz.)
Brak okładki
Książka
CD
W koszyku
Murach's Beginning Java 2 : Includes Version 1.3 and 1.4 / Andrea Steelman. - Fresno : Mike Murach & Associates, 2001. - XVIII, 712 s. : rys., tab. ; 26 cm + dysk optyczny (CD-ROM).
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. Z 7870 (1 egz.)
Brak okładki
Książka
CD
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. Z 7871 (1 egz.)
Brak okładki
Książka
W koszyku
(Core)
Bibliogr. s. [353]-356. Indeks.
Streszczenie: W książce znajdują się wszystkie informacje o obsłudze wyjątków, ich typach oraz mechanizmach ich powstawania, jak również wzorce projektowe oraz narzędzia do testowania kodu. Uczy jak zaimplementować obsługę wyjątków i poprawić jakość kodu źródłowego. Zaznajamia z modelami wyjątków i zarządzaniem mechanizmami, ich obsługą na poziomie aplikacji i pojedynczych modułów. Przedstawia wzorce projektowe zapewniające prawidłową obsługę wyjątków.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 111798 N (1 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Magazyn
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 101699 LE (1 egz.)
Książka
W koszyku
(Po Prostu)
Indeks.
Dla początkujących użytkowników Internetu.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 114093 (1 egz.)
Brak okładki
Książka
W koszyku
Na okładce: Zawiera omówienie nowych funkcji Java 9 i 10.
Na grzbiecie i 4 stronie okładki nazwa wydawnictwa oryginału: Manning.
Tytuł oryginału : Modern Java in action : lambdas, streams, functional and reactive programming.
Indeks.
Dla programistów zaznajomionych z podstawowymi funkcjami Javy.
1.Java 8, 9,10 i 11: co się dzieje? 1.1Jak to wszystko wygląda? 1.2Dlaczego Java ciągle się zmienia? 1.3 Miejsce języka Java w ekosystemie języków programowania 1.4Przetwarzanie strumieni 1.5 Przekazywanie kodu do metod za pomocą parametryzacji zachowania 1.6Równoległość i współdzielone dane modyfikowalne 1.7Java musi ewoluować 1.8Funkcje w Javie 1.9Metody i wyrażenia lambda jako obywatele pierwszej kategorii 1.10 Przekazywanie kodu: przykład 1.11Od przekazywania metod do wyrażeń lambda 1.12 Strumienie 1.13Wielowątkowość jest trudna 1.14Metody domyślne i moduły Java 1.15Inne dobre pomysły z programowania funkcyjnego 2.Przekazywanie kodu z parametryzacją zachowania 2.1Radzenie sobie ze zmieniającymi się wymaganiami Pierwsza próba: filtrowanie zielonych jabłek Druga próba: parametryzacja koloru Trzecia próba: filtrowanie z użyciem dowolnego atrybutu, jaki przyjdzie nam na myśl 2.2Parametryzacja zachowania 2.3Czwarta próba: filtrowanie na podstawie kryteriów abstrakcyjnych 2.4Zwalczanie rozwlekłości 2.5Klasy anonimowe Pięta próba: korzystanie z anonimowych klas Szósta próba: korzystanie z wyrażeń lambda Siódma próba: wyabstrahowany typ List 2.4 Przykłady praktyczne Sortowanie z użyciem komparatora Wykonywanie bloku kodu z użyciem interfejsu Runnable Zwracanie rezultatu z użyciem interfejsu Callable Obsługa zdarzeń graficznego interfejsu użytkownika 3. Wyrażenia lambda 3.1Wyrażenia lambda w pigułce 3.2Gdzie i jak używać wyrażeń lambda 3.3Interfejs funkcyjny 3.4Deskryptor funkcji 3.5Wyrażenia lambda w praktyce: wzorzec execute-around 3.6Krok 1: Pamiętaj o parametryzacji zachowania 3.7Krok 2: Do przekazania zachowań użyj interfejsu funkcyjnego 3.8Krok 3: Wykonaj zachowanie! 3.9Krok 4: Przekazanie wyrażeń lambda 3.10 Korzystanie z interfejsów funkcyjnych 3.11 Interfejs Predicate 3.12 Interfejs Consumer 3.13 Interfejs Function 3.14 Sprawdzanie typu, wnioskowanie o typach i ograniczenia 3.15 Sprawdzanie typu 3.16 To samo wyrażenie, różne interfejsy funkcyjne 3.17 Wnioskowanie o typach 3.18 Korzystanie ze zmiennych lokalnych 3.19 Referencje do metod 3.20 W dużym skrócie 3.21 Referencje do konstruktorów 3.22 Wyrażenia lambda i referencje do metod w praktyce! 3.23 Krok 1: Przekaż kod 3.24 Krok 2: Użyj anonimowej klasy 3.25 Krok 3: Użyj wyrażenia lambda 3.26 Krok 4: Użyj referencji do metody 3.27 Przydatne metody do tworzenia wyrażeń lambda 3.28 Komponowanie komparatorów 3.29 Komponowanie predykatów 3.30 Komponowanie funkcji 3.31 Podobne koncepcje w matematyce 3.32 Całkowanie 3.33 Łączenie z wyrażeniami lambda w Javie 8 CZĘŚĆ 2. FUNKCYJNE PRZETWARZANIE DANYCH Z UŻYCIEM STRUMIENI 4.Wprowadzenie do strumieni 4.1Czym są strumienie? 4.2Rozpoczynanie pracy ze strumieniami 4.3Strumienie a kolekcje 4.4Jednokrotne przechodzenie po elementach 4.5Iteracja zewnętrzna i iteracja wewnętrzna 4.6Operacje na strumieniach 4.7Operacje pośrednie 4.8Operacje końcowe 4.9Praca ze strumieniami 4.10 Mapa drogowa 5.Praca ze strumieniami 5.1Filtrowanie 5.2Filtrowanie z użyciem predykatu 5.1.2 Filtrowanie unikatowych elementów 5.3Podział strumienia 5.4Podział z użyciem predykatu 5.5Przycinanie strumienia 5.6Pomijanie elementów 5.7Mapowanie 5.8Aplikowanie funkcji do każdego elementu strumienia 5.9Spłaszczanie strumieni 5.10Wyszukiwanie i dopasowywanie 5.11 Sprawdzanie, czy predykat pasuje do co najmniej jednego elementu 5.12 Sprawdzanie, czy predykat pasuje do wszystkich elementów 5.13 Wyszukiwanie elementu 5.14 Znajdywanie pierwszego elementu 5.15Redukowanie 5.16 Sumowanie elementów 5.17 Maksimum i minimum 5.18Strumienie w praktyce 5.19 Dziedzina: handlarze i transakcje 5.20 Rozwiązania 5.21Strumienie numeryczne 5.22 Specjalizacje strumieni prymitywnych 5.23 Zakresy numeryczne 5.24 Strumienie numeryczne w praktyce: trójki pitagorejskie 5.25Tworzenie strumieni 5.26 Strumienie tworzone z wartości 5.27 Strumień z obiektu nullable 5.28 Strumienie tworzone z tablic 5.29 Strumienie tworzone z plików 5.30Tworzenie strumieni z funkcji: tworzenie strumieni nieskończonych! 5.31Przegląd 6.Zbieranie danych z użyciem strumieni 6.1Kolektory w skrócie 6.2Kolektory jako zaawansowane redukcje 6.3Predefiniowane kolektory 6.4Redukowanie i podsumowywanie 6.5Wyszukiwanie maksymalnej i minimalnej wartości w strumieniu 6.6Łączenie łańcuchów tekstowych 6.7Uogólnione podsumowywanie za pomocą redukcji 6.8Grupowanie 6.9Manipulowanie pogrupowanymi elementami 6.10 Grupowanie wielopoziomowe 6.11 Kolekcjonowanie danych w podgrupach 6.12 Partycjonowanie 6.13 Partycjonowanie zaawansowane 6.14 Partycjonowanie liczb na liczby pierwsze i nie będące pierwszymi 6.15 Interfejs Collector 6.16 Sens istnienia metod deklarowanych przez interfejs Collector 6.17 Łączymy wszystko w jedną całość 6.18 Rozwijanie własnego kolektora w celu uzyskania lepszej wydajności Dzielenie wyłącznie przez liczby pierwsze Porównywanie wydajności kolektorów 7.Równoległe przetwarzanie danych i wydajność 7.1Strumienie równoległe 7.2Zamiana strumienia sekwencyjnego na równoległy 7.3Dokonywanie pomiaru wydajności strumienia 7.4Poprawne korzystanie ze strumieni równoległych 7.5Efektywne korzystanie ze strumieni równoległych 7.6Model rozwidlania i złączania 7.7Praca z RecursiveTask 7.8Najlepsze praktyki korzystania z modelu fork/join 7.9Kradzież pracy 7.10 Spliterator 7.11Proces podziału 7.12 Implementowanie własnego spliteratora CZĘŚĆ 3. EFEKTYWNE PROGRAMOWANIE Z UŻYCIEM STRUMIENI I WYRAŻEŃ LAMBDA 8.Rozszerzenia API kolekcji 8.1 Fabryki kolekcji Fabryka list Fabryka zbiorów Fabryki map 8.2. Praca z listami i zbiorami removelf replaceAll 8.3Praca z kolekcją Map 8.4forEach 8.5Sortowanie 8.6getOrDefault 8.7Wzorce Compute 8.8Wzorce Remove 8.9Wzorce Replace 8.10Scalanie 8.11 Usprawniona klasa ConcurrentHashMap 8.12 Metody reduce i search 8.13 Zliczanie 8.14Widoki zbiorów 9.Refaktoryzacja, testowanie i dehugowanie 9.1Refaktoryzowanie w celu zwiększenia czytelności i elastyczności 9.2Podnoszenie czytelności kodu 9.3Z klas anonimowych na wyrażenia lambda 9.4Z wyrażeń lambda na referencje do metod 9.5Od imperatywnego przetwarzania kodu do strumieni 9.6Zwiększanie elastyczności kodu 9.7Refaktoryzacja zorientowanych obiektowo wzorców projektowych z użyciem wyrażeń lambda Strategia Metoda szablonowa Obserwator Łańcuch odpowiedzialności Fabryka 9.3Testowanie wyrażeń lambda Testowanie zachowania widocznego wyrażenia lambda Skupianie się na zachowaniu metody z wykorzystaniem wyrażenia lambda Wyciąganie złożonych wyrażeń lambda do oddzielnych metod Testowanie funkcji wyższego rzędu 9.4Debugowanie Sprawdzanie wywołań stosu Rejestrowanie informacji 10.Tworzenie języków dziedzinowych z użyciem wyrażeń lambda 10.1Specyficzny język dla naszej dziedziny 10.2Zalety i wady języków dziedzinowych 10.3Różne warianty języków dziedzinowych na wirtualnej maszynie Javy 10.4Małe języki dziedzinowe w nowoczesnych API Javy 10.5Strumienie jako język dziedzinowy do manipulowania kolekcjami 10.6Kolektory jako język dziedzinowy do agregowania danych 10.7Wzorce i techniki do tworzenia języków dziedzinowych w Javie Łączenie metod Funkcje zagnieżdżone Sekwencjonowanie funkcji z użyciem wyrażeń lambda Łączymy wszystko w jedną całość Korzystanie z referencji do metod w języku dziedzinowym 10.4 Język dziedzinowy Javy 8 w praktyce jOOQ Cucumber Spring Integration CZĘŚĆ 4. JAVA NA CO DZIEŃ 11.Klasa Optional jako lepsza alternatywa dla null 11.1W jaki sposób modelować brak wartości? 11.2 Redukowanie wyjątków NullPointerException za pomocą defensywnego sprawdzania 11.3Problemy z nuli 11.4Jakie są alternatywy dla nuli w innych językach? 12.1Wprowadzenie do klasy Optional 11.1Wzorce używane do adopcji klasy Optional 11.2Tworzenie obiektów opcjonalnych 11.3Wyodrębnianie i przekształcanie wartości z obiektów opcjonalnych za pomocą map Łączenie obiektów opcjonalnych za pomocą metody flatMap Manipulowanie strumieniem obiektów opcjonalnych Domyślne akcje i odpakowywanie obiektów opcjonalnych Łączenie dwóch obiektów opcjonalnych Odrzucanie pewnych wartości za pomocą metody filter 11.4Praktyczne przykłady wykorzystania klasy Optional Opakowywanie potencjalnych wartości null obiektem opcjonalnym Wyjątki kontra obiekty opcjonalne Prymitywne obiekty opcjonalne i dlaczego nie warto ich używać Łączymy wszystko w jedną całość 12.Nowe API daty i godziny 12.1LocalDate, LocalTime, Instant, Duration i Period 12.2Praca z LocalDate i LocalTime 12.3Łączenie daty i godziny 12.4Instant: data i godzina dla maszyn 12.5Definiowanie instancji Duration i Period 12.6Manipulowanie, parsowanie i formatowanie dat 12.7Praca z obiektami Temp oral Adjuster 12.8Wypisywanie i parsowanie obiektów daty i godziny 12.9Praca z różnymi strefami czasowymi i kalendarzami 12.10Korzystanie ze stref czasowych 12.11Stałe przesunięcie z UTC/Greenwich 12.12Korzystanie z alternatywnych systemów kalendarzowych 13.Metody domyślne 13.1Rozwijanie istniejącego API 13.2API w wersji 1API w wersji 2 13.3Metody domyślne w skrócie 13.4Wzorce użycia dla metod domyślnych 13.5Metody opcjonalne 13.6Wielokrotne dziedziczenie zachowania 13.7Reguły rozwiązywania 13.8Trzy reguły rozwiązywania, o których trzeba wiedzieć 13.9Wygrywa najbardziej szczegółowy interfejs dostarczający metodę domyślną Konflikty i jawne rozwiewanie wątpliwości Problem diamentowy 14.System modułów Javy 14.1Siła napędowa: myślenie o oprogramowaniu 14.2Podział odpowiedzialności 14.3Ukrywanie informacji 14.4Oprogramowanie w Javie 14.5Dlaczego powstał system modułów Javy? 14.6 Ograniczenia modularności 14.7Monolityczne JDK 14.8Porównanie z OSGi 14.9Moduły Javy - szersza perspektywa 14.10 Rozwijanie aplikacji z systemem modułów Javy 14.11 Przygotowywanie aplikacji 14.12 Podstawy systemu modułów Javy 14.13 Podstawy systemu modułów Javy 14.14Praca z kilkoma modułami 14.15 Klauzula exports 14.16Klauzula requires 14.17Nazewnictwo 14.18Kompilowanie i pakowanie 14.19Moduły automatyczne 14.20Deklaracja modułu i klauzule 14.21 Requires 14.22 Exports 14.23 requires transative 14.24 exports to 14.25 open i opens 14.26 uses i provides 14.27 Większy przykład i gdzie dowiedzieć się więcej Część 5. ROZSZERZONA WSPÓŁBIEŻNOŚĆ JAVY 15.Koncepcje stojące za interfejsem CompletableFuture i programowaniem reaktywnym Rozwój wsparcia Javy dla wyrażania współbieżności Wątki i abstrakcje wyższego poziomu Wykonawcy i pule wątków Inne abstrakcje wątków - niezagnieżdżone z wywołaniami metod Czego chcemy od wątków? 15.1Synchroniczne i asynchroniczne APIAPI z wykorzystaniem obiektów Future: 15.2API w stylu reaktywnym: 15.3Uśpienie (i inne operacje blokowania) uznawane za szkodliwe 15.4W jaki sposób wyjątki działają z asynchronicznymi API? 15.5Model skrzynek i kanałów 15.6CompletableFuture i kombinatory dla współbieżności 15.7Protokół publikacji i subskrypcji oraz programowanie reaktywne 15.8Przykład sumowania dwóch zdarzeń Flow 15.9Wąskie gardłoProsta forma prawdziwego wąskiego gardła 15.10Reaktywne systemy kontra reaktywne programowanie 15.11Mapa drogowa 16.CompletableFuture: kompozycyjne programowanie asynchroniczne 16.1Proste użycie obiektów Future 16.2Obiekty Future i ich ograniczenia 16.3Korzystanie z obiektów CompletableFuture w celu budowy aplikacji asynchronicznej 16.4Implementowanie asynchronicznego API 16.5Konwertowanie metody synchronicznej na metodę asynchroniczną 16.6Obsługa błędów 16.7Pisanie kodu, który się nie blokuje 16.8Zrównoleglanie żądań z użyciem strumieni równoległych 16.9Tworzenie asynchronicznych żądań przy użyciu obiektów CompletableFuture Poszukiwanie rozwiązania, które skaluje się lepiej Korzystanie z niestandardowego wykonawcy 16.4Tworzenie przepływu asynchronicznych zadań 16.5Implementowanie usługi zniżek 16.6Korzystanie z usługi Discount 16.7Komponowanie synchronicznych i asynchronicznych operacji 16.8Łączenie dwóch obiektów CompletableFuture - zależnego i niezależnego 16.9Refleksje na temat obiektów Future i CompletableFuture 16.10 Efektywne korzystanie z wartości przekroczenia dozwolonego czasu 16.11 Reagowanie na ukończenie obiektu CompletableFuture 16.12 Refaktoryzacja aplikacji do wyszukiwania najlepszej ceny 16.13 Łączymy wszystko w jeden przykład praktyczny 16.14 Mapa drogowa 17.Programowanie reaktywne 17.1Manifest reaktywny 17.2Reaktywność na poziomie aplikacji 17.3Reaktywność na poziomie systemu 17.4Reaktywne strumienie oraz API Flow 17.5Wprowadzenie do klasy Flow 17.6Nasza pierwsza reaktywna aplikacja 17.7Przekształcanie danych z użyciem interfejsu Processor 17.8Dlaczego Java nie dostarcza implementacji API Flow? 17.9Korzystanie ze biblioteki reaktywnej Rxjava 17.10Tworzenie i korzystanie z obiektów Observable 17.11Przekształcanie i łączenie obiektów Observable CZĘŚĆ 6. PROGRAMOWANIE FUNKCYJNE I DALSZY ROZWÓJ JĘZYKA JAVA 18.Myślenie funkcyjne 18.1Implementowanie i utrzymywanie systemów 18.2Współdzielone dane modyfikowalne 18.3Programowanie deklaratywne 18.4Dlaczego programowanie funkcyjne? 18.5Czym jest programowanie funkcyjne? 18.6 Java w stylu funkcyjnym 18.7Transparentność referencyjna 18.8Programowanie obiektowo zorientowane a programowanie funkcyjne 18.9Styl funkcyjny w praktyce 18.10Rekurencja kontra iteracja 19.Techniki programowania funkcyjnego 19.2 Wszechobecne funkcje Funkcje wyższego rzędu Rozwijanie funkcji 19.2Trwale struktury danych 19.3Destrukcyjne aktualizacje kontra programowanie funkcyjne 19.4Kolejny przykład z drzewami 19.5Korzystanie z podejścia funkcyjnego 19.6Leniwa ewaluacja z użyciem strumieni 19.7Samodefiniujący się strumień 19.8Nasze własne leniwe listy 19.9Dopasowanie do wzorców 19.10Wzorzec projektowy odwiedzającego 19.11Dopasowywanie do wzorców na ratunek 19.12 Różności 19.13 Buforowanie lub memoizacja 19.14Co oznacza „zwraca ten sam obiekt"? 19.15 Kombinatory 20.Mieszanie programowania funkcyjnegoi zorientowanego obiektowo: Java i Scala 20.1Wprowadzenie do języka Scala 20.2Przykład „Hello beer" 20.3Podstawowe struktury danych: List, Set, Map, Tuple, Stream i Option 20.4Funkcje 20.5Funkcje pierwszej kategorii w Scali 20.6Funkcje anonimowe i domknięcia 20.7Rozwijanie funkcji 20.8Klasy i cechy 20.9Mniej rozwlekłości z klasami w Scali 20.10Cechy w Scali kontra interfejsy w Javie 21.Konkluzje oraz co dalej z Java 21.1Podsumowanie funkcji Javy 8 21.2Parametryzacja zachowania (wyrażenia lambda i referencje do metod) 21.3Strumienie 21.4CompletableFuture 21.5Optional 21.6API Flow 21.7Metody domyślne 21.8Podsumowanie systemu modułów Javy 9 21.9Wnioskowanie o typach lokalnych zmiennych w Javie 10 21.10 Co przyniesie Javie przyszłość? 21.11 Wariancja po stronie deklaracji 21.12 Dopasowywanie do wzorców 21.13 Bogatsza forma generyków 21.14 Większe wsparcie dla niezmienności 21.15 Typy wartości 21.16 Przyspieszanie rozwoju języka Java 21.17 Słowo końcowe Dodatek A. Różne aktualizacje języka Dodatek B. Różne aktualizacje bibliotek Dodatek C. Równoległe wykonywanie wielu operacji na strumieniu Dodatek D. Wyrażenia lambda i kod pośredni maszyny wirtualnej Javy
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 146925 (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
Indeks.
1.Rozpoczynanie podróży Tematy Funkcje języka Java Projekt i architektura oprogramowania Zasady SOLID Testowanie 2.Analizator wyciągów bankowych Wymagania wobec projektu analizatora wyciągów bankowych Zasada KISS Zmienne finał Łatwość utrzymania i antywzorce Boska klasa Powielanie kodu Zasada pojedynczej odpowiedzialności Spójność Spójność na poziomie klas Spójność na poziomie metod Zależność Testowanie Testowanie automatyczne Korzystanie z JUnit Pokrycie kodu Wnioski Utrwalenie wiedzy Podsumowanie wyzwania 3.Rozszerzanie analizatora wyciągów bankowych Wymagania wobec rozszerzonego analizatora wyciągów bankowych Zasada otwarte-zamknięte Tworzenie wystąpienia interfejsu funkcjonalnego Wyrażenia lambda Pułapki interfejsów Boski interfejs Zbyt szczegółowy interfejs API jawne kontra niejawne Klasy domenowe czy wartości pierwotne? Wiele eksporterów Wprowadzenie obiektu domenowego Definiowanie i implementowanie odpowiedniego interfejsu Obsługa wyjątków Dlaczego warto używać wyjątków? Wzorce i antywzorce stosowania wyjątków Wytyczne dotyczące stosowania wyjątków Alternatywy dla wyjątków Stosowanie narzędzia kompilacji Dlaczego warto używać narzędzi kompilacji? Korzystanie z Maven Korzystanie z Gradle 4.System zarządzania dokumentami Wymagania wobec systemu zarządzania dokumentami Rozwijanie projektu Importery Klasa Document Atrybuty i hierarchia dokumentów Implementowanie i rejestrowanie importerów Zasada podstawienia Liskov (LSP) Alternatywne podejścia Zastosowanie klasy Importer Opcje związane z zasięgiem i hermetyzacją Rozszerzanie i ponowne używanie kodu Higiena testów Nazewnictwo testów Zachowanie, a nie implementacja Nie powtarzaj się Dobra diagnostyka Testowanie błędów Stałe 5.Silnik reguł biznesowych Wymagania wobec silnika reguł biznesowych Programowanie sterowane testami Dlaczego warto używać techniki TDD? Cykl TDD Stosowanie atrap Dodawanie warunków Modelowanie stanu Wnioskowanie typu zmiennej lokalnej Wyrażenia switch Zasada segregacji interfejsów Projektowanie Fluent API Czym jest Fluent API? Modelowanie domeny Wzorzec Budowniczy 6.Twootr Wymagania wobec systemu Twootr Przegląd projektu Komunikacja typu puli Komunikacja typu push Od zdarzeń do projektu Komunikacja Graficzny interfejs użytkownika Utrwalanie Architektura sześciokątna Od czego zacząć Hasła i bezpieczeństwo Obserwatorzy i twooty Modelowanie błędów Twootowanie Tworzenie atrap Weryfikowanie przy użyciu atrap obiektów Biblioteki do stosowania atrap obiektów SenderEndPoint Pozycje Metody eąuals i hashcode Kontrakt między eąuals a hashCode 7.Rozszerzanie Twootra Utrwalanie i wzorzec Repozytorium Projektowanie repozytoriów Obiekty kwerend Programowanie funkcyjne Wyrażenia lambda Odwołania do metod Execute Around Strumienie Optional Interfejs użytkownika Odwrócenie zależności i wstrzykiwanie zależności Pakiety i systemy kompilacji Ograniczenia i uproszczenia
Sygnatura czytelni BWEAiI: XII N 142
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149407 N (1 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 93770 L, 93772, 93771 (3 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 93775, 93774, 93773 L (3 egz.)
Książka
W koszyku
Java : programowanie obiektowe / Marek Wierzbicki. - Gliwice : Wydawnictwo Helion, cop. 2006. - 262 s. : il. ; 24 cm.
U góry s. tyt. i okł.: Doskonałe wprowadzenie w świat obiektowości.
Bibliogr. s. [249]-250. Indeks.
Sygnatura czytelni BWEAiI: XII N 56
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 114616 N (1 egz.)
Książka
W koszyku
Bibliografia na stronach [439]-440. Indeks.
Dla programistów.
Rozdział 1. Zanim wystartujemy Czym powinien się charakteryzować algorytm? Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych —1804— —1830 i później— —1890— —lata 30. XX w. —lata 40. XX w. — —okres powojenny — —1969— —teraz— Jak to się niedawno odbyło, czyli o tym, kto „wymyślił" metodologię programowania Proces koncepcji programów Poziomy abstrakcji opisu i wybór języka Modelowanie działania algorytmów (maszyna Turinga) Poprawność algorytmów Rozdział 2. Systemy obliczeniowe i podstawy kodowania System dziesiętny i kilka definicji System dwójkowy Operacje arytmetyczne na liczbach dwójkowych Operacje logiczne na liczbach dwójkowych Kod BCD System ósemkowy System szesnastkowy Kodowanie liczb ze znakiem Kod znak-moduł (ZM) Kod U2 (system uzupełnienia dwójkowego) Zmienne w pamięci komputera Kodowanie znaków Kodowanie obrazów Mapy bitowe na przykładzie formatu BMP Rozdział 3. Rekurencja Definicja rekurencji Ilustracja pojęcia rekurencji Jak wykonują się programy rekurencyjne? Niebezpieczeństwa rekurencji Ciąg Fibonacciego Stack overflow! Pułapek ciąg dalszy Stąd do wieczności Definicja poprawna, ale Typy programów rekurencyjnych Myślenie rekurencyjne Przykład 1. Spirala Przykład 2. Kwadraty „parzyste" Uwagi praktyczne na temat technik rekurencyjnych Rozdział 4. Analiza złożoności algorytmów Jeszcze raz funkcja silnia Zerowanie fragmentu tablicy Wpadamy w pułapkę Różne typy złożoności obliczeniowej Nowe zadanie: uprościć obliczenia! Analiza programów rekurencyjnych Terminologia i definicje Ilustracja metody na przykładzie Rozkład logarytmiczny Przeszukiwanie binarne... tym razem bez matematyki wyższej! Zamiana dziedziny równania rekurencyjnego Funkcja Ackermanna, czyli coś dla smakoszy Złożoność obliczeniowa to nie religia! Techniki optymalizacji programów Rozdział 5. Podstawy modelowania danych Typy proste i złożone Operatory i zmienne Obiektowe typy proste, czyli klasy osłonowe Ciągi znaków i napisy Tablice Pojęcie referencji, czyli gdzie te wskaźniki z dawnych lat Programowanie obiektowe jako narzędzie modelowania danych i algorytmów Terminologia Modelowanie danych na przykładzie liczb zespolonych Pola i metody statyczne klas Dziedziczenie własności Struktury rekurencyjne w Javie Rozdział 6. Modelowanie abstrakcyjnych typów danych Abstrakcyjne typy danych Listy jednokierunkowe Tablicowa implementacja list Listy innych typów Listy z iteratorem Rozdział 7. Struktury danych o dostępie ograniczonym Stos Zasada działania stosu Realizacja programowa stosu Kolejki FIFO Sterty i kolejki priorytetowe Rozdział 8. Drzewa i zbiory Drzewa i ich reprezentacje Binarne drzewa poszukiwań (BST) Drzewa binarne i wyrażenia arytmetyczne Uniwersalna struktura słownikowa Drzewa „egzotyczne" Zbiory Rozdział 9. java.util, czyli struktury danych dla leniuchów ]ava i interfejsy Klasa Arrays, operacje na tablicach Klasa Vector, czyli tablice dynamiczne Listy Iteratory, czyli wygodne indeksowanie kolekcji Stos Sortowanie kolekcji Klasa HashSet, czyli szybko do celu Rozdział 10. Algorytmy przeszukiwania Przeszukiwanie liniowe Przeszukiwanie binarne Transformacja kluczowa (hashing) W poszukiwaniu funkcji H Najbardziej znane funkcje H Obsługa konfliktów dostępu Powrót do źródeł Jeszcze raz tablice! Próbkowanie liniowe Podwójne kluczowanie Zastosowania transformacji kluczowej Klasyczne funkcje C/C++ oraz Java Funkcje hashujące a klasy Javy Podsumowanie metod transformacji kluczowej Rozdział 11. Algorytmy sortowania Sortowanie przez wstawianie, algorytm klasy 0(N2) Sortowanie bąbelkowe, algorytm klasy 0(N2) Sortowanie szybkie (Quicksort) — algorytm klasy 0(N log N] Heapsort — sortowanie przez kopcowanie Scalanie zbiorów posortowanych Sortowanie przez scalanie, algorytm klasy 0(N log N) Sortowanie zewnętrzne Rozdział 12. Derekursywacja i optymalizacja algorytmów Jak pracuje kompilator? Odrobina formalizmu nie zaszkodzi! Kilka przykładów derekursywacji algorytmów Derekursywacja z wykorzystaniem stosu Eliminacja zmiennych lokalnych Metoda funkcji przeciwnych Klasyczne schematy derekursywacji Schemat typu while Schemat typu if-else Schemat z podwójnym wywołaniem rekurencyjnym Rozdział 13. Przeszukiwanie tekstów Algorytm typu brute force Nowe algorytmy poszukiwań Algorytm KMP Algorytm Boyera-Moore'a Algorytm Rabina-Karpa Rozdział 14. Zaawansowane techniki programowania Programowanie typu „dziel i zwyciężaj" Odszukiwanie minimum i maksimum w tablicy liczb Mnożenie macierzy o rozmiarze N>
Sygnatura czytelni BWEAiI: XII N 135
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 148490 N (1 egz.)
Brak okładki
Książka
W koszyku
(Skrypty Uczelniane / Akademia Górniczo-Hutnicza w Krakowie ISSN 0239-6114 ; Nr 1580)
Bibliogr. przy rozdz.
Sygnatura czytelni BWEAiI: IX Ę 6
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. S 69972 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności