Java. Æwiczenia zaawansowane
|
|
- Julia Orzechowska
- 7 lat temu
- Przeglądów:
Transkrypt
1 IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Java. Æwiczenia zaawansowane Autor: Marcin Lis ISBN: Format: B5, stron: 142 Æwiczenia zaawansowane s¹ kolejnym etapem na drodze doskonalenia informatycznych umiejêtnoœci. Czytelnicy, którzy poznali poprzedni¹ ksi¹ k¹ Marcina Lisa Java. Æwiczenia praktyczne, z ca³¹ pewnoœci¹ nie bêd¹ zawiedzeni. Z niniejszej publikacji dowiemy siê, jak pisaæ programy wielow¹tkowe i jak w Javie obs³ugiwaæ bazy danych. Napiszemy w³asny, gotowy do praktycznego u ycia czat oraz aplikacjê do wysy³ania SMS-ów. Nauczymy siê te tworzyæ aplikacje sieciowe z interfejsem graficznym! Wybrane zagadnienia: W¹tki i programowanie wspó³bie ne w Javie Synchronizacja w¹tków Programowanie sieciowe Czym s¹ gniazda? Serwer wielow¹tkowy ¹czenie z baz¹ danych Dodawanie rekordów Modyfikacja rekordów w bazie Obs³uga transakcji i wartoœci null Aplikacja z interfejsem graficznym Ksi¹ ka otwiera now¹ seriê wydawnicz¹, której g³ównym zadaniem bêdzie poszerzenie uzyskanych wiadomoœci. Wydawnictwo Helion ul. Chopina Gliwice tel. (32) helion@helion.pl
2 Wstęp...z...z Rozdział 1. Wątki i programowanie współbieżne w Javie...z... 7 Klasa Thread...d...d... 7 Interfejs Runnable...d...d. 11 Synchronizacja wątków...d Rozdział 2. Programowanie sieciowe...z Czym są gniazda?...d...d. 29 Gniazda w Javie...d...d Klient i serwer...d...d Transmisja danych...d...d 39 Serwer wielowątkowy...d Rozdział 3. Aplikacje sieciowe z interfejsem graficznym...z Prawdziwa aplikacja czat (chat) w Javie...d Chat Serwer...d...d Wyślij SMS...d...d Idea...d...d Rozdział 4. Bazy danych...z...z Łączenie z bazą danych...d Dodawanie rekordów...d Modyfikacja rekordów w bazie...d Obsługa transakcji i wartości null...d Aplikacja z interfejsem graficznym...d
3 Ćwiczenie 1.1. Wątki w Javie reprezentowane są przez klasę $6/+., znajdującą się w pakiecie +:++21. Program korzystający z więcej niż jednego wątku możemy utworzyć na dwa sposoby. Albo wyprowadzimy własną, nową klasę z klasy $6/+., albo też nasza klasa będzie musiała implementować interfejs "922+,/. Zajmijmy się na początku metodą pierwszą. Utworzymy dwie klasy: klasę główną np. +2 i klasę rozszerzającą klasę $6/+. np. $6/+.. W klasie $6/+. należy zdefiniować metodę 692, od której rozpocznie się działanie wątku; w klasie +2 trzeba utworzyć obiekt klasy $6/+. i wywołać jego metodę Najlepiej wykonać od razu odpowiedni przykład. Napisz kod klasy $6/+. dziedziczącej z klasy $6/+.. 49,- -+77$6/+./8/2.7$6/+. 49,-$6/+. 794/6 49,-:3.692 #78/ $6/+.$6/+.
4 8 Java. Ćwiczenia zaawansowane Ćwiczenie 1.2. Napisz kod klasy +2 tworzący wątek $6/+.. 49, ,-78+8-:3.+2# $6/+.$6/+.2/;$6/+. $6/ #78/ $6/+.+2 Rysunek 1.1. Wyraźnie widać, że oba wątki zostały wykonane Jeśli spojrzymy teraz na rysunek 1.1, przekonamy się, że oba wątki faktycznie zostały wykonane. Podobny efekt możemy osiągnąć również w nieco inny sposób. Nie trzeba tworzyć oddzielnie klasy uruchomieniowej dla wątku (w naszym przypadku była to klasa +2). Wystarczy w klasie wyprowadzonej z $6/+. zdefiniować metodę +2 i tam utworzyć obiekty wątków. Ćwiczenie 1.3. Napisz kod klasy $6/+. wyprowadzonej z klasy $6/+., uruchamiającej dwa przykładowe wątki. 49,- -+77$6/+./8/2.7$6/+. 49,-$6/+. 794/6 49,-:3.692 #78/ /8+/ 49,-78+8-:3.+2# /;$6/ /;$6/
5 Rozdział 1. L Wątki i programowanie współbieżne w Javie 9 Rysunek 1.2. Na ekranie wyświetlone zostały systemowe nazwy wątków Efekt działania kodu z ćwiczenia 1.3 widoczny jest na rysunku 1.2. Na ekranie wyświetlone są nazwy wątków nadane im przez system. Wykorzystaliśmy w tym celu metodę 1/8+/ klasy $6/+.. Warto zauważyć, że w tej chwili mamy inną sytuację niż w poprzednich przykładach. W ćwiczeniach 1.1 i 1.2 występowały dwa wątki, wątek główny i wątek klasy $6/+.. Teraz mamy trzy wątki wątek główny, którego wykonanie rozpoczyna się od metody +2, oraz dwa wątki tworzone przez nas w tej metodzie, których wykonywanie rozpoczyna się od metody 692. Ćwiczenie 1.4. Gdybyśmy chcieli samodzielnie nadać nazwy poszczególnym wątkom, możemy nazwy te przekazać jako parametr w konstruktorze klasy $6/+., a następnie skorzystać z metody 7/8+/. Zmodyfikuj kod z ćwiczenia 1.3 w taki sposób, aby istniała możliwość nadania własnych nazw wątkom. 49,- -+77$6/+./8/2.7$6/+. 49,-$6/+.#86212+/ 794/6 7/8+/2+/ 49,-:3.692 #78/ /8+/ 49,-78+8-:3.+2# /;$6/+.'8/ /;$6/+.'8/78+68 Spróbujmy jednak przekonać się, że rzeczywiście nasze wątki wykonują się niezależnie od siebie. Wystarczy, jeśli dopiszemy pętlę wyświetlającą kilkukrotnie nazwę każdego wątku.
6 10Java. Ćwiczenia zaawansowane Ćwiczenie 1.5. Napisz przykładowy kod ilustrujący niezależne działanvie wątków. 49,- -+77$6/+./8/2.7$6/+. 28./+ 49,-$6/+.#86212+/Г28./+ 794/6 7/8+/2+/ 87./+./+ 49,-: #78/ /8+/ 86 7//4./ /66948/.-/4832/ 49,-78+8-:3.+2# /;$6/+. /6;7Г /;$6/+.691Г78+68 Rysunek 1.3. Widać wyraźnie, że wątki wykonują się niezależnie od siebie Dodatkowo wyposażyliśmy nasze wątki w metodę 7//4, która usypia je na zadaną ilość milisekund. Dzięki temu możemy spowodować, że każdy z nich wypisuje dane na ekran z inną prędkością. Efekt różnych prędkości działania widać wyraźnie na rysunku 1.3.
7 Rozdział 1. L Wątki i programowanie współbieżne w Javie 11 Wyprowadzanie własnej klasy z klasy $6/+. jest wygodne, ale nie zawsze możliwe. Z sytuacją taką będziemy mieli do czynienia, gdy nasza klasa już dziedziczy z innej, a musimy uzupełnić ją o możliwość działania wielowątkowego. Na szczęście istnieje interfejs "922+,/, który pomoże nam w rozwiązaniu tego problemu. W interfejsie "922+,/ zdefiniowana jest jedna metoda: 692, od której, podobnie jak w przypadku klasy $6/+., rozpoczyna się wykonywanie kodu wątku. W celu uruchomienia nowego wątku tworzymy nowy obiekt naszej klasy, a następnie używamy go jako parametru konstruktora klasy $6/+.. Schematycznie wygląda to następująco (zakładając, że +77 implementuje "922+,/): $6/+.2/;+77 2/;$6/+.+77$6/+. Dostępne konstruktory klasy $6/+. przedstawione są w tabeli 1.1. Tabela 1.1. Konstruktory klasy Thread Konstruktor $6/+. $6/+."922+,/8+61/8 $6/+."922+,/8+61/8Г #86212+/ $6/+.#86212+/ $6/+.$6/ Г "922+,/8+61/8 $6/+.$6/ Г "922+,/8+61/8Г#86212+/ $6/+.$6/ Г #86212+/ Opis Konstruktor bezparametrowy. Tworzy nowy obiekt klasby $6/+. Tworzy nowy obiekt klasy $6/+. związany z obiektem docelowym 8+61/8 Tworzy nowy obiekt klasy $6/+. związany z obiektem docelowym 8+61/8, o nazwie 2+/ Tworzy nowy obiekt klasy $6/+. o nazwie 2+/ Tworzy nowy obiekt klasy $6/+. związany z obiektem docelowym 8+61/8, przypisany do grupy Tworzy nowy obiekt klasy $6/+. o nazwie 2+/, związany z obiektem docelowym 8+61/8, przypisany do grupy Tworzy nowy obiekt klasy $6/+. o nazwie 2+/, przypisany do grupy Ćwiczenie 1.6. Napisz przykładowy kod ilustrujący niezależne działanie wątków. Skorzystaj z interfejsu "922+,/. 49, //287"922+,/ 28./+ #8621;36. 49,-+2#8621;36.Г28./+ 87./+./+ 87;36.;36.
8 12 Java. Ćwiczenia zaawansowane 49,-: #78/ ; $6/+.7//4./ /66948/.-/4832/ 49,-78+8-:3.+2# "922+,/86/+.2/;+286/+.Г "922+,/86/+.2/;+286/+.Г 2/;$6/+.86/ /;$6/+.86/ Ćwiczenie 1.7. Dobrym przykładem wykorzystania interfejsu "922+,/ jest klasa posiadająca interfejs graficzny. Nie możemy w takim przypadku dziedziczyć bezpośrednio z klasy $6/+., gdyż np. utworzenie okna wymaga dziedziczenia z klasy 6+/, a wielodziedziczenia w Javie nie ma. Stosujemy więc interfejs "922+,/, który rozwiązuje nasz problem. Postarajmy się zatem napisać prostą aplikację z interfejsem graficznym, która będzie wykonywała przykładowe obliczenia w osobnym wątku. Napisz aplikację z interfejsem graficznym, wykonującą w osobnym wątku przykładowe obliczenia. Stan obliczeń powinien być sygnalizowany uvżytkownikowi :++; :++;8/:/28 49, /8/2.76+/4//287"922+,/Г-83278/2/6Г'2.3;78/2/6 46:+8/#8621;-$6/ /-8/ ,# /-8/ ,# /-8/ ,/ 6316/ /-8/.78+8-,33/ /. 49,-+2#8621;-$6/+. 794/6 87;-$6/+.;-$6/+. 0+2/59+7;-$6/+. 6/ '2.3;78/2/687 7/ /8#/Г,#8+682/;98832#8+68,#8+687/8392.7ГГГ
9 Rozdział 1. L Wątki i programowanie współbieżne w Javie 13,# /2/ ,#8+68,#8342/;98832#834,#8347/8392.7ГГГ,# /2/ ,# /772/;+,/ 6316/777/8392.7ГГГ /77,#8+687/82+,/.869/,#8347/82+,/.0+7/ 7/8&7,/869/ 49,-: /.0+7/ $6/+.7// /66948/.-/4832/ /.,6/+ 6316/777/8$/828/1/683#8621,#8+687/82+,/.869/,#8347/82+,/.0+7/ 49,-78+8-:3.+2# /; ,-: /6036/.-832:/28/:8 #862184/:81/ /59+7#8+68,#8+687/82+,/.0+7/ +2+22/; / 2/;$6/ ,#8347/82+,/.869/ /7/084/59+7# /.869/ 49,-:3.;2.3;/-320/.'2.3;:/28/:8 49,-:3.;2.3;37/.'2.3;:/28/:8 49,-:3.;2.3;/+-8:+8/.'2.3;:/28/:8
10 14 Java. Ćwiczenia zaawansowane 49,-:3.;2.3;3721'2.3;:/28/:8 #78//8 49,-:3.;2.3;-8:+8/.'2.3;:/28/:8 49,-:3.;2.3;-320/.'2.3;:/28/:8 49,-:3.;2.3;4/2/.'2.3;:/28/:8 Rysunek 1.4. Po kliknięciu przycisku Start rozpoczęły się obliczenia Ćwiczenie 1.8. W metodzie 692 napisaliśmy zwykłą pętlę 036 symulującą wykonywanie jakichś obliczeń. Co 250 milisekund uaktualnia ona tekst etykiety 6316/77. Wykonywanie tej operacji rozpoczyna się po naciśnięciu przycisku Start. Działanie pętli możemy przerwać poprzez wciśnięcie przycisku Stop, następuje wtedy przypisanie zmiennej 78344/. wartości 869/. Wartość tej zmiennej sprawdzana jest cyklicznie, zatem po takim przypisaniu nastąpi przerwanie działania. Musimy tutaj zdawać sobie jednak sprawę, że mamy dwa obiekty klasy +2. Jeden z nich tworzony jest w metodzie +2, drugi po naciśnięciu przycisku Start. Zatem jeśli mają one ze sobą współpracować na takiej zasadzie jak przedstawiona powyżej, zmienne,#8+68,,#834, 6316/77 i 78344/. muszą być zadeklarowane jako statyczne. Inaczej każdy wątek będzie operował na własnej, lokalnej kopii tych zmiennych i całość oczywiście nie będzie działać. Nic nie stoi jednak na przveszkodzie, aby aplikację tę skonstruować w taki sposób, aby wątek był tworzony znanym nam już sposobem, przez oddzielną klasę, pochodną od $6/+.. Napisz kod klasy $6/+. symulującej wykonywanie obliczeń i współpracującej z klasą +2 realizującą interfejs graficzny. 49,- -+77$6/+./8/2.7$6/+. 28./ /28,33/ /. 49,-$6/ /28Г28./+
11 Rozdział 1. L Wątki i programowanie współbieżne w Javie /6 87./+./ /284+6/28 49,-: /.0+7/ //4./ /66948/.-/4832/ /.,6/+ 4+6/ /777/8$/828/1/683#8621 Ćwiczenie 1.9. Metoda 692 wygląda tu bardzo podobnie, jak w poprzednim ćwiczeniu. Różnice są takie, że opóźnienie jest teraz sparametryzowane, możemy je regulować wartością zmiennej./+ (jest ona przekazywana w konstruktorze klasy) oraz że wprowadziliśmy zmienną 4+6/28, która jest referencją do obiektu klasy +2 i umożliwia nam komunikację z nim. Dzięki temu możemy modyfikować tekst pojawiający się na ekranie. Musimy w tej chwili tylko przystosować klasę +2 do współpracy z naszym nowym wątkiem. Napisz kod klasy +2 wykorzystującej przygotowaną w ćwiczeniu 1.8 klasę vwątku :++; :++;8/:/28 49, /8/2.76+/4// /2/6Г'2.3;78/2/6 4638/-8/.98832,# /-8/.98832,# /-8/.+,/ 6316/ /-8/.$6/+.86/+. 49, /6 +..'2.3;78/2/687 7/ /8#/Г,#8+682/;98832#8+68,#8+687/8392.7ГГГ,# /2/ ,#8+68
12 16 Java. Ćwiczenia zaawansowane,#8342/;98832#834,#8347/8392.7ггг,# /2/ ,# /772/;+,/ 6316/777/8392.7ГГГ /77,#8+687/82+,/.869/,#8347/82+,/.0+7/ 7/8&7,/869/ 49,-78+8-:3.+2# /;+2 49,-: /6036/.-832:/28/:8 #862184/:81/ /59+7#8+68,#8+687/82+,/.0+7/ 86/+.2/;$6/+.87Г 86/ ,#8347/82+,/.869/ /7/084/59+7#834 86/ /.869/,#8+687/82+,/.869/,#8347/82+,/.0+7/ 49,-:3.;2.3;/-320/.'2.3;:/28/:8 49,-:3.;2.3;37/.'2.3;:/28/:8 49,-:3.;2.3;/+-8:+8/.'2.3;:/28/:8 49,-:3.;2.3;3721'2.3;:/28/:8 #78//8 49,-:3.;2.3;-8:+8/.'2.3;:/28/:8 49,-:3.;2.3;-320/.'2.3;:/28/:8 49,-:3.;2.3;4/2/.'2.3;:/28/:8
13 Rozdział 1. L Wątki i programowanie współbieżne w Javie 17 Ćwiczenie Rozważmy w tej chwili następującą sytuację: mamy zmienną typu całkowitego i dwa wątki modyfikujące jej wartość. Załóżmy, że będzie to dodawanie w pętli w każdym przebiegu wartości 1, a sama pętla będzie miała tych przebiegów 10. Jaka będzie ostateczna wartość naszej zmiennej? Jeśli pierwszy wątek 10 razy zwiększył wartość o 1 i drugi wątek zrobił to samo, to w sumie powinno dać 20. Napiszmy taki program. Napisz program, w którym dwa wątki będą niezależnie od siebie modyfikowały wartość jednej zmiennej typu ,- -+77$6/+./8/2.7$6/+. 46:+8/28;-$6/+. 46:+8/28./+ 46:+8/ ,-$6/+.28;-$6/+.Г28./+ 794/6 87./+./+ 87;-$6/+.;-$6/+. 49,-: ;8-;-$6/+. -+7/86/+.,6/+ -+7/86/+.,6/+ -+7/86/+.,6/+ 49,-78+8-:3.+2# /;$6/+.Г /;$6/+.Г /;$6/+.Г ,-:3.86/ //4./ /66948/.-/4832/ ,-:3.86/ //4./+
14 18 Java. Ćwiczenia zaawansowane /66948/.-/4832/ , /.:3.86/+. 86 ; /66948/.-/4832/ #78/ / #78/ /8+/ Ćwiczenie Wątki 86/+. i 86/+. zajmują się zwiększaniem wartości zmiennej Jedynym zadaniem wątku 86/+. jest odczekanie milisekund i wyświetlenie wartości zmiennej Uruchomienie powyższego kodu wykaże, że faktycznie otrzymamy wartość 20, tak jak przewidzieliśmy wcześniej. Czy zatem wszystko jest w porządku? Jak najbardziej. Co się jednak stanie, jeśli instrukcja modyfikująca będzie w postaci ? Napiszmy taki program. Zmodyfikuj kod z ćwiczenia 1.10 w taki sposób, aby modyfikacja zmiennej była w postaci: ,- -+77$6/+./8/2.7$6/+. 46:+8/28;-$6/+. 46:+8/28./+ 46:+8/ ,-$6/+.28;-$6/+.Г28./+ 794/6 87./+./+ 87;-$6/+.;-$6/+. 49,-: ;8-;-$6/+. -+7/86/+.,6/+ -+7/86/+.,6/+ -+7/86/+.,6/+ 49,-78+8-:3.+2# /;$6/+.Г /;$6/+.Г /;$6/+.Г78+68
15 Rozdział 1. L Wątki i programowanie współbieżne w Javie 19 49,-:3.86/ //4./ /66948/.-/4832/ ,-:3.86/ //4./ /66948/.-/4832/ , /.:3.86/+. 86 ; /66948/.-/4832/ #78/ / #78/ /8+/ Modyfikacje nie były duże, a po uruchomieniu ujrzymy prawdopodobnie również wynik 20. Czy zatem wszystko znowu jest w porządku? Otóż absolutnie nie! Wszystko zależy teraz od kompilatora. Jeśli jest on inteligentny, prawdopodobnie potraktuje instrukcję jako W takim wypadku faktycznie program będzie prawidłowy, gdyż jest instrukcją atomową, tzn. nie może być ona przerwana przez inny wątek. Niestety nie należy przyjmować takiego założenia, natomiast trzeba traktować taki kod jako złożenie następujących operacji: L pobranie wartości , L dodanie do tej wartości 1, L zapisanie otrzymanej wartości do zmiennej Skoro tak, operacje te mogą zostać przerwane przez inny wątek. Co się wtedy stanie? Otóż otrzymany wynik na pewno nie będzie prawidłowy. Żeby się o tym przekonać, zasymulujemy przerywanie tych operacji. Zrobimy to w sposób następujący: L wartość zmiennej będziemy modyfikować w dwóch krokach, L pomiędzy poszczególnymi operacjami dodamy instrukcjvę 7//4, usypiającą dany wątek.
16 20Java. Ćwiczenia zaawansowane Ćwiczenie Kod w każdym wątku powinien zatem wyglądać następujvąco: 288/ / //4./ /66948/.-/4832/ /4 #78/ /8+/ Napisz program wymuszający wzajemne przerywanie pracy wątków przy modyfikacji wspólnej zmiennej typu ,- -+77$6/+./8/2.7$6/+. 46:+8/28;-$6/+. 46:+8/28./+ 46:+8/ ,-$6/+.28;-$6/+.Г28./+ 794/6 87./+./+ 87;-$6/+.;-$6/+. 49,-: ;8-;-$6/+. -+7/86/+.,6/+ -+7/86/+.,6/+ -+7/86/+.,6/+ 49,-78+8-:3.+2# /;$6/+.Г /;$6/+.Г /;$6/+.Г ,-:3.86/+. 288/ / //4./ /66948/.-/4832/ /4 #78/ /8+/
17 Rozdział 1. L Wątki i programowanie współbieżne w Javie 21 49,-:3.86/+. 288/ / //4./ /66948/.-/4832/ /4 #78/ /8+/ , /.:3.86/+. 86 ; /66948/.-/4832/ #78/ / #78/ /8+/ Rysunek 1.5. Widać wyraźnie, że wątki sobie wzajemnie przeszkadzają Instrukcje #78/ dokładnie pokazują nam, co się dzieje. Wynik oczywiście nie jest prawidłowy, gdyż pomiędzy pobraniem wartości a jej modyfikacją i ponownym zapisaniem w każdym wątku występuje przerwa, umożliwiająca wykonanie operacji przez inny wątek. Skutek jest taki, że mówiąc potocznie nie wie lewica, co robi prawica i wynik jest zafałszowany. Jest to typowy przykład dostępu do zasobu współdzielonego przez pracujące współbieżnie wątki. Aby zatem nasz przykład był poprawny, musimy dokonać ich synchronizacji. W Javie służy do tego instrukcja /.. Możemy ją stosować zarówno w przypadku metod (ang. synchronized methods), jak i obiektów. Jeżeli zadeklarujemy metodę jako /., np.:
18 22 Java. Ćwiczenia zaawansowane Ćwiczenie , /.:3.73; / to wywołanie takiej metody powoduje zablokowanie obiektu, na rzecz którego jest ona wywoływana. Obiekt ten będzie zablokowany, aż do zakończenia wykonywania tejże instrukcji i inne wątki nie będą miały do niego dostępu. Druga metoda to zablokowanie obiektu w postaci: #2-632/.3,/ / przy czym obiekt użyty do synchronizacji nie musi być użyty w bloku instrukcji. Spróbujmy zatem zsynchronizować dostęp do zmiennej z poprzedniego ćwiczenia. Dokonaj synchronizacji dostępu do zmiennej z ćwiczenia ,- -+77$6/+./8/2.7$6/+. 46:+8/28;-$6/+. 46:+8/28./+ 46:+8/ :+8/78+8-,/-87/+436/ 49,-$6/+.28;-$6/+.Г28./+ 794/6 87./+./+ 87;-$6/+.;-$6/+. 49,-: ;8-;-$6/+. -+7/86/+.,6/+ -+7/86/+.,6/+ -+7/86/+.,6/+ 49,-78+8-:3.+2# /+436/2/;,/-8 2/;$6/+.Г /;$6/+.Г /;$6/+.Г ,-:3.86/+. 288/ /.7/+436/ 8/
19 Rozdział 1. L Wątki i programowanie współbieżne w Javie //4./ /66948/.-/4832/ /4 #78/ /8+/ ,-:3.86/+. 288/ /.7/+436/ 8/ //4./ /66948/.-/4832/ /4 #78/ /8+/ , /.:3.86/+. 86 ; /66948/.-/4832/ #78/ / #78/ /8+/ Na rysunku 1.6 widać, że synchronizacja zakończyła się pełnym powodzeniem. Użyliśmy dodatkowego obiektu 7/+436/, który pełni rolę strażnika dostępu do zmiennej Jest to jego jedyna rola, do niczego innego nam w tym przykładzie nie służy. Oczywiście nic nie stoi na przeszkodzie, aby użyć obiektu, który jest wykorzystywany w kodzie programu, np. tablicy, jednakże w powyższym ćwiczeniu po prostu nie mieliśmy takiego pod ręką. Nie możemy natomiast użyć w tym celu zmiennej (wszak to byłoby najwygodniejsze), gdyż jest ona typu 28, a instrukcji /. możemy użyć tylko w stosunku do typów wyprowadzonych z klasy,/-8. Pokażmy jednak, że do synchronizacji można użyć obiektu, który będzie modyfikowany. Nie musimy wtedy wprowadzać dodatkowej zmiennej synchronizacyjnej. Aby tego dokonać, musimy napisać własną klasę enkapsulującą zmienną typu 28. To zadanie powinno być zupełnie banalne.
20 24 Java. Ćwiczenia zaawansowane Rysunek 1.6. Synchronizacja powiodła się i otrzymany wynik jest teraz prawidłowy Ćwiczenie Napisz kod klasy enkapsulującej zmienną typu , ,-28:+9/ Ćwiczenie Dokonaj synchronizacji dostępu do zmiennej z ćwiczenia Nie używaj dodatkowego obiektu klasy,/-8. Zamiast tego zmień typ z 28 na i użyj tego obiektu do synchronizacji. 49,- -+77$6/+./8/2.7$6/+. 46:+8/28;-$6/+. 46:+8/28./+ 46:+8/ ,-$6/+.28;-$6/+.Г28./+ 794/6 87./+./+ 87;-$6/+.;-$6/+. 49,-: ;8-;-$6/+. -+7/86/+.,6/+ -+7/86/+.,6/+ -+7/86/+.,6/+ 49,-78+8-:3.+2# /; /;$6/+.Г78+68
21 Rozdział 1. L Wątki i programowanie współbieżne w Javie 25 2/;$6/+.Г /;$6/+.Г ,-:3.86/+. 288/ / / :+9/ 86 7//4./ /66948/.-/4832/ :+9/8/4 #78/ /8+/ :+9/ 49,-:3.86/+. 288/ / / :+9/ 86 7//4./ /66948/.-/4832/ :+9/8/4 #78/ /8+/ :+9/ 49, /.:3.86/+. 86 ; /66948/.-/4832/ #78/ / #78/ /8+/ :+9/ Jak widać, obiektem służącym do synchronizacji jest tu i jednocześnie jest to obiekt, który modyfikujemy w bloku /.. Jest to bardzo wygodna metoda, gdyż nie musimy tworzyć dodatkowych zmiennych zaśmiecającyvch system. Skorzystajmy teraz z drugiego sposobu synchronizacji, czyli z metod synchronizowanych. Zgodnie z tym, co napisaliśmy powyżej, musimy utworzyć metodę, która będzie modyfikowała obiekt i zadeklarować ją jako /.. Może ona wyglądać w sposób następujący:
22 26 Java. Ćwiczenia zaawansowane Ćwiczenie , /.: / / :+9/ :+9/8/4 Pozostaje teraz wykorzystać ten kod w aplikacji. Dokonaj synchronizacji dostępu do zmiennej typu Wykorzystaj synchronizowaną metodę 94.+8/ ,- -+77$6/+./8/2.7$6/+. 46:+8/28;-$6/+. 46:+8/28./+ 46:+8/ ,-$6/+.28;-$6/+.Г28./+ 794/6 87./+./+ 87;-$6/+.;-$6/+. 49,-: ;8-;-$6/+. -+7/86/+.,6/+ -+7/86/+.,6/+ -+7/86/+.,6/+ 49,-78+8-:3.+2# /; /;$6/+.Г /;$6/+.Г /;$6/+.Г , /.: / / :+9/ :+9/8/4 49,-:3.86/ / #78/ /8+/ :+9/ 86 7//4./ /66948/.-/4832/
23 Rozdział 1. L Wątki i programowanie współbieżne w Javie 27 49,-:3.86/ / #78/ /8+/ :+9/ 86 7//4./ /66948/.-/4832/ 49, /.:3.86/+. 86 ; /66948/.-/4832/ #78/ / #78/ /8+/ :+9/
Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.
Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).
Język Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
MySQL. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ
C++. Æwiczenia zaawansowane
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRECI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG C++. Æwiczenia zaawansowane Autor: Andrzej Stasiewicz ISBN: 83-7361-766-3 Format: B5, stron: 120 TWÓJ KOSZYK
Język Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Java. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE Java. Æwiczenia praktyczne Autor: Marcin Lis ISBN: 83-7197-723-9 Format: B5, stron: 166 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
JavaScript. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Pętle. Dodał Administrator niedziela, 14 marzec :27
Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać
P³atnik. Przewodnik IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE P³atnik. Przewodnik Autor: Adam Józefiok ISBN: 83-246-0404-9 Format: A5, stron: 288 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:
Smarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Java Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
AutoCAD 2005. Pierwsze kroki
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG AutoCAD 2005. Pierwsze kroki Autor: Andrzej Pikoñ ISBN: 83-7361-581-4 Format: B5, stron: 216 TWÓJ KOSZYK CENNIK
Baza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Lekcja : Tablice + pętle
Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie
Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Laboratorium 9 (Więcej Aktywności, w Androidzie)
Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 9 (Więcej Aktywności, w Androidzie) Aplikacje systemu Android składają się z luźnego zbioru aktywności (ang. activities), z których każda
Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Aplikacje w Javie- wykład 11 Wątki-podstawy
1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Dziedziczenie. Zadanie 1
Dziedziczenie Zadanie 1 Napisz klasę KolorowyPunkt, która dziedziczy po klasie Punkt a dodatkowo przechowuje informacje o kolorze. Uzupełnij ją o metody umożliwiające pobieranie i ustawianie koloru. Pamiętaj
The Bat! Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE The Bat! Æwiczenia Autor: Piotr Czarny ISBN: 83-7361-744-2 Format: B5, stron: 124 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA
Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Języki i techniki programowania Ćwiczenia 2
Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...
Wprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Informatyka II. Laboratorium Aplikacja okienkowa
Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.
OpenOffice.ux.pl 2.0. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG OpenOffice.ux.pl 2.0. Æwiczenia praktyczne Autor: Maria Sokó³ ISBN: 83-246-0508-8 Format: A5, stron: 220 TWÓJ
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej
Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
C#. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRECI KATALOG KSI EK KATALOG ONLINE C#. Æwiczenia Autor: Marcin Lis ISBN: 83-7361-128-2 Format: B5, stron: 166 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA CENNIK
Matematyka z komputerem dla gimnazjum
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY
Rozdział 5. Administracja kontami użytkowników
Rozdział 5. Administracja kontami użytkowników Ćwiczenia zawarte w tym rozdziale pozwolą przygotować oddzielne środowisko pracy dla każdego użytkownika komputera. Windows XP, w porównaniu do systemów Windows
Wybierz polecenie z menu: Narzędzia Listy i dokumenty
Listy seryjne - część pierwsza Przygotowanie korespondencji seryjnej zawsze składa się z trzech etapów. Przygotowanie treści dokumentu głównego. Stworzenie źródła danych (lub skorzystanie z gotowej bazy
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS
Misja#3. Robimy film animowany.
Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje
1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4
Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.
Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej
Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej mtoken Asseco MAA to nowoczesna aplikacja do bezpiecznej autoryzacji bankowych transakcji online. Działa ona na urządzeniach mobilnych
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje
timetrack Przewodnik Użytkownika timetrack jest łatwą w obsłudze aplikacją, stworzoną do rejestracji czasu. Pozwala ona na zapisywanie czasu spędzonego z klientami oraz podczas pracy nad projektami i zadaniami
Korespondencja seryjna
Korespondencja seryjna Listy seryjne - część pierwsza Przygotowanie korespondencji seryjnej zawsze składa się z trzech etapów. Przygotowanie treści dokumentu głównego. Stworzenie źródła danych (lub skorzystanie
Łączenie liczb i tekstu.
Łączenie liczb i tekstu. 1 (Pobrane z slow7.pl) Rozpoczynamy od sposobu pierwszego. Mamy arkusz przedstawiony na rysunku poniżej w którym zostały zawarte wypłaty pracowników z wykonanym podsumowaniem.
W dowolnym momencie można zmienić typ wskaźnika.
c++ Wskaźniki mają jeszcze jedną przydatną cechę. W dowolnym momencie można zmienić typ wskaźnika. Robi się to za pomocą operatora rzutowania. Najpierw zdefiniujemy sobie wsk_uniwersalny mogący pokazywać
Interfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
po wykonaniu instrukcji wartość zmiennej x zostanie zwiększona o 50,a
Część XIV C++ Złożone wyrażenia w pętli for W wypadku zagnieżdżenia dwóch pętli druga pętla wykonywana jest w całości w każdym przebiegu pętli pierwszej. Jednak niekiedy zachodzi potrzeba równoczesnego
Utworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
UNIFON podręcznik użytkownika
UNIFON podręcznik użytkownika Spis treści: Instrukcja obsługi programu Unifon...2 Instalacja aplikacji Unifon...3 Korzystanie z aplikacji Unifon...6 Test zakończony sukcesem...9 Test zakończony niepowodzeniem...14
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Uruchomienie programu powoduje stworzenie nowego procesu przez system operacyjny. Proces wykonywany program wraz
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
epuap Archiwizacja w Osobistym Składzie Dokumentów
epuap Archiwizacja w Osobistym Składzie Dokumentów Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka SPIS TREŚCI SPIS
5.4. Tworzymy formularze
5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania
Informatyka Europejczyka. Zeszyt æwiczeñ dla szko³y podstawowej. Czêœæ II
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Informatyka Europejczyka. Zeszyt æwiczeñ dla szko³y podstawowej. Czêœæ II Autorzy: Danuta Kia³ka, Katarzyna
Kopiowanie, przenoszenie plików i folderów
Kopiowanie, przenoszenie plików i folderów Pliki i foldery znajdujące się na dysku można kopiować lub przenosić zarówno w ramach jednego dysku jak i między różnymi nośnikami (np. pendrive, karta pamięci,
Internet. Æwiczenia praktyczne. Wydanie II
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOœCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREœCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY
Mandrake Linux. Æwiczenia zaawansowane IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY
Dziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.
Dziedziczenie Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasy Student oraz Pracownik: class Student class Pracownik
Programowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Mandriva. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE Mandriva. Æwiczenia Autor: Maciej Groszek ISBN: 83-246-0666-1 Format: A5, stron: 112 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Aplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.
Maple i wykresy 1 Program Maple 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu. 1.2 Uruchomienie programu Maple Uruchamiamy go, wpisując w konsoli maple, potwierdzając
Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Zdarzenia Zdarzenia onload i onunload
Zdarzenia Zdarzenia onload i onunload Ćwiczenie 1. Rysunek 1. Okno powitalne wykorzystujące zdarzenie onload Na stronie mogą zachodzić różne zdarzenia, np. użytkownik kliknie myszą lub zacznie wprowadzać
Być może jesteś doświadczonym programistą, biegle programujesz w Javie,
Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,
3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM
\ 3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM SPIS TREŚCI 1. LOGOWANIE DO APLIKACJI... 3 2. WYGLĄD OKNA... 4 3. SKRZYNKA ODBIORCZA... 5 3.1. SKRZYNKA ODBIORCZA - Objaśnienie kolumn:...
MATLAB. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE MATLAB. Æwiczenia Autor: Marek Czajka ISBN: 83-7361-711-6 Format: B5, stron: 96 Przyk³ady na ftp: 2 kb ZAMÓW DRUKOWANY KATALOG TWÓJ
5. Bazy danych Base Okno bazy danych
5. Bazy danych Base 5.1. Okno bazy danych Podobnie jak inne aplikacje środowiska OpenOffice, program do tworzenia baz danych uruchamia się po wybraniu polecenia Start/Programy/OpenOffice.org 2.4/OpenOffice.org
MS Project 2000. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MS Project 2000. Æwiczenia praktyczne Autor: Sebastian Wilczewski ISBN: 83-7197-975-4 Format: B5, stron: 114
Instrukcja obsługi aplikacji MobileRaks 1.0
Instrukcja obsługi aplikacji MobileRaks 1.0 str. 1 Pierwsze uruchomienie aplikacji. Podczas pierwszego uruchomienia aplikacji należy skonfigurować połączenie z serwerem synchronizacji. Należy podać numer
Programowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
5.2. Pierwsze kroki z bazami danych
5.2. Pierwsze kroki z bazami danych Uruchamianie programu Podobnie jak inne programy, OO Base uruchamiamy z Menu Start, poprzez zakładkę Wszystkie programy, gdzie znajduje się folder OpenOffice.org 2.2,
UML 2.1. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE UML 2.1. Æwiczenia Autorzy: Stanis³aw Wrycza i inni ISBN: 978-83-246-0612-2 Format: A5, stron: 248 ZAMÓW DRUKOWANY KATALOG Wydawnictwo
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
EXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Programowanie obiektowe
Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc
1. Pobieranie i instalacja FotoSendera
Jak zamówić zdjęcia przez FotoSender? Spis treści: 1. Pobieranie i instalacja FotoSendera 2. Logowanie 3. Opis okna programu 4. Tworzenie i wysyłanie zlecenia Krok 1: Wybór zdjęć Krok 2: Podsumowanie zlecenia
Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy
WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy Pojęcie klasy Program napisany w języku Java składa się ze zbioru klas. Każda klasa zawiera
JPK VAT wysyłka za pośrednictwem profilu zaufanego z systemu epuap
JPK VAT wysyłka za pośrednictwem profilu zaufanego z systemu epuap Uwaga: Jeżeli Użytkownik chce podpisać plik za pomocą Profilu Zaufanego epuap, w pierwszej kolejności zobowiązany jest do założenia konta