Czym jest JAVA?
Java jako uniwersalny język programowania
składniowe podobieństwo do C++
automatyczne odśmiecanie (garbage collection)
nie dopuszcza arytmetyki wskaźnikowej
ścisła kontrola typów (konwersje)
obsługa wyjątków
wbudowane elementy współbieżności
Wieloplatformowość Javy
java jest językiem interpretowanym
bogaty zestaw standardowych bibliotek i narzędziowych interfejsów programistycznych API
Java jako uniwersalne środowisko programowania GUI
niezależne od platformy środki programowania graficznych interfejsów użytkownika.
AWT
Swing
Java jako uniwersalne środowisko dostępu do baz danych
JDBC API (Java Database Connectivity API)
JavaBlend
Java jako uniwersalne środowisko programowania multimediów
W Java Core API znajdziemy na pewno uniwersalne środki przetwarzania:
grafiki i obrazów (2D),
dźwięków i muzyki (m.in. pliki WAV, AU, MIDI).
Dotychczasowe standardowe rozszerzenia Javy, to:
Java 3D (tworzenia i przetwarzania grafiki trójwymiarowej),
Java Media Framework (przetwarzania zaawansowanych formatów multimedialnych
Java jako uniwersalne środowisko programowania w sieci (klient-serwer)
Java zawiera standardowe środki tworzenia:
apletów - programów wykonujących się w środowisku przeglądarki i umożliwiających:
interakcję z użytkownikiem w rozbudowanym GUI,
transakcje klient-serwer. w tym - poprzez JDBC - bazodanowe,
serwletów - zapewniających obsługę i zarządzanie transakcjami po stronie serwera; standardowe rozszerzenie: Java Servlet API,
aplikacji „wolno stojących”, mogących sięgać do Internetu i intranetu za pomocą wbudowanych w Core API ,,bibliotek” sieciowych.
JavaMail API
Zaplet
Java Server Pages (JSP)
Java jako środowisko programowania w systemach rozproszonych
JNI - Java Native Interface
RMI (Remote Method Invocation)
implementacja standardu CORBA (Common Object Request Broker Architecture)
Java jako środowisko budowania programów z gotowych komponentów
JavaBeans
Enterprise Java Beans (EJB)
Java jako środowisko przetwarzania dokumentów XML
- XML (Extended Markup Language)
Mikro - Java
standardowa technologia JINI
maszyna wirtualna KJVM
Java 2 Micro Edition
Wersje Javy
1.0.x: Ubogi ze staw komponentów GUI, zły model obsługi zdarzeń
1.1.x: Przełom: nowy model obsługi zdarzeń, możliwości dynamicznego kształtowania działania programu, JavaBeans, Swing
l.2.x: Graphics2D i kolekcje.
Java 2 platform
Standard Enterprise Micro
Edition (v 1.4) Edition Edition
Wysoki poziom bezpieczeństwa
Konie trojańskie i wirusy - metody zwalczania
cyfrowe podpisy
zabronienie wykonywania potencjalnie niebezpiecznych operacji
mechanizm piaskownicy (sandbox)
Sprawdzenia JVM
|
|
Zabezpieczenia językowe:
ścisła konwersja typów - strong typing
wskaźników nie można ustawić na dowolną komórkę pamięci
sprawdzanie indeksów tablic w czasie działania progarmu
niemodyfikowalne stringi
Bezpieczeństwo w internecie - JavaSecurity
Podpisywanie cyfrowe - digital signing
Zalecenia SUN w stosunku do przeglądarek
niepewne aplety nie mają dostępu do dysku
wszystkie samodzielne okna utworzone przez aplety są specjalnie oznaczone, np. w oknie statusu: „Unsigned Java Applet Window”
niepewne aplety mają możliwość nawiązania połączenia sieciowego wyłącznie z serwerem z którego zostały zainstalowane.
Ilustracja mechanizmu włamania przez człowieka ze środka
Zastosowanie apletów
Podział apletów ze względu na wykonywane zadania:
wyświetlanie na komputerach użytkownika informacji dostępnych na serwerze
wyświetlanie informacji zgodnych z zainteresowaniami użytkowników Internetu
Wyświetlanie danych w czasie rzeczywistym
multimedialne bazy danych
przesyłanie informacji od użytkownika końcowego do serwera
sprawdzanie, kodowanie i przesyłanie formularzy
wspomaganie odszukiwania informacji dostępnych na serwerze
przeszukiwarki
umożliwienie użytkownikowi końcowemu współdziałania z programem lokalnym bez konieczności wymiany informacji między komputerem lokalnym a serwerem
graficzna nawigacja na stronach WWW (mapy)
różne gadżety graficzne.
Netscape Live Connect
Zastosowanie aplikacji JAVY
przeglądarka internetowa
aplikacje biznesowe
chat
aplikacje CSCW (komputerowo wspomaganej pracy grupowej)
JDK
Wymagania sprzętowe i systemowe
Microsoft Windows 95 / 98
Microsoft Windows NT 4.0, 2000, XP
Sun Solaris 2.4, 2.5, i dalsze na komputerach z procesorem SPARC
Sun Solaris na komputerach z procesorami x86
ok. 70MB wolnego miejsca na dysku dla SDK (spakowany)
ok. 170 MB wolnego miejsca na dysku na dokumentację
Ustawienie zmiennych środowiskowych
CLASSPATH
Foldery JDK
bin - narzędzia JDK
demo - aplety demonstracyjne i przykłady kodu JFC
docs - dokumentacja Javy w formie HTML
include - pliki nagłówkowe C i C++ stosowane do tworzenia środowiska Javy
lib - biblioteki i pliki archiwalne używane przez JDK
src - kod źródłowy bibliotek Javy firmy Sun
Aplikacje powitalne
Aplikacja AWT
class Napis1 {
public static void main(String[] arg){
Frame frame = new Frame("Test 1");
Label label = new Label("Witaj Javo!");
Font font = new Font("TimesRoman", Font.BOLD, 24);
label.setFont(font);
label.setBackground(Color.red);
label.setForeground(Co1or.yellow);
frame. add(label);
frame.pack();
frame.setVisible(true);
}
}
Aplikacja Swing
class SwingLab {
public static vo1d main(String[] args){
JFrame frame = new JFrame("SwingLabe1 with HTML");
String htmlText = "<html><FONT SIZE=+3>" +
"Witaj <i>miła</i><font co1or = blue>Javo!<br>" +
"... A witaj!</font></html>";
JLabel label = new JLabel(htmlText);
frame.getContentPane().add(label );
frame.pack();
frame.setVisible(true);
}
}
|
Wykład 1 Wprowadzenie do JAVY |
|
2