Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Java 1 Wykład wstępny mgr inż. Michał Misiak.

Podobne prezentacje


Prezentacja na temat: "Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Java 1 Wykład wstępny mgr inż. Michał Misiak."— Zapis prezentacji:

1 Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Java 1 Wykład wstępny mgr inż. Michał Misiak

2 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Podstawowe informacje mgr inż.. Michał Misiak Konsultacje pokój 317, piątek po wykładzie e-mail: mmisiak@math.uni.lodz.plmmisiak@math.uni.lodz.pl strona www: www.michalmisiak.prv.plwww.michalmisiak.prv.pl

3 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Zasady zaliczenia Kolokwium + Projekt w ramach laboratorium Ocena z wykładu: 0,4 * ocena z kolokwium + 0,6 * ocena z projektu Kolokwium na przedostatnich zajęciach

4 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Program wykładów Podstawy języka Przegląd klas i pakietów Obsługa zdarzeń Rysowanie AWT Swing Aplety Programowanie współbieżne Programowanie sieciowe Różności (JDBC, JMF, J2ME, …)

5 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Prawdy i mity o Javie Java jest techniką webową?  Java jest bezpieczna?  Java jest niezależna od architektury?  Java jest wydajna?  Java jest prosta?  Java jest potężna?  Java jest obiektowa?  Java jest rozproszona?  Java jest interpretowana?

6 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java prowadzi przemysł programistyczny Najbardziej popularne i pożądane języki programowania na lipiec 2007, zobacz: http://www.tiobe.com/tpci.htmhttp://www.tiobe.com/tpci.htm  Java  C  C++  Visual Basic  PHP  Perl  C#  Python  JavaScript  Ruby Źródło: J2EE training: http://courses.coreservlets.com

7 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest techniką webową Prawda! Przeglądarki WWW mogą uruchamiać programy w Java tzw. “applety”  Sieć WWW może być wykorzystana do dostarczenia i wykonywania aplikacji;  Nie trzeba instalować i ściągać uaktualnień aplikacji. Aplikacja znajduje się pod konkretnym adresem, jest zasobem sieciowym; Prawda! Biblioteki sieciowe Java są łatwe w użyciu  Przeciętny użytkownik może w łatwy sposób pisać aplikacje sieciowe w oparciu o gniazda;  Standardowe protokoły dla systemów rozproszonych i API dla DBMS;

8 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest techniką webową Mit! Java jest rozwiązaniem tylko dla WWW  Aplety Java działają w ramach stron WWW  Aplikacje Javy mogą być również stacjonarne tzw. „stand-alone”  Java również jako aplikacja mobilna  Aktualne wykorzystanie: Klient (applet): 5% Aplikacja stand-alone (application): 25% Serwer (servlets/JSP/EJB): 70%

9 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest bezpieczna Prawda! Restrykcje na wykonywanie operacji  brak możliwości wykonywania operacji bezpośrednio na pamięci Aplety standardowo zabraniają:  czytanie z dysku lokalnego;  zapisywanie na dysk lokalny;  wykonywania lokalnie programów  otwierania połączeń sieciowych innych niż HTTP  dostęp do prywatnych danych o użytkowniku (nazwa, katalogi, zainstalowane aplikacje, etc…)

10 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest bezpieczna Mit! Java jest zbyt bardzo restrykcyjna, ażeby była użyteczna  Restrykcje stosują się wyłączenie do apletów, nie do regularnych programów Java;  Podpisy cyfrowe wspierają ograniczanie restrykcji

11 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest niezależna od platformy Prawda! Programy w języku Java mogą być kompilowane na „bytecode” niezależnie od maszyny/systemu operacyjnego Prawda! Większość systemów operacyjnych posiada implementacje Wirtualnej Maszyny Java (JVM)  Windows, Linux, Solaris, MaxOS, … Mit! Bezpieczeństwo i przenośność może być osiągnięta bez straty wydajności  Obecnie programy napisane w języku Java są ok.. 20% wolniejsze niż w C++  Kolejne wersje JVM dążą do zwiększenia lub wyeliminowania start wydajności  Najprawdopodobniej różnice w wydajności pomiędzy aplikacjami w C++, a w Java pozostanie na poziomie ok. 10% (1) http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html (1)

12 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest niezależna od platformy Mit! Java jest wyłącznie interpretowana  Wcześniejsze wersje były interpretowane, aktualnie wiele JVM wspiera JIT mechanizm „Just-In-Time”  Przykład kompilatora Javy bezpośrednio do języka maszynowego: The GNU Compiler for the Java Programming Language Mit! Napisz raz uruchom gdziekolwiek (Write Once Run Anywhere)  Kod przenoszalny może być bardzo łatwo uzyskany natomiast musi być przetestowany na platformach, na których ma być używany  Aplikacje w języku Java mogą wykonywać lokalny kod  Graficzne biblioteki zachowują się trochę inaczej na różnych platformach  Obsługa wykonywania wątków jest bardzo luźno zdefiniowana

13 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest prosta Prawda! Java wspaniale upraszcza niektóre funkcjonalności języków programowania  Java dysponuje automatycznym zarządzaniem pamięcią (Garbage Collector).  Brak wskaźników oznacza brak niebezpieczeństwa wycieków pamięci. Nie ma bezpośrednich operacji na wskaźnikach  Nie wykorzystuje się plików „makefile”  Nie potrzeba plików nagłówkowych  Wbudowane zarządzanie wielowątkowością

14 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java jest potężna Prawda! Java posiada duży zbiór standardowych bibliotek:  obsługa sieci: URL (Uniform Resource Locator), gniazdka TCP i UDP, adres IP, RMI, …  Komponenty programistyczne: beans  wielowątkowość (lekkie procesy)  rozproszone obiekty: CORBA, JNDI, …  obsługa baz danych: JDBC  Grafika: sterowanie GUI i rysowanie grafiki  Biblioteki z gotowymi strukturami danych  Bezpieczeństwo: Podpisy cyfrowe, kontrola i sterowanie dostępem do zasobów, certyfikaty  Serializacja (przesyłanie struktur danych)  Kompresja strumieni i plików  Parsowanie XML

15 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java 2 Standard Edition

16 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Pakiety Javy Główne pakiety:  JDBC  RMI  JavaBeans  Swing  Java 2D Standardowe rozszerzenia  Serwlety i JavaServer Pages  Enterprise Java Beans (i JNDI)  Java 3D  Java JMF

17 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java Data Base Connectivity (JDBC) Standardowy mechanizm do podłączania się do serwerów bazodanowych  Wymaga wyłączenie specyficznych sterowników dla serwera po stronie klienta. Nie trzeba nic zmieniać po stronie serwera Standardowy mechanizm wykonywania zapytań bazodanowych  Również regularne jak i parametryzowane zapytania do DB Standaryzowany struktury danych do przechwytywania rezultatów zapytań  założeniem są relacyjne bazy danych, struktury danych jako tabele Nie definiuje składni SQL  Zapytania SQL są ciągiem znaków  Wspieranie rozszerzeń serwera bazodanowego

18 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Remote Method Invocation Wbudowany protokół obiektów rozproszonych  RMI pozwala programistom na dostęp do obiektów Javy i sterowanie nimi w normalny sposób. Funkcje mogą być wywoływane na zdalnym obiekcie przez sieć  Struktury danych mogą być przesyłane przez sieć dzięki mechanizmowi serializacji  Podobny do mechanizmu CORBA, ale komunikacja wyłącznie Java-Java

19 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 JavaBeans „Fasolki” Pozwala organizować kod programu jako komponenty, które mogą być wielokrotnie wykorzystywane Graficzne IDE umożliwiają modyfikację i manipulowanie „fasolkami” bez konieczności wnikania w ich strukturę. Konstrukcja programu techniką „drag-and-drop” Bezpieczniejsze i bardziej przenośne niż komponenty ActiveX Możliwość umieszczenia stworzonych wcześniej fasolek w narzędziach tj. JBuilder, Sun JavaWorkshop, NetBeans, IBM VisualAage, etc …

20 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Swing Podstawowa bibliotek do budowy GUI w Java 2  duży zbiór wbudowanych kontrolek  duża elastyczność i konfigurowalność  zawiera przydatne kontrolki w tworzeniu aplikacji komercyjnych: tzw. tooltips, tabbed panes, dokowalne menu, wielodokumentowe interfejsy, wspieranie HTML, etc…  Modyfikowalność wyglądu za pomocą tzw. look and feel. Można zmieniać w trakcie działania aplikacji.

21 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Java 2D Standardowa biblioteka do rysowania w Java 2 Standardowa architektura do łatwego rysowania obiektów 2D (struktury danych: kształty, płótno, pędzle, kolor, etc…) Wiele przydatnych funkcjonalności :  Wypełnianie wzorcami i obrazami  Stosowanie różnych czcionek  Wybór różnych grubości i wzorów piór  Miksowanie kolorów, zmiana przeźroczystości

22 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Różności Javy

23 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Konfiguracja oprogramowania wymaganego i pomocnego przy tworzeniu aplikacji w Javie Należy zainstalować Java (aktualnie dostępna Java w wersji 6!) Najlepiej jednak użyć wersji JDK (Java Development Kit) 5: http://java.sun.com/j2se/1.5.0/download.jsp  Pobrać J2SE (Stanard Edition), nie J2EE! (Enterprise Edition)  Pobrać JDK, nie tylko JRE Ustawić zmienną środowiskową classpath

24 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Dokumentacja Sukcesem w programowaniu w Javie jest umiejętność posługiwania się dokumentacją:  http://java.sun.com/j2se/1.4.2/docs/api/ http://java.sun.com/j2se/1.4.2/docs/api/ Istnieje również szereg dobrych tutoriali:  The Java Tutorials: http://java.sun.com/docs/books/tutorial/ http://java.sun.com/docs/books/tutorial/  http://www.apl.jhu.edu/~hall/java/ http://www.apl.jhu.edu/~hall/java/

25 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Środowisko programowania Eclipse (http://www.eclipse.org)  Eclipse IDE for Java Developers  Eclipse IDE for Java EE Developers Netbeans (http://www.netbeans.org)  NetBeans Mobility 5.5.1 ML  NetBeans CDC  NetBeans Visual Web Pack 5.5.1  NetBeans Profiler JBuilder (http://www.borland.com) JCreator (www.jcreator.com)

26 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Eclipse

27 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Netbeans

28 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Literatura Core Java 2 Podstawy Java 2 Techniki Zaawansowane

29 Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Pytania ?


Pobierz ppt "Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Java 1 Wykład wstępny mgr inż. Michał Misiak."

Podobne prezentacje


Reklamy Google