okladka

Odkryj nieznane możliwości Javy

  • Sieci semantyczne i neuronowe
  • Przetwarzanie grafiki i multimediów
  • Obliczenia naukowe

Java, mimo stosunkowo krótkiej obecności na rynku, stała się jednym z najpopularniejszych języków programowania. Codziennie korzystają z niej setki tysięcy programistów z całego świata. Największe korporacje świata za jej pomocą budują systemy informatyczne przetwarzające potężne porcje danych. Aplikacje bazodanowe, serwlety i aplety to najbardziej znane zastosowania Javy, jednak nie jedyne. W sieci dostępna jest ogromna ilość bibliotek tworzonych przez pasjonatów, którzy wykorzystują Javę do odmiennych celów, takich jak przetwarzanie grafiki, modelowanie sieci neuronowych, przeprowadzanie złożonych obliczeń i wielu innych zadań.

Dzięki książce "Java. Programowanie, biblioteki open-source i pomysły na nowe projekty" poznasz mniej znane zastosowania Javy. Dowiesz się, jak za pomocą bibliotek dostępnych na licencji open-source tworzyć ciekawe projekty i pisać nietypowe aplikacje. Nauczysz się przetwarzać pliki XML i HTML, obrabiać i generować grafikę a także wyświetlać pliki multimedialne. Przeczytasz o sieciach semantycznych i neuronowych, odczytywaniu kanałów RSS i sterowaniu urządzeniami podłączonymi do komputera.

  • Nieznane funkcje standardowego API Javy
  • Przetwarzanie łańcuchów tekstowych
  • Analiza plików XML i HTML
  • Stosowanie RDF w projektach
  • Czytanie kanałów RSS
  • Obliczenia o dowolnej precyzji
  • Realizacja algorytmów genetycznych
  • Symulowanie sieci neuronowych
  • Generowanie plików SVG
  • Współpraca z interfejsem MIDI

Jeśli lubisz eksperymentować z językami programowania,
ta książka będzie dla Ciebie doskonałym źródłem inspiracji.


Podziękowania (9)
Wstęp (11)
1. Standardowe API Javy (15)
  • Użycie nowej wersji pętli for (16)
  • Wykorzystanie konstrukcji enum (18)
  • Mapy bez rzutowania w dół (21)
  • Pisanie metod z parametrami generycznymi (22)
  • Metody ze zmienną liczbą parametrów (25)
  • Asercje w Javie (27)
  • Użycie System.nanoTime (29)
  • Uśpienie wątku na czas krótszy od milisekundy (30)
  • Klasy anonimowe (31)
  • Porównania == != .equals (33)
  • Podsumowanie (35)
2. Narzędzia do pracy z łańcuchami tekstowymi (37)
  • Użycie wyrażeń regularnych do wyszukiwania tekstów (38)
  • Użycie metody String.split (40)
  • Wyszukiwanie fragmentów w łańcuchach tekstowych (41)
  • Użycie grup w wyrażeniach regularnych (42)
  • Wykonywanie zamiany tekstów za pomocą wyrażeń regularnych (44)
  • Przetwarzanie z użyciem klasy Scanner (47)
  • Analiza skomplikowanej składni przy użyciu klasy Scanner (49)
  • Generowanie przypadkowego tekstu (51)
  • Drukowanie zawartości tablic w Javie 1.5 (52)
  • Kodowanie i dekodowanie danych binarnych (54)
  • Formatowanie tekstów za pomocą MessageFormat (57)
  • Powrót funkcji printf - formatowanie tekstów z klasą Formatter (58)
  • Podsumowanie (59)
3. Przetwarzanie XML i HTML (61)
  • Szybkie wprowadzenie do XML (62)
  • Użycie WebRowSet do utworzenia dokumentu XML (63)
  • Zapamiętywanie zależności między elementami w SAX (64)
  • Bezpośrednie wywoływanie zdarzeń obiektu ContentHandler (69)
  • Filtrowanie zdarzeń interfejsu ContentHandler (71)
  • Czytanie dokumentów XML z wykorzystaniem DOM4J (74)
  • Użycie XPath do łatwego pobierania danych (76)
  • Niewidoczne tagi, czyli filtrowanie dokumentu przed załadowaniem do DOM4J (80)
  • Generowanie kodu analizatorów za pomocą JavaCC (83)
  • Konwersja innych gramatyk na XML (87)
  • Wykorzystanie techniki screen scraping do stron HTML (93)
  • Wyszukiwanie z Lucene (95)
  • Podsumowanie (97)
4. Sieć semantyczna (99)
  • Krótkie wprowadzenie do N3 i Jena (101)
  • Tworzenie słowników RDF na własne potrzeby (103)
  • Użycie hierarchii RDF w Jena (106)
  • Dołączanie Dublin Core do dokumentów HTML (108)
  • Zapytania w Jena RDQL (109)
  • Lojban, RDF i projekt Jorne (111)
  • RSS i Informa (113)
  • Czytanie źródeł RSS (115)
  • Odpytywanie i aktualizacja kanałów RSS (116)
  • Filtrowanie danych RSS (117)
  • Podsumowanie (119)
5. Zastosowania w naukach ścisłych i matematyczno-przyrodniczych (121)
  • Tworzenie i zastosowanie funktorów (122)
  • Użycie funktorów złożonych (125)
  • Bity dużego kalibru - BitVector z biblioteki Colt (126)
  • Tworzenie tablic prawdy za pomocą BitMatrix (128)
  • Dwa terafurlongi w dwa tygodnie - wielkości fizyczne z JScience (130)
  • Krnąbrne ułamki - arytmetyka dowolnej precyzji (133)
  • Funkcje algebraiczne w JScience (135)
  • Łączenie tablic prawdy za pomocą portów (136)
  • Łączenie za pomocą JGraphT (139)
  • Łączenie ogólnych jednostek obliczeniowych (141)
  • Budowanie sieci neuronowych z Joone (144)
  • Użycie JGAP do algorytmów genetycznych (146)
  • Tworzenie inteligentnych agentów przy użyciu Jade (149)
  • Język angielski z JWorkNet (153)
  • Podsumowanie (155)
6. Przetwarzanie grafiki i wizualizacja danych (157)
  • Definiowanie graficznego interfejsu aplikacji Javy w XML (158)
  • Wizualizacja danych w SVG (160)
  • Wyświetlanie obrazów SVG (163)
  • Konwersja JGraphT do JGraphView (164)
  • Użycie map atrybutów w JGraph (166)
  • Tworzenie wykresów z JFreeChart (167)
  • Tworzenie raportów w Javie (169)
  • Prosta dwuwymiarowa wizualizacja danych (171)
  • Użycie transformacji afinicznych w Java 2D (174)
  • Budowanie aplikacji graficznych z funkcją "zoom" na pomocą Piccolo (176)
  • Podsumowanie (177)
7. Multimedia i synchronizacja wątków (179)
  • Tworzenie muzyki z JFugue (180)
  • Użycie JFugue razem z Java Sound MIDI (181)
  • Wysyłanie zdarzeń do urządzeń wyjściowych MIDI (183)
  • Tworzenie dźwięków w JMusic (184)
  • Użycie szumu i skomplikowanej syntezy w JMusic (186)
  • Niskopoziomowy dostęp do Java Sound (189)
  • Czytanie dźwięku z linii wejściowej (191)
  • Użycie Java Speech do tworzenia mówiących programów (192)
  • Odśmiecacz i Javolution (193)
  • Synchronizacja wątków za pomocą CyclicBarrier (196)
  • Podsumowanie (197)
8. Rozrywka, integracja i pomysły na nowe projekty (199)
  • Użycie Javy do sterowania robotem LEGO (200)
  • Kontrolowanie myszy z użyciem klasy AWT Robot (201)
  • Wybór dat z pomocą JCalendar (202)
  • Użycie klasy HttpClient do obsługi metody POST (203)
  • Symulacja systemu Cell Matrix w Javie (204)
  • Cell Matrix i algorytmy genetyczne (206)
  • Uruchamianie aplikacji z Ant (207)
  • Skrypty BeanShell (208)
  • Tworzenie testów JUnit (210)
  • Użycie JXTA w aplikacjach Peer-to-Peer (211)
  • Pakiet narzędziowy Globus oraz sieci rozproszone (212)
  • Użycie Jabbera w aplikacjach (212)
  • Pisanie w języku asemblera JVM (213)
  • Połączenie programowania genetycznego z BCEL (214)
  • Kompilowanie innych języków do kodu Javy (215)
  • Wizualizacja gramatyki języka Lojban (215)
  • Edytor instrumentów muzycznych (216)
  • WordNet Explorer (216)
  • Automatyczny generator RSS (217)
  • Sieci neuronowe w robotach (217)
  • Narzędzie zarządzania metadanymi (adnotacjami) Javy 5 (218)
  • CVS i kontrola kodu źródłowego (218)
  • Wykorzystaj SourceForge do swoich projektów (219)
  • Posumowanie (219)
Słowniczek (221)
Skorowidz (235)