Programowanie obiektowe

Slides:



Advertisements
Podobne prezentacje
Podstawowe pojęcia programowania współbieżnego
Advertisements

Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Programowanie obiektowe
Programowanie obiektowe
Serwer WWW na AT89C52 Adrian Witlib Maciej Przeor ID06SK1
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
Nguyen Hung Son Uniwersytet Warszawski
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Prezentcja Power Pointa na temat obsługi programu Power Point
WITAM NA SZKOLENIU Porady na dziś i jutro.
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
Programowanie wielowątkowe
Multimedia Obrazy i dźwięki w apletach Javy, praca z tekstem, zdarzenia od myszki, obsługa wyjątków w Javie, aplety z wątkami, animacja poklatkowa.
Programowanie sieciowe w Javie
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Programowanie obiektowe. Obiekty. Metody. Właściwości.
Plan Prezentacji Wczytywanie grafiki Wyświetlanie obrazów
Język Java Wielowątkowość.
WINDOWS 95.
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Rozwój aplikacji przy wykorzystaniu ASP.NET
Konfiguracja kont w programie Adobe Dreamweaver
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Temat: Eksplorator Windows - wędrówka po drzewie folderów
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy systemu operacyjnego
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Temat: Operacje na plikach i folderach str.
Wprowadzenie do obsługi programu PowerPoint
Tworzenie aplikacji mobilnych
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
MAKRA 1.
Wzorce slajdów, animacje, różne orientacje slajdów
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Korespondencja seryjna
Robimy własne notatki - Notatnik
Na pasku komunikatów kliknij przycisk Włącz edytowanie,
Współpraca z innymi aplikacjami. Organizacja informacji 10 XII 2013.
Projektowanie stron WWW
1. Aby dodać nową firmę 1.2 Klikamy na pole dodaj 1.1 W portalu, w menu bocznym wyszukujemy Firmy w Business Linku.
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
PULPIT WINDOWS.
Visual Basic w Excelu - podstawy
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
prezentacja multimedialna
Konfiguracja VPN Serwera – Windows 7
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Beata Sanakiewicz. Spis treści  Pierwsze spotkanie Pierwsze spotkanie  Ustawienia witryny Ustawienia witryny  Tło strony Tło strony  Teksty na stronie.
Model współbieżności w Javie autor: Grzegorz Szuba.
Model współbieżności w Javie
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Programowanie wielowątkowe w Javie Wykład 9 mgr inż. Michał Misiak.
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
T. 18. E Proces DGA - Działania (operatorka).
Wątki, programowanie współbieżne
Programowanie obiektowe – zastosowanie języka Java SE
Tworzenie stron WWW w programie Microsoft FrontPage
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Windows Workflow Foundation
Aplikacje i usługi internetowe
PGO - Projektowanie i implementacja pierwszych klas
Tworzenie wątków w Javie
Zapis prezentacji:

Programowanie obiektowe Andrzej Ziółkowski Wykład 8

Programowanie wielowątkowe i rozproszone Programowanie wielowątkowe – współbieżne wykonywanie wielu zadań w ramach jednego programu. Powody stosowania – przejrzystość programu, łatwa realizacja szybkiej reakcji na krytyczne zdarzenia (priorytety) Programowanie rozproszone – realizacja funkcji programu na wielu, często odległych procesorach pracujących w sieci. Powody stosowania – zwiększenie mocy obliczeniowych, łatwość aktualizacji (Web Services), niezawodność.

Programy wykonywane sekwencyjnie i równolegle

Wykonywanie programów (lub wątków) współbieżnie na jednym procesorze

Realizacja wielowątkowości w Javie Klasa Thread – obiekty tej klasy służą do zarządzania wątkami Wątkiem może być dowolny obiekt klasy implementującej interface Runnable, czyli klasy z metodą run wywoływaną przy uruchamianiu wątku. Obiektowi klasy Thread przyporządkowujemy obiekt, który będzie wątkiem i uruchamiamy go za pomocą metod klasy Thread

Wybrane metody klasy Thread start() – uruchamia wątek wywołując metodę run sleep(milisec) – wstrzymuje wątek na określony czas yield() – wstrzymuje chwilowo wątek, pozwala na wykonanie innych setPriority(priority) – ustawia priorytet dla wątku

Przykład class W1 implements Runnable { public void run() { // kod wykonywany w wątku 1 … } class W2 implements Runnable { // kod wykonywany w wątku 2 W1 w1 = new W1(); W2 w2 = new W2(); Thread th1 = new Thread(w1); Thread th2 = new Thread(w2); th1.start(); th2.start();

Problemy współużytkowania zasobów Wątek A modyfikuje strukturę danych D, wątek B z niej korzysta. Struktura danych modyfikowana przez A może być w pewnym momencie niespójna i jeśli wątek B w tym momencie z niej skorzysta otrzymamy błędne wyniki Rozwiązanie – blokowanie zasobów (groźba zakleszczeń) lub nieprzerywanie krytycznych fragmentów kodu (synchronizacja). W Javie możemy tworzyć nieprzerywalne metody za pomocą atrybutu synchronized.

Programowanie rozproszone Fragmenty programu wykonują się na wielu komputerach jednocześnie Brak wspólnej pamięci, przekazywanie informacji poprzez sieć w postaci komunikatów Duża niezawodność Wykorzystanie olbrzymich mocy obliczeniowych komputerów w sieci Problemy z alokacją zasobów i synchronizacją Wielkie możliwości ale chyba jeszcze nie potrafimy tworzyć programów rozproszonych i organizować przetwarzania

Przykłady projektów wykorzystujących przetwarzanie rozproszone SETI – „szukamy cywilizacji pozaziemskich”, przetwarzanie zebranych danych z radioteleskopu Arecibo w Puerto Rico w celu wyfiltrowania sygnałów, które można uznać za nienaturalne. 5.5 mln komputerów, uczestnicy z ponad 200 krajów. Google – indeksowanie zawartości stron internetowych. Wikipedia – encyklopedia tworzona przez społeczność internautów Aplikacje internetowe - systemy firmowe, sklepy, portale,… Web Services – usługi, które może wykorzystywać wielle aplikacji, np.. Prognozy pogody, kursy walut, notowania akcji,…

Programowanie rozproszone - perspektywy Ilość komputerów w sieci może przejść w nową jakość Może w końcu uda się wykorzystać metody sztucznej inteligencji Programowanie obiektowe nie koniecznie musi być tu wykorzystywane – bardziej przydatne mogą być modele programowania oparte na usługach, serwisach i wymianie komunikatów

Tworzenie apletu zawsze można skorzystać z Help-u Tworzenie apletu zawsze można skorzystać z Help-u. Wybieramy: Help, Help Contents a następnie w zakładce index wpisujemy słowo applet (uwaga dwa p)

Tworzenie apletu - help

Wybieramy: File, New Project i w dialogu zaznaczamy Java Class Library

W nazwie projektu wpisujemy nr ćwiczenia (cw5), folder projektu N:\public_html\po

Klikamy prawym przyciskiem myszki na nazwie projektu (cw5) i wybieramy New, File/Folder

Aby utworzyć aplet możemy wybrać Java Classes, JApplet lub Applet ale wygodniej będzie użyć …

Java GUI Forms i Java Applet Form aby móc korzystać z Designera przy projektowaniu wyglądu apletu.

Wpisujemy Class name cw5 i Package też cw5

W zakładce Source zobaczymy wygenerowany kod klasy cw5 wywiedzionej z javax.swing.JApplet

W zakładce Design możemy zaprojektować wygląd potrzebnego apletu W zakładce Design możemy zaprojektować wygląd potrzebnego apletu. Z Palette przeciągamy myszką JTextField, JButton, JLabel

Po rozmieszczeniu obiektów i ustaleniu ich wymiarów obiektów możemy, po kliknięciu prawym klawiszem myszki, zmienić nazwę obiektu i domyślny tekst

Wybieramy przycisk Oblicz i w zakładce Events w Properties wybieramy do obsługi zdarzenie mouseClicked

W wygenerowanej funkcji obsługi zdarzenia wpisujemy kod, który na oblicza liczbę liter i liczbę wyrazów w tekście wprowadzonym do pola ”tekst” i wyświetla wyniki.

Debugowanie apletu – kliknij prawym myszy na cw5 Debugowanie apletu – kliknij prawym myszy na cw5.java i wybierz Debug File

Aplety można debugować jak każdy inny program

W folderze public_html/po/cw5 umieszczamy plik index W folderze public_html/po/cw5 umieszczamy plik index.html (poniżej) oraz kopiujemy tu plik cw5.jar. Ustawiamy odpowiednie uprawnienia i aplet powinien działać <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Cw5</title> <meta content="text/html; charset=windows-1250" http-equiv="Content-Type"> <link href="std1.css" type="text/css" rel="stylesheet"> </head> <body> Cw5 - Teksty:<br><br> <applet code="cw5/cw5.class" archive="cw5.jar" width="400" height="420"> </applet> <br><br> </body> </html>

Jeśli aplet nie pokazuje się prawidłowo a w Java Console sygnalizowany jest błąd: Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group Może być konieczne dodanie wstawki w pliku build.xml i ponowna kompilacja --> <target name="-post-jar"> <jar update="true" destfile="${dist.jar}"> <zipfileset src="${libs.swing-layout.classpath}"/> </jar> </target> </project>