1 / 15

Föreläsning 3

Föreläsning 3. Kort Översikt Över Javaspråket, forts. Standardpaket. Paket grupperar ihop klasser Standardbiblioteken ligger i olika paket: java.net (nätverk, kommunikation) java.io (in- och utdata, filhantering) java.awt (grafiska användargränssnitt) Egna klassbibliotek kan skapas

jensen
Download Presentation

Föreläsning 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Föreläsning 3 Kort Översikt Över Javaspråket, forts.

  2. Standardpaket • Paket grupperar ihop klasser • Standardbiblioteken ligger i olika paket: • java.net (nätverk, kommunikation) • java.io (in- och utdata, filhantering) • java.awt (grafiska användargränssnitt) • Egna klassbibliotek kan skapas • Importeras genom satsen import import java.awt.*; // alla klasser i paketetimport java.awt.Button; // endast klassen Button • Åtkomsten till klasserna kan regleras

  3. Applets • Ingen main-metod • Ritas på en yta i webbläsaren import java.applet.*;import java.awt.*;publicclass FirstApplet extends Applet{publicvoid paint(Graphics g) { g.drawString("Java!", 100, 100); g.drawLine(0, 0, 100, 100); }}

  4. HTML-sidan • Startas i en webbläsare……eller med AppletViewer <html> <applet code="FirstApplet.class" width="200" height="200"> </applet></html> c:>appletviewer FirstApplet.html

  5. Appletviewer • ”minimal” webbläsare • Kan stoppa och starta om appleten • Inga säkerhetskontroller utförs • Kan t.ex. läsaoch skriva filer

  6. Läsa Från Tangentbord Lugn!Det är inte meningen ni ska behöva förstå denna kod (än) • Alternativ 1- från kommandoprompten • Använder ett objekt av klassen BufferedReader BufferedReader input = new BufferedReader(new InputStreamReader(System.in));String svar = input.readLine();

  7. Läsa Från Tangentbord Lugn!Det är inte meningen ni ska behöva förstå denna kod (än) • Alternativ 2- med dialogrutor • Använder klassen JOptionPane för att visa dialogrutor String svar = JOptionPane.showInputDialog("Din ålder?");JOptionPane.showMessageDialog(null, svar);

  8. Filer IKompileringsprocessen KlassA.java KlassB.java KlassC.java KlassB.class KlassA.class KlassB.class Virtuell Java Maskin C:>java KlassC • Enkel struktur med endast två filer: • Källkodsfil (.java) • Bytekodsfil (.class) • Inga s.k. objekt-filer behövs

  9. Den Virtuella Javamaskinen läser Bytekod-filer Virtuell Java Maskin anropar Underliggande Operativ System • Läser, tolkar och exekverar bytekod • Är skrivet för aktuell plattform • Måste skaffas om den inte finns

  10. Den Virtuella Javamaskinen • Liknar en ”virtuell”-processor • Exekverar som ett program • Specifikationen är helt öppen • Laddar in klasser dynamiskt • Verifierar klasser från Internet • Verktyg för att läsa bytekod • I JDK finns javap

  11. Java och Prestanda • Javaprogram har dåliga prestanda? • Virtuell maskin = prestandakostnader • Språket i sig är inte långsamt • Olika sätt att uppnå högre prestanda: • hög nivå – förbättra sin design • mellannivå – ”tricks” på språknivå • låg nivå – snabbare exekvering

  12. Just-In-Time kompilatorer läser anropar Bytekod-filer Virtuell Java Maskin Just-In-Time Kompilator genererar Operativ System specifik kod (binär) Underliggande Operativ System exekverar • Översätter bytekod till plattforms-specifik kod under körning

  13. Rena kompilatorer läser Bytekod-filer Bytekod-kompilator genererar Operativ System specifik kod (binär) Underliggande Operativ System exekverar • Javakod kompileras direkt till plattformsspecifik kod.

  14. Virtuell HotSpot-maskin läser Bytekod-filer Virtuell Java Maskin HotSpot Analys anropar anropar Underliggande Operativ System • Utför adaptiv optimering av ett program under körning

  15. Sammanfattning • Javaspråkets grundblock är klasser och objekt • Ett antal fördefinierade primitiva typer (int, long, float, boolean, m.fl.) • Javaprogram styrs av kontrollflödes-konstruktioner • Till Javaspråket finns en mängd standardbibliotek • Den virtuella Javamaskinen tolkar bytekoden och exekverar denna

More Related