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

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Programowanie obiektowe
Wprowadzenie do C++ Zajęcia 2.
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Grafika komputerowa Wykład 2 Wykorzystanie podstawowych usług bibliotecznych (API) w operacjach graficznych.
Projektowanie Aplikacji Komputerowych
Architektura systemu Gra strategiczna „Strusia Jama”
Internet Communication Engine
PHP vs. ASP PHP – lider wydajności wśród języków skryptowych.
Eclipse jako IDE III a.
Obsługa serwera zdalnego przez klienta FTP
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Zaawansowane technologie Javy
Longhorn - Usługi terminalowe
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Artur Szmigiel Paweł Zarębski Kl. III i
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.
Paweł Fałat Katedra Informatyki Stosowanej
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
Alliance 8300 Zintegrowany system zarządzania bezpieczeństwem
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
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
Aplikacje Internetowe
Witold Bołt Wprowadzenie do .NET Witold Bołt
Architektura Systemu MunSOL
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.
Opracował : Przemysław Drzymała
Jerzy Jelinek Paweł Korpowski
Prezentacja Adrian Pyza 4i.
Instalacja i narzędzia. Beta-kod i maszyna wirtualna
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
Maszyna wirtualna ang. virtual machine, VM.
Wybrane zagadnienia relacyjnych baz danych
Internetowe surfowanie
ZAKŁAD SYSTEMÓW KOMPUTEROWYCH
Prezentacja Adrian Pyza 4i.
Bazy danych, sieci i systemy komputerowe
SPECJALNOŚĆ: Oprogramowanie Systemowe
Wstęp do ASP.NET Arkadiusz Popa Serwery Aplikacji
Adam Ptaszek Krystian Formiński
Podstawy programowania
Temat 1: Ogólne cechy języka PHP
Technologie programowania systemów internetowych
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Podstawy języka skryptów
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Programowanie w językach skryptowych
Sposoby zdalnego sterowania pulpitem
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Sławomir Staśkiewicz JBossAS i EJB 3.1 Sławomir Staśkiewicz
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
Przykłady zewnętrznych bibliotek do PHP Laboratorium z Baz Danych Łukasz Zubkowicz.
Kompilator eBook w technologii Java Dyplomant: Maciej Bagrowski Promotor: dr inż. Walery Susłow Politechnika Koszalińska Wydział Elektroniki i Informatyki.
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
Wydział Matematyki, Informatyki i Architektury Krajobrazu
Programowanie obiektowe – zastosowanie języka Java SE
Podstawy programowania
Założenia projektowe Javy
JavaBeans by Paweł Wąsala
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

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

Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Podstawowe informacje mgr inż.. Michał Misiak Konsultacje pokój 317, piątek po wykładzie strona www:

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

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, …)

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?

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:  Java  C  C++  Visual Basic  PHP  Perl  C#  Python  JavaScript  Ruby Źródło: J2EE training:

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;

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%

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…)

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

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) (1)

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

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ą

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

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

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

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

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

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 …

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.

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

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

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:  Pobrać J2SE (Stanard Edition), nie J2EE! (Enterprise Edition)  Pobrać JDK, nie tylko JRE Ustawić zmienną środowiskową classpath

Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Dokumentacja Sukcesem w programowaniu w Javie jest umiejętność posługiwania się dokumentacją:  Istnieje również szereg dobrych tutoriali:  The Java Tutorials: 

Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej © 2007 Środowisko programowania Eclipse (  Eclipse IDE for Java Developers  Eclipse IDE for Java EE Developers Netbeans (  NetBeans Mobility ML  NetBeans CDC  NetBeans Visual Web Pack  NetBeans Profiler JBuilder ( JCreator (

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

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

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

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