120 likes | 337 Views
Instalacja i narzędzia. Beta-kod i maszyna wirtualna. mgr inż. Sylwia Glińska. Java to obiektowy język programowania stworzony przez grupę roboczą pod kierunkiem Jamesa Goslinga z firmy Sun Microsystems.
E N D
Instalacja i narzędzia. Beta-kod i maszyna wirtualna mgr inż. Sylwia Glińska
Java to obiektowy język programowania stworzony przez grupę roboczą pod kierunkiem Jamesa Goslinga z firmy Sun Microsystems. W przeciwieństwie do proceduralno-obiektowego języka C++, Java jest silnie ukierunkowana na obiektowość. Wszelkie dane i akcje na nich podejmowane są pogrupowane w klasy. Obecnym właścicielem tej technologii jest Oracle Corporation.
Czy jest Java • Java jest językiem zorientowanym obiektowo, któryw dużej mierze opiera się na C i C++. • Stanowi spójne logicznie środowisko programistyczne, posiadające najlepsze cechy swoich wzorców. • W porównaniu z C i C++ Java jest zoptymalizowana. Usunięto mechanizmy będące przyczyną częstych błędów programistycznych, takie jak: • wskaźniki, • wielokrotne dziedziczenie, • przeciążanie operatorów. • Początkowo Java służyła wyłącznie do tworzenia interaktywnego oprogramowania witryn internetowych. Z czasem obszar zastosowań Javy był systematycznie rozszerzany.
JRE a JDK Pakiety z hierarchii java i javax (dodatki wprowadzone w późniejszych wersjach) należą do podstawowego zestawu klas rozprowadzanych jako Java. Zestaw ten jest dostępny w dwóch wersjach: JRE (Java Runtime Environment) – udostępnia kod bajtowy wszystkich klas standardowych i wirtualną maszynę do ich uruchamiania, zaś JDK (Java Development Kit) dodatkowo udostępnia źródła tych klas oraz dodatkowe narzędzia takie jak kompilator, paker czy debuger. Podział ten wprowadzono dlatego, że użytkownik Javy do uruchamiania programów potrzebuje tylko JRE, natomiast do programowania działających aplikacji potrzeba już JDK.
Główne koncepcje • Obiektowość • Dziedziczenie • W Javie wszystkie obiekty są pochodną obiektu nadrzędnego (jego klasa nazywa się po prostu Object), z którego dziedziczą podstawowe zachowania i właściwości. Dzięki temu wszystkie mają wspólny podzbiór podstawowych możliwości, takich jak ich: identyfikacja, porównywanie, kopiowanie, niszczenie czy wsparcie dla programowania współbieżnego. • -Niezależność od architektury • Tę właściwość Java ma dzięki temu, że kod źródłowy programów pisanych w Javie kompiluje się do kodu pośredniego. Powstały kod jest niezależny od systemu operacyjnego i procesora, a wykonuje go tzw. wirtualna maszyna Javy, która (między innymi) tłumaczy kod uniwersalny na kod dostosowany do specyfiki konkretnego systemu operacyjnego i procesora. W tej chwili wirtualna maszyna Javy jest już dostępna dla większości systemów operacyjnych i procesorów. • Jednak z uwagi na to, że kod pośredni jest interpretowany, taki program jest wolniejszy niż kompilowany do kodu maszynowego. Z tego względu maszynę wirtualną często uzupełnia się o kompilator JIT ((ang. just-in-time compilation) to metoda wykonywania programów polegająca na kompilacji do kodu maszynowego przed wykonaniem danego fragmentu kodu).
Sieciowość i obsługa programowania rozproszonego • Dzięki wykorzystaniu reguł obiektowości, Java nie widzi różnicy między danymi płynącymi z pliku lokalnego a danymi z pliku dostępnego przez HTTP czy FTP. • Biblioteki Javy udostępniają możliwość pisania aplikacji uruchamianych w przeglądarkach internetowych(aplety Javy) oraz aplikacji działających ciągle po stronie serwera (serwlety). • Niezawodność i bezpieczeństwo • Język robi dużo, by utrudnić programiście popełnienie błędu. Przede wszystkim Java ma system wyjątków czyli sytuacji, gdy kod programu natrafia na nieprzewidywane trudności, takie jak np.: • operacje na elemencie poza zadeklarowaną granicą tablicy lub elemencie pustym • czytanie z niedostępnego pliku lub nieprawidłowego adresu URL • podanie nieprawidłowych danych przez użytkownika • W języku Java obsługa wyjątków jest obowiązkowa, (a nie dobrą wolą programisty) bez tego program się nie skompiluje
Beta kod – kod generowany przez kompilator Javy. Kod ten jest zawarty w plikach z rozszerzeniem .class. Kod ten nie jest bezpośrednio zrozumiały przez żaden procesor. Dlatego potrzebny jest dodatkowy program, który go zinterpretuje. Programem tym jest wirtualna maszyna Javy (JVM), która stała się interfejsem między uniwersalnym kodem Javy a różnymi platformami sprzętowo – platformowymi.
Java SE (Java Platform, Standard Edition znane wcześniej jako J2SE) – specyfikacja opracowana przez firmę Sun Microsystems opisująca podstawową wersję platformy Java. Pozwala tworzyć i uruchamiać aplikacje napisane w języku Java na komputerach stacjonarnych i serwerach. Java SE zawiera klasy pozwalające tworzyć aplikacje WWW. Stanowi podstawę dla Java EE (Java Platform, Enterprise Edition). Java Platform, Enterprise Edition (zwana również jako Java Enterprise, J2EE oraz Java EE czasami tłumaczona jako Java Korporacyjna) jest szeroko rozpowszechnioną serwerową platformą programistyczną języka Java. Definiuje standard tworzenia aplikacji w języku programowania Java opartych o wielowarstwową architekturę komponentową. Komponenty są zwykle osadzane na serwerze aplikacyjnym obsługującym Java Enterprise. Standard ten określa zestaw interfejsów programistycznych jakich musi dostarczać zgodny serwer aplikacyjny.
Java Platform, Micro Edition lub Java ME (znana wcześniej jako Java 2 Platform, Micro Edition lub J2ME) – specyfikacja opracowana przez firmę Sun Microsystems opisująca uproszczoną wersję platformy Java. Platforma Java ME została zaprojektowana z myślą o tworzeniu aplikacji mobilnych dla urządzeń o bardzo ograniczonych zasobach, takich jaktelefony komórkowe lub palmtopy. Ze względu na ograniczenia techniczne takich urządzeń, tj. wolniejsze procesory, mniejszą pamięć, Java ME posiada swój własny, okrojony w stosunku do Java SE zbiór klas zwanych konfiguracją (ang. configuration).
JavaFX • W 2007 roku firma Sun ogłosiła swe plany wprowadzenia nowego języka skryptowego o nazwie JavaFX Script. Cele przyświecające temu językowi są podobne do tych, które zawsze towarzyszyły Javie: • prostota tworzenia aplikacji • niezależność od architektury • platformą uruchomieniową mają być komputery PC oraz urządzenia przenośne (np. telefony komórkowe) • Język JavaFX Script nie jest zupełnie nowym produktem, lecz rozszerzeniem wcześniejszej Javy. Nowe aplikacje będą funkcjonować bez żadnych modyfikacji na każdej maszynie wirtualnej Javy. • Tym posunięciem firma Sun stara się dorównać konkurencji, która promuje takie rozwiązania jak: • technologia Flex (Adobe) • Silverlight (Microsoft)
Zawartość pakietuSDK (JDK) Po zainstalowaniu pakietuJava 7 SDK, SEw katalogu jdk1.7.0 zostanie umieszczony podkatalog binzawierający szereg programówusługowych. Najważniejsze to: javac – kompilator, java - interpreter, appletviewer – przeglądarka apletów, javadoc - generator dokumentacji, jdb – debuger, jar – narzędzie do tworzenia archiwów.
Edytory Zintegrowane środowiska programistyczne Javy Borland JBuilder – http://www.borland.com/products/download/ Eclipse – http://www.eclipse.org/ IBM VisualAge for Java – http://www7.software.ibm.com/vad.nsf JCreator – http://www.jcreator.com/ Kawa – http://www.macromedia.com/ NetBeans – http://www.netbeans.org/ Sun Forte for Java – http://www.sun.com/forte/ffj/index.html Sun One Studio – http://forte.sun.com/ffj/index.html VIM – http://www.vim.org/