Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Podobne dokumenty
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Programowanie obiektowe. Wprowadzenie

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Java jako język programowania

WPROWADZENIE DO JĘZYKA JAVA

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Podstawy języka Java. przygotował:

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Java EE produkcja oprogramowania

Język JAVA podstawy programowania

Podstawy programowania. Wprowadzenie

Wstęp do programowania w języku Java

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Tworzenie aplikacji w języku Java

Autor : Mateusz Kupczyk

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

KARTA KURSU. Student zna podstawy analizy, projektowania i programowani obiektowego oraz podstawy języka C++.

KARTA KURSU (realizowanego w module specjalności)

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Środowiska i platformy programistyczne

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

SOP System Obsługi Parkingów

Wykład 1: Wprowadzenie do technologii Java

Programowanie obiektowe

Podstawy i języki programowania

TECHNOLOGIE INFORMACYJNE

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Języki i paradygmaty programowania - 1

Translacja wprowadzenie

Programowanie wieloplatformowe w Java

WPROWADZENIE DO JĘZYKA JAVA

Programowanie obiektowe

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

ochrona w systemie operacyjnym

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Programowanie obiektowe - 1.

Programowanie Użytkowe. Dr. inż. Marcin Blachnik

1 Wprowadzenie do J2EE

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Java Podstawy JUST JAVA Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej

Co to jest Java? Java jest niezależna od platofrmy

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Programowanie w Internecie. Java

Java w Internecie - czy to ma sens? ;)

Multimedia JAVA. Historia

Wybrane działy Informatyki Stosowanej

JAVA. Tomasz Grzywacz.

Wstęp do programowania w języku Java

Dokumentacja aplikacji Szachy online

Wybrane działy Informatyki Stosowanej

Programowanie aplikacji na urządzenia mobilne

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia. Język Java. Bezpieczeństwo języka Java

Języki i metody programowania Java INF302W. Wykład 1 (część 1) na podstawie Autor Dr inż. Zofia Kruczkiewicz

Wstęp do programowania w języku Java

Programowanie Komponentowe WebAPI

Aplikacje Internetowe, Servlety, JSP i JDBC

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne Oberthur Technologies

Wybrane działy Informatyki Stosowanej

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Ćwiczenie 1. Przygotowanie środowiska JAVA

Wybrane działy Informatyki Stosowanej

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Wstęp do programowania w języku Java

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE

Scala - programowanie obiektowo-funkcyjne

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Wprowadzenie. Dariusz Wawrzyniak 1

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

KARTA PRZEDMIOTU. Aplikacje sieciowe w języku Java. D1_5

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Język Java i technologie Web - opis przedmiotu

Programowanie współbieżne i rozproszone

Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Programowanie w Javie 2. Płock, 26 luty 2014 r.

SYLABUS/KARTA PRZEDMIOTU

PyPy's Approach to Virtual Machine Construction

Android - wprowadzenie. Łukasz Przywarty

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Historia i podstawowe koncepcje. Tomasz Borzyszkowski

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Programowanie komputerów

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Podstawy programowania wykład

Programowanie w C. dr inż. Stanisław Wszelak

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Transkrypt:

Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki

Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma Rozumiana jako środowisko do uruchamiania programów Platforma software owa Maszyna wirtualna Java Java Application Programming Interface (Java API) 2

Java Platform, Standard Edition (Java SE, dawniej J2SE) Trzon technologii Java Wyznacza wersje języka Java Wczesne wersje: 1.0, 1.1 Java 2 (2nd generation): 1.2, 1.3, 1.4, 5.0 (1.5) Java SE: 6.0 (1.6), 7.0, 8.0 Kompilator, maszyna wirtualna, narzędzia pomocnicze Java Development Kit (JDK) Java Runtime Environment (JRE) Java Platform, Enterprise Edition (Java EE, dawniej J2EE) Platforma do tworzenia aplikacji dla serwerów aplikacji Java SE + serwer aplikacji, narzędzia do prototypowania aplikacji Java Platform, Micro Edition (Java ME, dawniej J2ME) Dla zastosowań w urządzeniach mobilnych (telefony, PDA) 3

Zorientowany obiektowo język programowania prosta składnia rozbudowane biblioteki Zaprojektowana przez firmę Sun Język o składni podobnej do C++ Podobieństwo składni, inna filozofia Zaprojektowana "od zera", początkowo pod nazwą Oak Początkowo pomyślana do zastosowań w urządzeniach elektronicznych codziennego użytku Przyjęła się jako język do zastosowań sieciowych (szczególnie World Wide Web, aplikacje intra- i internetowe) 4

Java jest prosta składnia podobna do C++ nie ma w Javie: przeciążania operatorów (poza jednym wyjątkiem) plików nagłówkowych i preprocesora operacji arytmetycznych na wskaźnikach struktur i unii dziedziczenia wielobazowego wzorców niejawnej konwersji typów Java jest zorientowana obiektowo klasy i interfejsy 5

Java jest kompilowana, ale niezależna od architektury kompilacja do kodu pośredniego - bajtkodu (ang. byte code) kod pośredni jest interpretowany przez Java Virtual Machine (JVM) definicja języka i maszyna wirtualna są w pełni wyspecyfikowane nie ma elementów niezdefiniowanych lub zależnych od implementacji (np. typy proste są takie same na wszystkich maszynach) pełna przenaszalność kodu źródłowego i wynikowego Java jest wielowątkowa wątki Javy w miarę możliwości przekładane są na wątki systemu operacyjnego możliwość synchronizacji 6

Java nadzoruje pamięć nie ma wskaźników takich jak w C++ dostęp do obiektów przez referencje referencje zachowują się jak "bezpieczne wskaźniki" każdy dostęp do pamięci jest kontrolowany odśmiecanie pamięci (ang. garbage collection) Java jest odporna na błędy i bezpieczna ściśle określona forma kodu pośredniego kontrola dostępów do pamięci obsługa błędów w oparciu o wyjątki ograniczenie dostępu do zasobów (Security Manager) 7

Java jest niewielka pomyślana dla małych systemów Java jest stosunkowo szybka szybka w porównaniu z innymi językami interpretowanymi wolniejsza od C (może to nie mieć znaczenia w programach wykorzystujących komunikację sieciową lub często oczekujących na reakcję użytkownika) JVM może wykorzystywać kompilatory typu Just-In-Time, aby poprawić efektywność przetwarzania Java jest rozszerzalna istnieje możliwość wykorzystywania bibliotek napisanych w innych językach Java jest dynamiczna np. możliwość pobierania klas z Internetu w trakcie pracy programu 8

Kod źródłowy *.java Kod wynikowy *.class Kompilator języka Java Maszyna wirtualna Javy (JVM) 9

Zachowuje się jak "wirtualny komputer" interpretujący bajtkod Javy Stanowi bezpieczne środowisko do uruchamiania programów Musi być zaimplementowana dla konkretnej platformy JVM może wykorzystywać kompilację Just-In-Time (JIT) kompilacja "w locie" bajtkodu do instrukcji maszynowych szczególnie efektywna w przypadku powtarzalnych fragmentów kodu (np. pętle) JVM może stanowić samodzielną aplikację lub być wbudowana w inny program np. przeglądarkę 10

Samodzielne aplikacje graficzne pracujące w trybie tekstowym Aplety małe aplikacje zagnieżdżane w dokumentach HTML w dużym stopniu przyczyniły się do popularności Javy Serwlety aplikacje pracujące po stronie serwera mogą stanowić alternatywę dla CGI w serwerach WWW JavaBeans komponenty języka Java, zbudowane wg ustalonego wzorca, tworzone z myślą o ich wielokrotnym wykorzystaniu Enterprise JavaBeans komponenty języka Java wykorzystujące architekturę rozproszoną 11