26
Java software platform The Java platform is the name given to the computing platform from Oracle that helps users to run and develop Java applications. The platform does not just enable a user to run and develop a Java application, but also features a wide variety of tools that can help developers work efficiently with the Java programming language. The platform consists of two essential softwares: 1) the Java Runtime Environment (JRE), which is needed to run Java applications; 2) the Java Development Kit (JDK), which is needed to develop those Java applications and applets. If you have installed the JDK, you should know that it comes equipped with a JRE as well.

Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

  • Upload
    lycong

  • View
    224

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

Java software platform

The Java platform is the name given to the computing platform from Oracle that helps users to run and develop Java applications. The platform does not just enable a user to run and develop a Java application, but also features a wide variety of tools that can help developers work efficiently with the Java programming language.The platform consists of two essential softwares:

1) the Java Runtime Environment (JRE), which is needed to run Java applications;2) the Java Development Kit (JDK), which is needed to develop those Java applications and applets. If you have installed the JDK, you should know that it comes equipped with a JRE as well.

Page 2: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

2

Java Development Kit1

A Java Development Kit (JDK) is a program development environment for writing Java applets and applications. It consists of a runtime environment that "sits on top" of the operating system layer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the Java language.

1 http://docs.oracle.com/javase/7/docs/

Page 3: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

3

JDK izmantošana (use of JDK)

Java pirmkods (Java source code) *.java

Java baitkods (bytecode) *.class

Operētājsistēma (operational system)

Kompilators (compiler)javac.exe

Java virtuālā mašīna (Java Virtual Machine) java.exe

Page 4: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

Java pirmkods (source code)

Java baitkods (bytecode)Operētājsistēma

Tehniskais nodrošinājums (hardware)Tīkla nodrošinājums vai failu vadības sistēma

Klases ielādētājs un baitkoda pārbaudītājs

Kompilators javac Java virtuālā mašīna (JVM) Kompilators

Just in Time (JIIT)

4

Java programmas kompilācijas un izpildes process

Page 5: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

5

Java Virtual Machine (JVM)

Quite possibly, the most important part of the JRE is the Java Virtual Machine (JVM). The JVM acts like a virtual processor, enabling Java applications to be run on the local system. It's main purpose is to interpret (translate) the received byte-code and make it appear as native code.

Page 6: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

6

Just in time compilation (JIT)

Since version 1.2, the JRE features a more robust JVM. A just-in-time compiler only compiles the byte-code to equivalent native code at first execution. Upon every successive execution, the JVM merely uses the already compiled native code to optimize performance.

Page 7: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

7

Java lietojums (Java application)

Java platforma

Lietojuma programma (application)

Interfeiss (Aplication Programming Interfeiss)

Java virtuālā mašīna (Java Virtual Machine)

Operētājsistēma (operation system

Tehniskais nodrošinājums (hardware)

Page 8: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

8

Klašu ielādētājs (class loader)Nodrošina programmu koda drošu izpildi. Klašu ielādētājs un baitkoda pārbaudītājs noskaidro, vai baitkods ir pareizi izveidots. Tālāk to izpilda vienā no 2 veidiem: 1. Ar interpretatoru jeb JVM, kas baitkodu pārvērš platformatkarīgās instrukcijās rindiņu pa rindiņai. 2. Efektīvāka ir koda ģenerācija "pēc pieprasījuma" (JIT, just-in-time) - t.i. JIT kompilators "atceras", kuri Javas baitkoda gabali jau ir iztulkoti platformas atkarīgās instrukcijās un netulko tos vēlreiz. 3. Trešā iespēja būtu Javas kodu uzreiz kompilēt par platformas atkarīgām instrukcijām - tāpat kā C vai C++. Tas strādātu ātrāk gan par JVM, gan par JIT. Bet šajā gadījumā zustu vairākas Javas platformas priekšrocības, t.sk. koda izpildes lielāka drošība.Lai gan JIT kompilatoru lietošana var paātrināt koda izpildi līdz pat 10 reizēm, bieži lieto interpretāciju ar JVM, jo programmas gan tiek pildītas lēni, bet JVM parasti ir mazākas prasības pret dzelžiem un tas ātrāk ielādējas. Sun Microsystems piedāvā populāru kombinētu risinājumu HotSpot, kam ir gan JVM, gan JIT iespējas.

Baitkoda pārbaudītāja (bytcode verifier) funkcijas1. Vai CLASS failu kods atbilst JVM specifikācijai. 2. Vai kods nepārkāpj Javas izejas kodā noteiktos ierobežojumus (piekļuves pārkāpumi: piemēram, mēģinājumi no ārpuses izsaukt funkciju, kas deklarēta kā "private" - var būt bīstami, it īpaši ja ļaunprātīgs kods neparedzētā veidā izsauc metodes citu autoru programmētām klasēm). 3. Vai kods pareizi izmanto izteiksmju operandu steku (t.i. nenotiek steka pārpildīšanās vai iztukšošanās). 4. Vai metožu izsaukumiem nododamo aktuālo parametru tipi ir pareizi. 5. Nenotiek neatļauti datu pārveidojumi (veselo skaitļu tipi uz referenču tipiem, un tml.).

Javas Virtuālā Mašīna (JVM)1 "Aparatūras" specifikācija CLASS failu izpildei. To emulē ar programmu nodrošinājumu. Nav vajadzīgs, lai mašīnas "dzelži" saprastu Javas CLASS failus. 2. JVM lasa kompilēto baitkodu (.CLASS failus), kas ir platformneatkarīgs. 3. JVM var būt Javas izstrādes vides (piem. JDK1.4) sastāvdaļa, Javas izpildes vides (JRE) sastāvdaļa, vai pārlūkprogrammas spraudnis jeb plugins. 4. No tipu pārbaudēm lielākā daļa veikta kompilācijas laikā (stipri tipizēta valoda - mainīgo tipi ir zināmi kompilācijas laikā; ir tomēr iespējams polimorfisms). 5. Jebkurai Sun Microsystems apstiprinātai JVM jāvar darbināt jebkurš standartam atbilstošs .class fails.

Just in time kompilators1. Ielādē, pārbauda, izpilda baitkodu. 2. Rekursīvi sekojot koda atkarībām, ielādē visas klases, kuras nepieciešamas programmas izpildei. 3. Klases, kuras nāk no vietējās failu sistēmas (local file system) glabājas atsevišķos vārda apgabalos (namespace). 4. Nepieļauj viltošanas (spoofing) uzbrukumus. Viltošanas uzbrukumi ir mēģinājums iesūtīt ļaunprātīgi modificētus datus tādā vietā, kurai saņēmējs uzticas un šādi izprovocēt saņēmēju veikt uzbrucējam vēlamās darbības. Javas apletu gadījumā - no Interneta atnākušais kods varētu vēlēties nonākt "uzticamā" JVM apgabalā un izpildīties kā droša programma ("Trojas zirgs" utml.). Javas platforma šādus uzbrukumus novērš. (Ir arī "spoofing"-am līdzīgs termins - sniffing, t.i. tīkla saziņas noklausīšanās, to nemodificējot.)

Page 9: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

9

Java programmas kompilācija un izpilde ar Java Developer Kit (JDK) programmām

Fails Sveiki.javapublic class Sveiki { public static void main (String[ ] args) { System.out.println ("Sveiki. Saksim apgut valodu Java."); } }

1. kompilācija: javac.exe Sveiki.java

2. izpilde: java.exe Sveiki.class

Sveiki.javaKlases programma Java

Kompilators javac.exe

Sveiki.classKompilētā programma (baitkods)

Izpildes veicējs

java.exe

Page 10: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

10

Java programmēšanas rīku pamat-komplekts Java Developer Kit

Lai varētu kompilēt, atkļūdot (debug) un izpildīt Java valodas programmas , nepieciešama izpildes vide Java Developer Kit (JDK)2.

Instalējamais fails:

Istalēšanas gaitā izveidotie katalogi:

2 http://www.webkursi.lv/java-eim/de/index_java.html

Page 11: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

11

Java programmēšanas rīku komplekta Java Developer Kit svarīgākās programmas

Kompilēšana - rīks javac.exe

Dokumentācijas ģenerēšana - rīks javadoc.exe

Klašu failu arhivēšana - rīks jar.exe

Lietojumu darbināšanas vide Java Runtime Environment -

patstāvīgām programmām (standalone program), apletiem,

servletiem, utml.

Kompilācija: javac Klase_a.java

Izpilde: java Klase_a

Visu klašu pārkompilācija: javac *.java

Page 12: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

12

Java programmas veidošana, kompilācija un izpilde izmantojot komandu rindas (CMD) režīmu

1. Fails Sveiki.java ar programmu (klases Sveiki definējumu):

public class Sveiki{public static void main(String[] args){System.out.println("Sveiki. Saksim apgut valodu Java.");} }

2. Komandrindas režīma izsaukšana (Start Run cmd).

3. Pārbaude, ka Java Developer Kit instalācija veikta (java –version).

4. Java klases kompilācija (javac Sveiki.java), tiek iegīts fails Sveiki.class.

5. Klases Sveiki metodes main() izpilde (java Sveiki).

Page 13: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

13

Page 14: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

14

Kompilācijas programmas javac.exe parametri

Page 15: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

15

Izpildes programmas java.exe parametri

Page 16: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

16

Rīku komplekta Java Developer Kit versijas pārbaude

1. Java Developer Kit (JDK) faili Windows operētājsistēmas vidē parasti ir katalogā \Program Files\Java\jdk1.6.0_05 .

2. Javas virtuālā mašīna ir izpildāma programma java.exe katalogā jdk1.6.0_05\bin.

3. Javas kompilators ir cita izpildāma programma javac.exe šajā kataligā.

JDK versijas pārbaude:

Page 17: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

17

Operētājsistēmas vides parametru norāde rīku komplektam Java Developer Kit

Lai Java lietojumu programmas varētu glabāt un izmantot no jebkura kataloga:1) jādefinē sistēmas vides mainīgais JAVA_HOME ar kura palīdzību tiek norādīta JDK programmu atrašanās vieta (piemēram, I:\Program Files\Java\jdk1.6.0_05);2) jāpievieno PATH mainīgajam katalogu %JAVA_HOME%\bin (PATH direktorijas uz Windows datoriem atdala ar semikoliem(;)). Šajā gadījumā, kompilējot un darbinot Javas programmas nebūs jānorāda pilns ceļš uz javac un java.

Start Control Panel Performance and Maintenance System (Environment variables)

Page 18: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

18

Page 19: Java pirmkods (Java source code) *.java - Web viewlayer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the

19

Java informācija MS Windows reģistrā (apskate un apstrāde ar Registry Editor)