Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00595 008948 10733433 na godz. na dobę w sumie
Java. Podstawy. Wydanie X - ebook/pdf
Java. Podstawy. Wydanie X - ebook/pdf
Autor: Liczba stron: 872
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-2481-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> java - programowanie
Porównaj ceny (książka, ebook (-20%), audiobook).
Książka Java. Podstawy od lat jest uznawana za najważniejszy praktyczny poradnik i podręcznik dla doświadczonych programistów dążących do doskonalenia swoich umiejętności w zakresie posługiwania się językiem Java. W wydaniu dziesiątym wprowadzono liczne uzupełnienia, które wiążą się z pojawieniem się bardzo oczekiwanej Javy SE. Przepisane i zmodyfikowane rozdziały obejmują swoim zakresem tematycznym nowe elementy platformy, idiomy i najlepsze praktyki. Znajdziesz w nich setki przykładowych programów, a wszystkie tak napisane, aby były łatwe do zrozumienia i wykorzystania w praktyce.

Autor tej przeznaczonej dla poważnych programistów książki Cay Horstmann pomoże Ci dokładnie zrozumieć język Java i jego bibliotekę. W pierwszym tomie tego dwutomowego dzieła Horstmann opisuje podstawowe zagadnienia związane z programowaniem nowoczesnych interfejsów użytkownika. W książce tej znajdziesz szczegółowy opis szerokiego spektrum tematów, od programowania obiektowego przez typy generycznekolekcjewyrażenia lambdaprojektowanie interfejsów użytkownika przy użyciu technologii Swing po najnowsze zdobycze wiedzy w dziedzinie programowania współbieżnego i funkcyjnego. Jeśli jesteś doświadczonym programistą, który chce przejść na Javę SE 8, to książka Java. Podstawy. Wydanie X będzie dla Ciebie najlepszym praktycznym podręcznikiem, który posłuży Ci przez wiele lat.
Cay S. Horstmann jest autorem książek Java 8. Przewodnik doświadczonego programisty (Helion, 2015) oraz Scala for the Impatient (Addison-Wesley, 2012) i Java SE 8 for the Really Impatient (Addison-Wesley, 2014), a także współautorem książki JavaServer Faces. Wydanie III (Helion, 2011). Napisał także kilkanaście innych książek dla zawodowych programistów oraz studentów informatyki. Jest profesorem informatyki na Uniwersytecie Stanowym w San Jose oraz posiadaczem tytułu Java Champion.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Core Java Volume I – Fundamentals (10th Edition) Tłumaczenie: Łukasz Piwko ISBN: 978-83-283-2480-0 Authorized translation from the English language edition, entitled CORE JAVA VOLUME I – FUNDAMENTALS, Tenth Edition; ISBN 0134177304; by Cay S. Horstmann; published by Pearson Education, Inc, publishing as Prentice Hall. Copyright © 2016 Oracle and/or its affiliates. All rights reserved. Portions © Cay S. Horstmann All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education Inc. Polish language edition published by HELION S.A. Copyright © 2016. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkod wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/javp10.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/javp10 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:202)ci Wst(cid:194)p ........................................................................................................................................................13 Podzi(cid:194)kowania .........................................................................................................................................19 1. Wprowadzenie do Javy ........................................................................................................................21 1.1. Java jako platforma programistyczna ....................................................................... 21 1.2. S(cid:228)owa klucze bia(cid:228)ej ksi(cid:246)gi Javy ............................................................................... 22 1.2.1. Prostota ....................................................................................................... 23 1.2.2. Obiektowo(cid:264)(cid:232) ................................................................................................. 23 1.2.3. Sieciowo(cid:264)(cid:232) ................................................................................................... 24 1.2.4. Niezawodno(cid:264)(cid:232) .............................................................................................. 24 1.2.5. Bezpiecze(cid:254)stwo ............................................................................................ 24 1.2.6. Niezale(cid:276)no(cid:264)(cid:232) od architektury .......................................................................... 25 1.2.7. Przeno(cid:264)no(cid:264)(cid:232) ................................................................................................. 26 1.2.8. Interpretacja ................................................................................................. 26 1.2.9. Wysoka wydajno(cid:264)(cid:232) ........................................................................................ 27 1.2.10. Wielow(cid:241)tkowo(cid:264)(cid:232) ......................................................................................... 27 1.2.11. Dynamiczno(cid:264)(cid:232) ............................................................................................ 27 1.3. Aplety Javy i internet .............................................................................................. 28 1.4. Krótka historia Javy ............................................................................................... 29 1.5. G(cid:228)ówne nieporozumienia dotycz(cid:241)ce Javy .................................................................. 31 2. (cid:201)rodowisko programistyczne Javy ..................................................................................................35 2.1. Instalacja oprogramowania Java Development Kit .................................................... 36 2.1.1. Pobieranie pakietu JDK ................................................................................. 36 2.1.2. Instalacja pakietu JDK ................................................................................... 38 2.1.3. Instalacja plików (cid:274)ród(cid:228)owych i dokumentacji .................................................... 40 2.2. U(cid:276)ywanie narz(cid:246)dzi wiersza polece(cid:254) ......................................................................... 41 2.3. Praca w zintegrowanym (cid:264)rodowisku programistycznym ............................................. 43 2.4. Uruchamianie aplikacji graficznej ............................................................................ 46 2.5. Tworzenie i uruchamianie apletów .......................................................................... 48 Poleć książkęKup książkę 4 Java. Podstawy 3. Podstawowe elementy j(cid:194)zyka Java ..................................................................................................55 3.1. Prosty program w Javie .......................................................................................... 56 3.2. Komentarze .......................................................................................................... 59 3.3. Typy danych .......................................................................................................... 60 3.3.1. Typy ca(cid:228)kowite .............................................................................................. 60 3.3.2. Typy zmiennoprzecinkowe .............................................................................. 61 3.3.3. Typ char ....................................................................................................... 62 3.3.4. Unicode i typ char ......................................................................................... 63 3.3.5. Typ boolean .................................................................................................. 64 3.4. Zmienne ............................................................................................................... 65 3.4.1. Inicjalizacja zmiennych .................................................................................. 66 3.4.2. Sta(cid:228)e ............................................................................................................ 67 3.5. Operatory ............................................................................................................. 67 3.5.1. Funkcje i sta(cid:228)e matematyczne ........................................................................ 68 3.5.2. Konwersja typów numerycznych ...................................................................... 70 3.5.3. Rzutowanie ................................................................................................... 71 3.5.4. (cid:227)(cid:241)czenie przypisania z innymi operatorami ...................................................... 72 3.5.5. Operatory inkrementacji i dekrementacji ......................................................... 72 3.5.6. Operatory relacyjne i logiczne ......................................................................... 73 3.5.7. Operatory bitowe ........................................................................................... 73 3.5.8. Nawiasy i priorytety operatorów ...................................................................... 74 3.5.9. Typ wyliczeniowy ........................................................................................... 75 3.6. (cid:227)a(cid:254)cuchy .............................................................................................................. 76 3.6.1. Pod(cid:228)a(cid:254)cuchy ................................................................................................. 76 3.6.2. Konkatenacja ............................................................................................... 76 3.6.3. (cid:227)a(cid:254)cuchów nie mo(cid:276)na modyfikowa(cid:232) ................................................................ 77 3.6.4. Porównywanie (cid:228)a(cid:254)cuchów ............................................................................... 78 3.6.5. (cid:227)a(cid:254)cuchy puste i (cid:228)a(cid:254)cuchy null ....................................................................... 79 3.6.6. Wspó(cid:228)rz(cid:246)dne kodowe znaków i jednostki kodowe ............................................. 80 3.6.7. API String ..................................................................................................... 81 3.6.8. Dokumentacja API w internecie ...................................................................... 84 3.6.9. Sk(cid:228)adanie (cid:228)a(cid:254)cuchów ..................................................................................... 85 3.7. Wej(cid:264)cie i wyj(cid:264)cie ................................................................................................... 88 3.7.1. Odbieranie danych wej(cid:264)ciowych ...................................................................... 88 3.7.2. Formatowanie danych wyj(cid:264)ciowych ................................................................. 91 3.7.3. Zapis i odczyt plików ..................................................................................... 95 3.8. Sterowanie wykonywaniem programu ...................................................................... 97 3.8.1. Zasi(cid:246)g blokowy ............................................................................................. 97 3.8.2. Instrukcje warunkowe .................................................................................... 98 3.8.3. P(cid:246)tle .......................................................................................................... 100 3.8.4. P(cid:246)tle o okre(cid:264)lonej liczbie powtórze(cid:254) ............................................................. 104 3.8.5. Wybór wielokierunkowy — instrukcja switch .................................................. 108 3.8.6. Instrukcje przerywaj(cid:241)ce przep(cid:228)yw sterowania ................................................. 110 3.9. Wielkie liczby ...................................................................................................... 113 3.10. Tablice ............................................................................................................. 115 3.10.1. P(cid:246)tla typu for each .................................................................................... 116 3.10.2. Inicjowanie tablic i tworzenie tablic anonimowych ........................................ 117 3.10.3. Kopiowanie tablicy .................................................................................... 118 3.10.4. Parametry wiersza polece(cid:254) ........................................................................ 119 3.10.5. Sortowanie tablicy ..................................................................................... 120 3.10.6. Tablice wielowymiarowe ............................................................................. 123 3.10.7. Tablice postrz(cid:246)pione ................................................................................. 126 Poleć książkęKup książkę Spis tre(cid:202)ci 5 4. Obiekty i klasy ....................................................................................................................................129 4.1. Wst(cid:246)p do programowania obiektowego ................................................................. 130 4.1.1. Klasy ......................................................................................................... 131 4.1.2. Obiekty ...................................................................................................... 131 4.1.3. Identyfikacja klas ........................................................................................ 132 4.1.4. Relacje mi(cid:246)dzy klasami ............................................................................... 133 4.2. U(cid:276)ywanie klas predefiniowanych ........................................................................... 134 4.2.1. Obiekty i zmienne obiektów .......................................................................... 135 4.2.2. Klasa LocalDate ......................................................................................... 137 4.2.3. Metody udost(cid:246)pniaj(cid:241)ce i zmieniaj(cid:241)ce warto(cid:264)(cid:232) elementu ................................. 139 4.3. Definiowanie w(cid:228)asnych klas .................................................................................. 142 4.3.1. Klasa Employee .......................................................................................... 143 4.3.2. U(cid:276)ywanie wielu plików (cid:274)ród(cid:228)owych ................................................................. 145 4.3.3. Analiza klasy Employee ............................................................................... 146 4.3.4. Pierwsze kroki w tworzeniu konstruktorów ..................................................... 147 4.3.5. Parametry jawne i niejawne .......................................................................... 148 4.3.6. Korzy(cid:264)ci z hermetyzacji ................................................................................ 149 4.3.7. Przywileje klasowe ...................................................................................... 151 4.3.8. Metody prywatne ......................................................................................... 152 4.3.9. Sta(cid:228)e jako pola klasy ................................................................................... 152 4.4. Pola i metody statyczne ....................................................................................... 153 4.4.1. Pola statyczne ............................................................................................ 153 4.4.2. Sta(cid:228)e statyczne ........................................................................................... 154 4.4.3. Metody statyczne ........................................................................................ 155 4.4.4. Metody fabryczne ........................................................................................ 156 4.4.5. Metoda main .............................................................................................. 156 4.5. Parametry metod ................................................................................................. 159 4.6. Konstruowanie obiektów ...................................................................................... 165 4.6.1. Przeci(cid:241)(cid:276)anie ............................................................................................... 165 4.6.2. Domy(cid:264)lna inicjalizacja pól ............................................................................ 166 4.6.3. Konstruktor bezargumentowy ....................................................................... 167 4.6.4. Jawna inicjalizacja pól ................................................................................. 167 4.6.5. Nazywanie parametrów ................................................................................ 168 4.6.6. Wywo(cid:228)ywanie innego konstruktora ................................................................ 169 4.6.7. Bloki inicjalizuj(cid:241)ce ....................................................................................... 170 4.6.8. Niszczenie obiektów i metoda finalize ........................................................... 174 4.7. Pakiety ............................................................................................................... 174 4.7.1. Importowanie klas ....................................................................................... 175 4.7.2. Importowanie statyczne ............................................................................... 177 4.7.3. Dodawanie klasy do pakietu ........................................................................ 177 4.7.4. Zasi(cid:246)g pakietów .......................................................................................... 180 4.8. (cid:263)cie(cid:276)ka klas ....................................................................................................... 181 4.8.1. Ustawianie (cid:264)cie(cid:276)ki klas ............................................................................... 184 4.9. Komentarze dokumentacyjne ............................................................................... 184 4.9.1. Wstawianie komentarzy ............................................................................... 185 4.9.2. Komentarze do klas .................................................................................... 186 4.9.3. Komentarze do metod ................................................................................. 186 4.9.4. Komentarze do pól ...................................................................................... 187 4.9.5. Komentarze ogólne ..................................................................................... 187 4.9.6. Komentarze do pakietów i ogólne ................................................................. 188 4.9.7. Generowanie dokumentacji .......................................................................... 189 4.10. Porady dotycz(cid:241)ce projektowania klas .................................................................. 190 Poleć książkęKup książkę 6 Java. Podstawy 5. Dziedziczenie ......................................................................................................................................193 5.1. Klasy, nadklasy i podklasy ................................................................................... 194 5.1.1. Definiowanie podklas .................................................................................. 194 5.1.2. Przes(cid:228)anianie metod .................................................................................... 195 5.1.3. Konstruktory podklas .................................................................................. 197 5.1.4. Hierarchia dziedziczenia .............................................................................. 201 5.1.5. Polimorfizm ................................................................................................ 201 5.1.6. Zasady wywo(cid:228)ywania metod ......................................................................... 203 5.1.7. Wy(cid:228)(cid:241)czanie dziedziczenia — klasy i metody finalne ........................................ 205 5.1.8. Rzutowanie ................................................................................................. 206 5.1.9. Klasy abstrakcyjne ...................................................................................... 209 5.1.10. Ograniczanie dost(cid:246)pu ................................................................................ 214 5.2. Kosmiczna klasa wszystkich klas — Object ........................................................... 215 5.2.1. Metoda equals ........................................................................................... 215 5.2.2. Porównywanie a dziedziczenie ...................................................................... 217 5.2.3. Metoda hashCode ....................................................................................... 220 5.2.4. Metoda toString .......................................................................................... 222 5.3. Generyczne listy tablicowe ................................................................................... 228 5.3.1. Dost(cid:246)p do elementów listy tablicowej ........................................................... 231 5.3.2. Zgodno(cid:264)(cid:232) pomi(cid:246)dzy typowanymi a surowymi listami tablicowymi ..................... 234 5.4. Opakowania obiektów i automatyczne pakowanie ................................................... 235 5.5. Metody ze zmienn(cid:241) liczb(cid:241) parametrów .................................................................. 238 5.6. Klasy wyliczeniowe .............................................................................................. 240 5.7. Refleksja ............................................................................................................ 242 5.7.1. Klasa Class ................................................................................................ 242 5.7.2. Podstawy przechwytywania wyj(cid:241)tków ............................................................. 244 5.7.3. Zastosowanie refleksji w analizie funkcjonalno(cid:264)ci klasy ................................. 246 5.7.4. Refleksja w analizie obiektów w czasie dzia(cid:228)ania programu ............................. 251 5.7.5. Zastosowanie refleksji w generycznym kodzie tablicowym ............................... 255 5.7.6. Wywo(cid:228)ywanie dowolnych metod .................................................................... 258 5.8. Porady projektowe dotycz(cid:241)ce dziedziczenia ............................................................ 261 6. Interfejsy, wyra(cid:209)enia lambda i klasy wewn(cid:194)trzne ........................................................................265 6.1. Interfejsy ............................................................................................................ 266 6.1.1. Koncepcja interfejsu .................................................................................... 266 6.1.2. W(cid:228)asno(cid:264)ci interfejsów .................................................................................. 272 6.1.3. Interfejsy a klasy abstrakcyjne ..................................................................... 273 6.1.4. Metody statyczne ........................................................................................ 274 6.1.5. Metody domy(cid:264)lne ........................................................................................ 275 6.1.6. Wybieranie mi(cid:246)dzy metodami domy(cid:264)lnymi ..................................................... 276 6.2. Przyk(cid:228)ady interfejsów ........................................................................................... 278 6.2.1. Interfejsy i wywo(cid:228)ania zwrotne ...................................................................... 278 6.2.2. Interfejs Comparator ................................................................................... 281 6.2.3. Klonowanie obiektów ................................................................................... 282 6.3. Wyra(cid:276)enia lambda ............................................................................................... 288 6.3.1. Po co w ogóle s(cid:241) lambdy ............................................................................. 288 6.3.2. Sk(cid:228)adnia wyra(cid:276)e(cid:254) lambda ............................................................................ 289 6.3.3. Interfejsy funkcyjne ..................................................................................... 292 6.3.4. Referencje do metod ................................................................................... 293 6.3.5. Referencje do konstruktorów ........................................................................ 295 6.3.6. Zakres dost(cid:246)pno(cid:264)ci zmiennych .................................................................... 295 Poleć książkęKup książkę Spis tre(cid:202)ci 7 6.3.7. Przetwarzanie wyra(cid:276)e(cid:254) lambda ..................................................................... 298 6.3.8. Poszerzenie wiadomo(cid:264)ci o komparatorach .................................................... 301 6.4. Klasy wewn(cid:246)trzne ................................................................................................ 302 6.4.1. Dost(cid:246)p do stanu obiektu w klasie wewn(cid:246)trznej .............................................. 303 6.4.2. Specjalne regu(cid:228)y sk(cid:228)adniowe dotycz(cid:241)ce klas wewn(cid:246)trznych ............................. 306 6.4.3. Czy klasy wewn(cid:246)trzne s(cid:241) potrzebne i bezpieczne? .......................................... 307 6.4.4. Lokalne klasy wewn(cid:246)trzne ........................................................................... 310 6.4.5. Dost(cid:246)p do zmiennych finalnych z metod zewn(cid:246)trznych .................................... 310 6.4.6. Anonimowe klasy wewn(cid:246)trzne ...................................................................... 313 6.4.7. Statyczne klasy wewn(cid:246)trzne ......................................................................... 316 6.5. Klasy po(cid:264)rednicz(cid:241)ce ............................................................................................ 319 6.5.1. Kiedy u(cid:276)ywa(cid:232) klas po(cid:264)rednicz(cid:241)cych .............................................................. 319 6.5.2. Tworzenie obiektów po(cid:264)rednicz(cid:241)cych ............................................................ 320 6.5.3. W(cid:228)a(cid:264)ciwo(cid:264)ci klas po(cid:264)rednicz(cid:241)cych ................................................................ 324 7. Wyj(cid:190)tki, asercje i dzienniki ..............................................................................................................327 7.1. Obs(cid:228)uga b(cid:228)(cid:246)dów .................................................................................................. 328 7.1.1. Klasyfikacja wyj(cid:241)tków .................................................................................. 329 7.1.2. Deklarowanie wyj(cid:241)tków kontrolowanych ........................................................ 331 7.1.3. Zg(cid:228)aszanie wyj(cid:241)tków .................................................................................... 333 7.1.4. Tworzenie klas wyj(cid:241)tków .............................................................................. 334 7.2. Przechwytywanie wyj(cid:241)tków .................................................................................... 335 7.2.1. Przechwytywanie wyj(cid:241)tku ............................................................................. 335 7.2.2. Przechwytywanie wielu typów wyj(cid:241)tków .......................................................... 337 7.2.3. Powtórne generowanie wyj(cid:241)tków i budowanie (cid:228)a(cid:254)cuchów wyj(cid:241)tków .................. 339 7.2.4. Klauzula finally ........................................................................................... 340 7.2.5. Instrukcja try z zasobami ............................................................................. 343 7.2.6. Analiza danych ze (cid:264)ledzenia stosu ................................................................ 345 7.3. Wskazówki dotycz(cid:241)ce stosowania wyj(cid:241)tków ........................................................... 348 7.4. Asercje ............................................................................................................... 350 7.4.1. Koncepcja asercji ........................................................................................ 351 7.4.2. W(cid:228)(cid:241)czanie i wy(cid:228)(cid:241)czanie asercji ...................................................................... 352 7.4.3. Zastosowanie asercji do sprawdzania parametrów ......................................... 352 7.4.4. Zastosowanie asercji do dokumentowania za(cid:228)o(cid:276)e(cid:254) ........................................ 353 7.5. Dzienniki ............................................................................................................ 355 7.5.1. Podstawy zapisu do dziennika ...................................................................... 355 7.5.2. Zaawansowane techniki zapisu do dziennika ................................................. 356 7.5.3. Zmiana konfiguracji mened(cid:276)era dzienników ................................................... 358 7.5.4. Lokalizacja ................................................................................................. 359 7.5.5. Obiekty typu Handler ................................................................................... 360 7.5.6. Filtry .......................................................................................................... 363 7.5.7. Formatery ................................................................................................... 364 7.5.8. Przepis na dziennik ..................................................................................... 364 7.6. Wskazówki dotycz(cid:241)ce debugowania ...................................................................... 372 8. Programowanie generyczne ...........................................................................................................379 8.1. Dlaczego programowanie generyczne .................................................................... 380 8.1.1. Zalety parametrów typów ............................................................................. 380 8.1.2. Dla kogo programowanie generyczne ............................................................ 381 8.2. Definicja prostej klasy generycznej ........................................................................ 382 8.3. Metody generyczne .............................................................................................. 384 Poleć książkęKup książkę 8 Java. Podstawy 8.4. Ograniczenia zmiennych typowych ......................................................................... 385 8.5. Kod generyczny a maszyna wirtualna .................................................................... 387 8.5.1. Wymazywanie typów .................................................................................... 388 8.5.2. Translacja wyra(cid:276)e(cid:254) generycznych .................................................................. 389 8.5.3. Translacja metod generycznych .................................................................... 389 8.5.4. U(cid:276)ywanie starego kodu ................................................................................ 392 8.6. Ograniczenia i braki ............................................................................................. 393 8.6.1. Nie mo(cid:276)na podawa(cid:232) typów prostych jako parametrów typowych ...................... 393 8.6.2. Sprawdzanie typów w czasie dzia(cid:228)ania programu jest mo(cid:276)liwe tylko dla typów surowych ..................................................................................... 393 8.6.3. Nie mo(cid:276)na tworzy(cid:232) tablic typów generycznych ................................................ 394 8.6.4. Ostrze(cid:276)enia dotycz(cid:241)ce zmiennej liczby argumentów ........................................ 394 8.6.5. Nie wolno tworzy(cid:232) egzemplarzy zmiennych typowych ....................................... 395 8.6.6. Nie mo(cid:276)na utworzy(cid:232) egzemplarza generycznej tablicy ..................................... 396 8.6.7. Zmiennych typowych nie mo(cid:276)na u(cid:276)ywa(cid:232) w statycznych kontekstach klas generycznych .............................................................................................. 398 8.6.8. Obiektów klasy generycznej nie mo(cid:276)na generowa(cid:232) ani przechwytywa(cid:232) .............. 398 8.6.9. Mo(cid:276)na wy(cid:228)(cid:241)czy(cid:232) sprawdzanie wyj(cid:241)tków kontrolowanych .................................. 399 8.6.10. Uwa(cid:276)aj na konflikty, które mog(cid:241) powsta(cid:232) po wymazaniu typów ..................... 401 8.7. Zasady dziedziczenia dla typów generycznych ........................................................ 402 8.8. Typy wieloznaczne ............................................................................................... 404 8.8.1. Koncepcja typu wieloznacznego .................................................................... 404 8.8.2. Ograniczenia nadtypów typów wieloznacznych ................................................ 405 8.8.3. Typy wieloznaczne bez ogranicze(cid:254) ................................................................ 408 8.8.4. Chwytanie typu wieloznacznego .................................................................... 408 8.9. Refleksja a typy generyczne ................................................................................. 411 8.9.1. Generyczna klasa Class ............................................................................... 411 8.9.2. Zastosowanie parametrów Class T do dopasowywania typów ....................... 412 8.9.3. Informacje o typach generycznych w maszynie wirtualnej ................................ 412 9. Kolekcje ..............................................................................................................................................419 9.1. Architektura kolekcji Javy ..................................................................................... 419 9.1.1. Oddzielenie warstwy interfejsów od warstwy klas konkretnych ......................... 420 9.1.2. Interfejs Collection ...................................................................................... 422 9.1.3. Iteratory ..................................................................................................... 423 9.1.4. Generyczne metody u(cid:276)ytkowe ....................................................................... 425 9.1.5. Interfejsy w systemie kolekcji Javy ................................................................ 428 9.2. Konkretne klasy kolekcyjne .................................................................................. 430 9.2.1. Listy powi(cid:241)zane .......................................................................................... 431 9.2.2. Listy tablicowe ............................................................................................ 440 9.2.3. Zbiór HashSet ............................................................................................ 440 9.2.4. Zbiór TreeSet .............................................................................................. 444 9.2.5. Kolejki Queue i Deque ................................................................................. 448 9.2.6. Kolejki priorytetowe ..................................................................................... 450 9.3. S(cid:228)owniki ............................................................................................................. 451 9.3.1. Podstawowe operacje s(cid:228)ownikowe ................................................................ 451 9.3.2. Modyfikowanie wpisów w s(cid:228)owniku ............................................................... 454 9.3.3. Widoki s(cid:228)owników ........................................................................................ 456 9.3.4. Klasa WeakHashMap .................................................................................. 457 9.3.5. Klasy LinkedHashSet i LinkedHashMap ........................................................ 458 9.3.6. Klasy EnumSet i EnumMap .......................................................................... 459 9.3.7. Klasa IdentityHashMap ............................................................................... 460 Poleć książkęKup książkę Spis tre(cid:202)ci 9 9.4. Widoki i opakowania ............................................................................................ 462 9.4.1. Lekkie obiekty opakowuj(cid:241)ce kolekcje ............................................................ 462 9.4.2. Przedzia(cid:228)y ................................................................................................... 463 9.4.3. Widoki niemodyfikowalne ............................................................................. 464 9.4.4. Widoki synchronizowane .............................................................................. 465 9.4.5. Widoki kontrolowane ................................................................................... 465 9.4.6. Uwagi dotycz(cid:241)ce operacji opcjonalnych ......................................................... 466 9.5. Algorytmy ............................................................................................................ 469 9.5.1. Sortowanie i tasowanie ............................................................................... 470 9.5.2. Wyszukiwanie binarne ................................................................................. 473 9.5.3. Proste algorytmy ......................................................................................... 474 9.5.4. Operacje zbiorowe ....................................................................................... 476 9.5.5. Konwersja pomi(cid:246)dzy kolekcjami a tablicami .................................................. 477 9.5.6. Pisanie w(cid:228)asnych algorytmów ....................................................................... 478 9.6. Stare kolekcje ..................................................................................................... 479 9.6.1. Klasa Hashtable ......................................................................................... 479 9.6.2. Wyliczenia .................................................................................................. 480 9.6.3. S(cid:228)owniki w(cid:228)asno(cid:264)ci ...................................................................................... 481 9.6.4. Stosy ......................................................................................................... 482 9.6.5. Zbiory bitów ................................................................................................ 482 10. Grafika .............................................................................................................................................487 10.1. Wprowadzenie do pakietu Swing ......................................................................... 488 10.2. Tworzenie ramki ................................................................................................ 492 10.3. Pozycjonowanie ramki ........................................................................................ 494 10.3.1. W(cid:228)asno(cid:264)ci ramek ...................................................................................... 496 10.3.2. Okre(cid:264)lanie rozmiaru ramki ......................................................................... 497 10.4. Wy(cid:264)wietlanie informacji w komponencie .............................................................. 500 10.5. Figury 2D .......................................................................................................... 505 10.6. Kolory .............................................................................................................. 513 10.7. Czcionki ........................................................................................................... 517 10.8. Wy(cid:264)wietlanie obrazów ........................................................................................ 525 11. Obs(cid:196)uga zdarze(cid:198) ...............................................................................................................................529 11.1. Podstawy obs(cid:228)ugi zdarze(cid:254) .................................................................................. 529 11.1.1. Przyk(cid:228)ad — obs(cid:228)uga klikni(cid:246)cia przycisku ...................................................... 531 11.1.2. Zwi(cid:246)z(cid:228)e definiowanie procedur nas(cid:228)uchowych .............................................. 536 11.1.3. Przyk(cid:228)ad — zmiana stylu ............................................................................ 538 11.1.4. Klasy adaptacyjne ..................................................................................... 542 11.2. Akcje ................................................................................................................ 546 11.3. Zdarzenia generowane przez mysz ...................................................................... 553 11.4. Hierarchia zdarze(cid:254) w bibliotece AWT ................................................................... 560 11.4.1. Zdarzenia semantyczne i niskiego poziomu ................................................. 561 12. Komponenty Swing interfejsu u(cid:209)ytkownika ..................................................................................565 12.1. Swing a wzorzec projektowy Model-View-Controller ............................................... 566 12.1.1. Wzorce projektowe .................................................................................... 566 12.1.2. Wzorzec Model-View-Controller ................................................................... 568 12.1.3. Analiza MVC przycisków Swing ................................................................... 571 12.2. Wprowadzenie do zarz(cid:241)dzania rozk(cid:228)adem ............................................................ 572 12.2.1. Rozk(cid:228)ad brzegowy ...................................................................................... 574 12.2.2. Rozk(cid:228)ad siatkowy ...................................................................................... 576 Poleć książkęKup książkę 10 Java. Podstawy 12.3. Wprowadzanie tekstu ........................................................................................ 580 12.3.1. Pola tekstowe ........................................................................................... 580 12.3.2. Etykiety komponentów ............................................................................... 582 12.3.3. Pola hase(cid:228) ................................................................................................ 584 12.3.4. Obszary tekstowe ...................................................................................... 584 12.3.5. Panele przewijane ..................................................................................... 585 12.4. Komponenty umo(cid:276)liwiaj(cid:241)ce wybór opcji ............................................................... 587 12.4.1. Pola wyboru .............................................................................................. 587 12.4.2. Prze(cid:228)(cid:241)czniki .............................................................................................. 590 12.4.3. Obramowanie ........................................................................................... 593 12.4.4. Listy rozwijalne ......................................................................................... 597 12.4.5. Suwaki ..................................................................................................... 600 12.5. Menu ............................................................................................................... 606 12.5.1. Tworzenie menu ........................................................................................ 606 12.5.2. Ikony w elementach menu ......................................................................... 609 12.5.3. Pola wyboru i prze(cid:228)(cid:241)czniki jako elementy menu ............................................ 610 12.5.4. Menu podr(cid:246)czne ....................................................................................... 611 12.5.5. Mnemoniki i akceleratory ........................................................................... 612 12.5.6. Aktywowanie i dezaktywowanie elementów menu ......................................... 614 12.5.7. Paski narz(cid:246)dzi .......................................................................................... 618 12.5.8. Dymki ...................................................................................................... 620 12.6. Zaawansowane techniki zarz(cid:241)dzania rozk(cid:228)adem ................................................... 623 12.6.1. Rozk(cid:228)ad GridBagLayout .............................................................................. 624 12.6.2. Rozk(cid:228)ad grupowy ....................................................................................... 634 12.6.3. Rezygnacja z zarz(cid:241)dców rozk(cid:228)adu ................................................................ 643 12.6.4. Niestandardowi zarz(cid:241)dcy rozk(cid:228)adu .............................................................. 643 12.6.5. Kolejka dost(cid:246)pu ........................................................................................ 647 12.7. Okna dialogowe ................................................................................................ 648 12.7.1. Okna dialogowe opcji ................................................................................ 649 12.7.2. Tworzenie okien dialogowych ..................................................................... 659 12.7.3. Wymiana danych ....................................................................................... 663 12.7.4. Okna dialogowe wyboru plików ................................................................... 669 12.7.5. Okna dialogowe wyboru kolorów ................................................................. 679 12.8. Rozwi(cid:241)zywanie problemów z programami z graficznym interfejsem u(cid:276)ytkownika ...... 684 12.8.1. Wskazówki dotycz(cid:241)ce debugowania ............................................................ 684 12.8.2. Zaprz(cid:246)ganie robota AWT do pracy ............................................................... 686 13. Przygotowywanie apletów i aplikacji do u(cid:209)ytku ...........................................................................693 13.1. Pliki JAR ........................................................................................................... 694 13.1.1. Tworzenie plików JAR ................................................................................ 694 13.1.2. Manifest .................................................................................................. 695 13.1.3. Wykonywalne pliki JAR ............................................................................... 696 13.1.4. Zasoby ..................................................................................................... 697 13.1.5. Piecz(cid:246)towanie pakietów ............................................................................. 700 13.2. Zapisywanie preferencji u(cid:276)ytkownika ................................................................... 701 13.2.1. S(cid:228)owniki w(cid:228)asno(cid:264)ci .................................................................................... 701 13.2.2. API Preferences ........................................................................................ 706 13.3. Modu(cid:228)y (cid:228)adowania us(cid:228)ug ..................................................................................... 712 13.4. Aplety ............................................................................................................... 714 13.4.1. Prosty aplet .............................................................................................. 715 13.4.2. Znacznik applet i jego atrybuty ................................................................... 718 Poleć książkęKup książkę Spis tre(cid:202)ci 11 13.4.3. Parametry przekazuj(cid:241)ce informacje do apletów ............................................ 720 13.4.4. Dost(cid:246)p do obrazów i plików audio .............................................................. 725 13.4.5. (cid:263)rodowisko dzia(cid:228)ania apletu ....................................................................... 726 13.4.6. Komunikacja pomi(cid:246)dzy apletami ................................................................ 727 13.4.7. Wy(cid:264)wietlanie elementów w przegl(cid:241)darce ..................................................... 727 13.4.8. Piaskownica ............................................................................................. 729 13.4.9. Podpisywanie kodu ................................................................................... 730 13.5. Java Web Start .................................................................................................. 732 13.5.1. Wdra(cid:276)anie aplikacji Java Web Start ............................................................. 732 13.5.2. API JNLP .................................................................................................. 735 14. Wspó(cid:196)bie(cid:209)no(cid:202)(cid:192) .................................................................................................................................745 14.1. Czym s(cid:241) w(cid:241)tki ................................................................................................... 746 14.1.1. Wykonywanie zada(cid:254) w osobnych w(cid:241)tkach .................................................... 751 14.2. Przerywanie w(cid:241)tków ........................................................................................... 755 14.3. Stany w(cid:241)tków .................................................................................................... 758 14.3.1. W(cid:241)tki NEW ............................................................................................... 758 14.3.2. W(cid:241)tki RUNNABLE ...................................................................................... 758 14.3.3. W(cid:241)tki BLOCKED i WAITING ......................................................................... 759 14.3.4. Zamykanie w(cid:241)tków .................................................................................... 759 14.4. W(cid:228)asno(cid:264)ci w(cid:241)tków ............................................................................................. 761 14.4.1. Priorytety w(cid:241)tków ...................................................................................... 761 14.4.2. W(cid:241)tki demony ........................................................................................... 762 14.4.3. Procedury obs(cid:228)ugi nieprzechwyconych wyj(cid:241)tków ........................................... 762 14.5. Synchronizacja .................................................................................................. 764 14.5.1. Przyk(cid:228)ad sytuacji powoduj(cid:241)cej wy(cid:264)cig .......................................................... 764 14.5.2. Wy(cid:264)cigi .................................................................................................... 768 14.5.3. Obiekty klasy Lock .................................................................................... 769 14.5.4. Warunki ................................................................................................... 772 14.5.5. S(cid:228)owo kluczowe synchronized ..................................................................... 777 14.5.6. Bloki synchronizowane .............................................................................. 781 14.5.7. Monitor .................................................................................................... 783 14.5.8. Pola ulotne ............................................................................................... 783 14.5.9. Zmienne finalne ........................................................................................ 785 14.5.10. Zmienne atomowe .................................................................................. 785 14.5.11. Zakleszczenia ......................................................................................... 787 14.5.12. Zmienne lokalne w(cid:241)tków ......................................................................... 790 14.5.13. Testowanie blokad i odmierzanie czasu .................................................... 791 14.5.14. Blokady odczytu-zapisu ............................................................................ 793 14.5.15. Dlaczego metody stop i suspend s(cid:241) wycofywane ....................................... 794 14.6. Kolejki blokuj(cid:241)ce ............................................................................................... 795 14.7. Kolekcje bezpieczne w(cid:241)tkowo ............................................................................. 802 14.7.1. Szybkie s(cid:228)owniki, zbiory i kolejki ................................................................. 802 14.7.2. Atomowe modyfikowanie elementów s(cid:228)owników ........................................... 804 14.7.3. Operacje masowe na wspó(cid:228)bie(cid:276)nych s(cid:228)ownikach skrótów .............................. 806 14.7.4. Wspó(cid:228)bie(cid:276)ne widoki zbiorów ....................................................................... 808 14.7.5. Tablice kopiowane przy zapisie ................................................................... 808 14.7.6. Równoleg(cid:228)e algorytmy tablicowe ................................................................. 808 14.7.7. Starsze kolekcje bezpieczne w(cid:241)tkowo ......................................................... 809 14.8. Interfejsy Callable i Future .................................................................................. 810 Poleć książkęKup książkę 12 Java. Podstawy 14.9. Klasa Executors ................................................................................................ 815 14.9.1. Pule w(cid:241)tków ............................................................................................. 815 14.9.2. Planowanie wykonywania ........................................................................... 820 14.9.3. Kontrolowanie grup zada(cid:254) .......................................................................... 821 14.9.4. Szkielet rozga(cid:228)(cid:246)zienie-z(cid:228)(cid:241)czenie .................................................................. 822 14.9.5. Klasa CompletableFuture ........................................................................... 824 14.10. Synchronizatory ............................................................................................... 827 14.10.1. Semafory ............................................................................................... 827 14.10.2. Klasa CountDownLatch ........................................................................... 828 14.10.3. Bariery ................................................................................................... 829 14.10.4. Klasa Exchanger ..................................................................................... 830 14.10.5. Kolejki synchroniczne .............................................................................. 830 14.11. W(cid:241)tki a biblioteka Swing .................................................................................. 830 14.11.1. Uruchamianie czasoch(cid:228)onnych zada(cid:254) ........................................................ 831 14.11.2. Klasa SwingWorker ................................................................................. 835 14.11.3. Zasada jednego w(cid:241)tku ............................................................................ 841 A. S(cid:196)owa kluczowe Javy .......................................................................................................................843 Skorowidz .............................................................................................................................................845 Poleć książkęKup książkę 13 Przygotowywanie apletów i aplikacji do u(cid:209)ytku W tym rozdziale: (cid:81) 13.1. Pliki JAR (cid:81) 13.2. Zapisywanie preferencji u(cid:298)ytkownika (cid:81) 13.3. Modu(cid:225)y (cid:225)adowania us(cid:225)ug (cid:81) 13.4. Aplety (cid:81) 13.5. Java Web Start W tej chwili powinni(cid:286)my swobodnie pos(cid:225)ugiwa(cid:252) si(cid:266) wi(cid:266)kszo(cid:286)ci(cid:261) funkcji j(cid:266)zyka Java. Mamy te(cid:298) solidne podstawy programowania interfejsów graficznych. Skoro potrafimy tworzy(cid:252) aplikacje u(cid:298)ytkowe, musimy pozna(cid:252) techniki przygotowywania ich do u(cid:298)ytku na komputerze u(cid:298)ytkownika. W kwestii tej wybór cz(cid:266)sto pada na aplety (ang. applet), które by(cid:225)y powodem ogromnego zainteresowania Jav(cid:261) na pocz(cid:261)tku jej istnienia. Aplet to specjalny rodzaj pro- gramu w Javie, który mo(cid:298)e zosta(cid:252) pobrany przez przegl(cid:261)dark(cid:266) z internetu i uruchomiony. Mia(cid:225) on uwolni(cid:252) u(cid:298)ytkowników od problemów zwi(cid:261)zanych z instalacj(cid:261) oprogramowania, które by(cid:225)oby pobierane na dowolne urz(cid:261)dzenie lub komputer obs(cid:225)uguj(cid:261)cy Jav(cid:266) i pod(cid:225)(cid:261)czony do internetu. Aplety nie spe(cid:225)ni(cid:225)y pok(cid:225)adanych w nich oczekiwa(cid:276) z wielu powodów. Dlatego rozdzia(cid:225) ten zaczynamy od technik pakowania aplikacji. Nast(cid:266)pnie przedstawiamy sposoby zapisywania przez aplikacje informacji konfiguracyjnych i preferencji u(cid:298)ytkownika. Dodatkowo opisu- jemy techniki wczytywania wtyczek do aplikacji za pomoc(cid:261) klasy ServiceLoader. Pó(cid:296)niej podpowiadamy, co trzeba wiedzie(cid:252) na temat apletów, na wypadek gdyby kto(cid:286) mu- sia(cid:225) jeden utworzy(cid:252) albo obs(cid:225)ugiwa(cid:252). Opisujemy te(cid:298) mechanizm Java Web Start, b(cid:266)d(cid:261)cy alternatywnym rozwi(cid:261)zaniem w zakresie dostarczania aplikacji za pomoc(cid:261) internetu, który pod wieloma wzgl(cid:266)dami przypomina aplety, tylko lepiej nadaje si(cid:266) do wdra(cid:298)ania aplikacji dzia(cid:225)aj(cid:261)- cych poza stron(cid:261) internetow(cid:261). Poleć książkęKup książkę 694 Java. Podstawy 13.1. Pliki JAR Pakowanie aplikacji ma na celu utworzenie jednego pliku do wykorzystania przez u(cid:298)yt- kownika zamiast ca(cid:225)ej struktury katalogów pe(cid:225)nych plików klas. Do tego celu s(cid:225)u(cid:298)(cid:261) podda- wane kompresji ZIP pliki Java Archive (JAR). Mog(cid:261) one zawiera(cid:252) nie tylko pliki klas, ale równie(cid:298) obrazy i pliki d(cid:296)wi(cid:266)kowe. W Javie dost(cid:246)pny jest te(cid:276) alternatywny algorytm kompresji o nazwie pack200, który zosta(cid:228) zoptymalizowany pod k(cid:241)tem bardziej efektywnego zmniejszania rozmiarów plików klas w porównaniu do zwyk(cid:228)ego algorytmu ZIP. Wed(cid:228)ug zapewnie(cid:254) firmy Oracle wspó(cid:228)czynnik kompresji plików klas si(cid:246)ga a(cid:276) 90 . Wi(cid:246)cej informacji na ten temat znajduje si(cid:246) pod adresem http://docs.oracle.com/javase/1.5.0/docs/guide/deployment/ deployment-guide/pack200.html. 13.1.1. Tworzenie plików JAR Do tworzenia plików JAR s(cid:225)u(cid:298)y narz(cid:266)dzie o nazwie jar (w standardowej instalacji JDK znajduje si(cid:266) w katalogu jdk/bin). Najcz(cid:266)(cid:286)ciej stosowane polecenie tworz(cid:261)ce plik JAR ma nast(cid:266)puj(cid:261)c(cid:261) sk(cid:225)adni(cid:266): jar cvf JARNazwaPliku Plik1 Plik2 . . . Na przyk(cid:225)ad: jar cvf CalculatorClasses.jar *.class icon.gif Ogólny format polecenia jar jest nast(cid:266)puj(cid:261)cy: jar opcje Plik1 Plik2 . . . Tabela 13.1 przedstawia wszystkie opcje narz(cid:266)dzia jar. S(cid:261) one podobne do opcji polecenia tar w systemie Unix. Tabela 13.1. Opcje narz(cid:246)dzia jar Opcja c C e f i m Opis Tworzy puste archiwum i dodaje do niego pliki. Katalogi s(cid:261) przetwarzane rekurencyjnie. Zmienia tymczasowo lokalizacj(cid:266). Na przyk(cid:225)ad polecenie cvf JARFileName.jar -C classes *.class przechodzi do katalogu classes w celu dodania klas. Tworzy punkt startowy w manife(cid:286)cie (zobacz podrozdzia(cid:225) 13.1.3, „Wykonywalne pliki JAR”). Okre(cid:286)la plik JAR o danej nazwie jako drugi argument wiersza polece(cid:276). Je(cid:286)li tego parametru brakuje, jar wy(cid:286)le wynik do standardowego wyj(cid:286)cia (przy tworzeniu pliku JAR) lub wczyta go ze standardowego wej(cid:286)cia (przy rozpakowywaniu lub tabulacji pliku JAR). Tworzy plik indeksowy (przyspieszaj(cid:261)cy wyszukiwanie w du(cid:298)ych archiwach). Dodaje manifest do pliku JAR. Manifest jest opisem zawarto(cid:286)ci i pochodzenia pliku archiwum. Ka(cid:298)de archiwum ma domy(cid:286)lny manifest, ale mo(cid:298)na utworzy(cid:252) w(cid:225)asny, który uwierzytelnia zawarto(cid:286)(cid:252) archiwum. Poleć książkęKup książkę Rozdzia(cid:196) 13. (cid:81) Przygotowywanie apletów i aplikacji do u(cid:209)ytku 695 Tabela 13.1. Opcje narz(cid:246)dzia jar (ci(cid:241)g dalszy) Opcja M t u v x 0 Opis Blokuje tworzenie domy(cid:286)lnego pliku manifestu. Wy(cid:286)wietla spis tre(cid:286)ci. Aktualizuje istniej(cid:261)cy plik JAR. Generuje obszerne dane wyj(cid:286)ciowe. Wypakowuje pliki. Je(cid:286)li podanych zostanie kilka nazw plików, zostan(cid:261) wypakowane tylko one. W przeciwnym przypadku program wypakuje wszystkie pliki. Wy(cid:225)(cid:261)cza kompresj(cid:266) ZIP. W plikach JAR mo(cid:298)na pakowa(cid:252) aplikacje, komponenty programów (tak zwane beany, o któ- rych mowa w rozdziale 11. drugiego tomu) i biblioteki kodu. Na przyk(cid:225)ad biblioteka wyko- nawcza JDK jest zawarta w bardzo du(cid:298)ym pliku o nazwie rt.jar. 13.1.2. Manifest Poza klasami, obrazami i innymi plikami (cid:296)ród(cid:225)owymi ka(cid:298)dy plik JAR zawiera plik manifestu, który okre(cid:286)la specjalne w(cid:225)asno(cid:286)ci archiwum. Wspomniany plik manifestu ma nazw(cid:266) MANIFEST.MF, a jego lokalizacja to specjalny pod- katalog META-INF w pliku JAR. Minimalna zawarto(cid:286)(cid:252) takiego pliku nie jest zbyt interesuj(cid:261)ca: Manifest-Version: 1.0 Z(cid:225)o(cid:298)one pliki tego typu mog(cid:261) zawiera(cid:252) znacznie wi(cid:266)cej wpisów pogrupowanych w sekcjach. Pierwsza sekcja nosi nazw(cid:266) sekcji g(cid:225)ównej (ang. main section) i ma zastosowanie do ca(cid:225)ego pliku JAR. Kolejne sekcje okre(cid:286)laj(cid:261) w(cid:225)asno(cid:286)ci ró(cid:298)nych elementów maj(cid:261)cych nazwy, jak kon- kretne pliki, pakiety czy adresy URL. Ka(cid:298)da z nich musi si(cid:266) zaczyna(cid:252) od s(cid:225)owa Name. Sekcje s(cid:261) rozdzielane pust(cid:261) lini(cid:261). Na przyk(cid:225)ad: Manifest-Version: 1.0 opis ca(cid:273)ego archiwum Name: Woozle.class opis jednego pliku Name: com/mycompany/mypkg/ opis pakietu Aby zmieni(cid:252) zawarto(cid:286)(cid:252) pliku manifestu, nale(cid:298)y dokona(cid:252) niezb(cid:266)dnych zmian i wyda(cid:252) poni(cid:298)sze polecenie: jar cfm NazwaPlikuJAR NazwaPlikuManifest . . . Na przyk(cid:225)ad poni(cid:298)sze polecenie tworzy nowy plik JAR z plikiem manifestu: jar cfm MyArchive.jar manifest.mf com/mycompany/mypkg/*.class Poleć książkęKup książkę 696 Java. Podstawy Aby zaktualizowa(cid:252) plik manifestu istniej(cid:261)cego pliku JAR, nale(cid:298)y umie(cid:286)ci(cid:252) w pliku teksto- wym wpisy, które maj(cid:261) by(cid:252) dodane, i wyda(cid:252) nast(cid:266)puj(cid:261)ce polecenie: jar ufm MyArchive.jar manifest-additions.mf Wi(cid:246)cej informacji na temat plików JAR i manifestu mo(cid:276)na znale(cid:274)(cid:232) na stronie http://docs.oracle.com/javase/8/docs/technotes/guides/jar. 13
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Java. Podstawy. Wydanie X
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: