Diferència entre revisions de la pàgina «DAM-M3-UF4. Introducció a Java»
(→Noms i sigles) |
|||
Línia 44: | Línia 44: | ||
*'''API''' : Application Programming Interface. Funcions d’ús general de Java. Part del codi d’aquestes funcions és públic | *'''API''' : Application Programming Interface. Funcions d’ús general de Java. Part del codi d’aquestes funcions és públic | ||
+ | |||
+ | http://docs.oracle.com/javase/6/docs/api/index.html | ||
Versió actual 6.0 (7.0 per a la versió estàndard) | Versió actual 6.0 (7.0 per a la versió estàndard) |
Revisió del 11:44, 25 maig 2012
torna M3 - Programació
Contingut
Llenguatge i Entorn
Característiques
Java és un llenguatge de programació desenvolupat per Sun Microsystems als anys 90, les seves característiques són:
- Sintaxi semblant a C++, però més senzill i fàcils d’usar (Aritmètica de punters, sense necessitat d’eliminar memòria garbage collector…)
- Robust (Fortament tipat, comprovació estàtica i dinàmica d’errors, en temps de compilació i en temps d’execució, excepcions)
- Portable, màxima independència de la plataforma (Bytecode).
- Segur, control molt rígid de la gestió de memòria de les aplicacions
- Multi fluxe (Multithreaded), permet distribuir la càrrega entre varis processos o fils de manera concurrent
- Interpretat (Tot i que això suposa un rendiment inferior a d’altres)
- Orientat a objectes (Polimorfisme, herència i ocultació)
Arquitectura de Java. Màquina virtual
Java no es només un llenguatge de programació, es un sistema complex.
Passos per a la creació de programes
- Es creen fitxers font en llenguatge de programació (Java) i usant funcions de llibreries pròpies de la plataforma (API) o third party (ISV, Independent Software Vendor). Extensió .java
- Els fitxers font compilats generen uns fitxers en un llenguatge intermig anomenat Bytecode. Extensió .class
- Despŕes de carregar les llibreries i verificar el bytecode (correcció i seguretat), el programa s'envia a la Màquina Virtual (JVM) per a la seva execució
- JVM interpreta el bytecode (Traducció on-line a llenguatge màquina) o el processa amb el JIT (Just in Time Compilation) per millorar-ne el rendiment. P.e. les parts de codi que s'executen molt sovint es compilen amb el JIT i no cal interpretar-les cada vegada.
- La màquina virtual és particular de cada plataforma SW i HW. Existeixen múltiples implementacions (HotSpot d'Oracle/SUn, IcedTea de GPL, http://en.wikipedia.org/wiki/List_of_Java_virtual_machines)
Aquest procés garanteix la independència dels programes escrits en Java de l’entorn on foren creats i compilats. Portabilitat
Noms i sigles
http://www.oracle.com/technetwork/java/index.html
http://docs.oracle.com/javase/6/docs/
J2SE: Java 2 Platform Standard Edition. Aquesta és la plataforma completa per al desenvolupament d'aplicacions d'escriptori
- JRE:Java Runtime Environment. Inclou la MV i les llibreries API.
- JDK :Java Development Kit. Inclou JRE més les eines de desenvolupament.
- API : Application Programming Interface. Funcions d’ús general de Java. Part del codi d’aquestes funcions és públic
http://docs.oracle.com/javase/6/docs/api/index.html
Versió actual 6.0 (7.0 per a la versió estàndard)
font:http://docs.oracle.com/javase/6/docs/
Plataformes
http://www.oracle.com/us/technologies/java/overview/index.html
- SE. Standard Edition, inclou JDK o JRE
- EE. Enterprise Edition, estàndard (especificacions) per a desenvolupament d’aplicacions empresarials, nova generació web i serveis web . Inclou SDK, un servidor d'aplicacions (GlassFish), algunes llibreries addicionals (p.e. suport SOA, Service Oriented Architecture, aplicacions distribuïdes).
- ME. Micro Edition, per a dispositius mòbils
- Embedded. Altres dispositius: TV, reproductors, impressores, caixers automàtics, etc...
Eines
Les Extensions dels fitxers més comuns
.java: Programa font. Escrit en llenguatge Java
.class: Bytecode. Programa compilat. Escrit en llenguatge de baix nivell intel·ligible per la màquina virtual
.jar : Agrupació de fitxers .class (compilats, bytecode) comprimits, manté una estructura interna de directoris. Facilita la distribució de les aplicacions i llibreries. La màquina virtual pot llegir-los i executar-los directament (No cal descomprimir i desempaquetar).
Eines bàsiques
Per començar a treballar amb Java només calen les següents eines
- Editor de text pla.
- JDK. El kit de desenvolupament amb el compilador i el intèrpret de Bytecode
Per un entorn Linux
- javac : Compilador. Llegeix un fitxer .java (Programa font) i genera un fitxer .class (Bytecode)
- java : Intèrpret, màquina virtual. Llegeix i executa els fitxers .class (bytecode)
- jar: Generador de fitxers jar (Biblioteques)
- javadoc: Generador de documentació. Llegeix un fitxer .java i genera un document html en el mateix format que la documentació del API
- jdb: Depurador.
Per treballar amb java només cal tenir en compte dues variables d’entorn
- PATH: Apunta als binaris de les eines (directori /bin, /usr/bin, etc...)
- CLASSPATH: Apunta a les llibreries necessàries per a les aplicacions a desenvolupar (Fitxers .jar, .class)
Utilitats
Java web start
És una aplicació que permet de manera molt senzilla executar i distribuir aplicacions des de un navegador web sense haver d’instal·lar-les.
- Es part de l’entorn d’execució (JRE)
- Les aplicacions es veuen a un navegador
- Sempre es mostra la última versió de l’aplicació de manera automàtica (i transparent) per l’usuari.
- Són fitxers amb extensió .jnlp (Pàgines web). Tecnologia Java TM Network Launching Protocol
- Java web start mostra el repositori de totes les aplicacions jlnp executades i si les executem sempre descarrega la última versió.
- La versió 1.6 cal executar "javaws –viewer aplicaico.jnlp"
Plug-in de Java. Applets
En general un plug-in és un programa que s’executa dins un altre per aportar una funcionalitat específica.
En particular el plug-in de Java permet que applets escrits en Java s’executin dins un Navegador usant el JRE. El comportament del plug-in es pot configurar a través de Javal plug-in control panel.
Un Applet és un programa escrit en Java que es pot incloure a una pàgina web (Igual que una imatge o un document Flash)
Si el navegador admet l’execució de codi Java (Veure preferències del navegador particular), al carregar un pàgina que contingui un Applet (Compilat, fitxer .class), el codi es transferirà i serà executat per la màquina virtual.
L'entorn JRE proporciona la següent eina:
appletviewer: Permet veure executar applets fora un navegador web
Un parell de diferències entre Javascript i els Applet:
- Javascript és un llenguatge d'scripting, com vbscript.
- Javascript s’executa en el navegador, un Applet l’executa la màquina virtual.
- Javascript és un llenguatge molt limitat, els Applets s’escriuen en Java.
Exemple Applet. El Programa java
// Applet Exemple import java.awt.Graphics; import javax.swing.JApplet; public class Exemple extends JApplet { public void paint( Graphics g ) { g.drawString( "Hola Mon!",25,25 ) ; g.drawLine(10,10,100,10); g.drawRect(100,200,200,100); g.drawOval(500,200,200,100); } }
Exemple Applet. Compilació
$ javac Exemple.java
Exemple Applet. Pàgina web
<html><body> <applet CODE="Exemple.class" WIDTH=800 HEIGHT=500> </applet> </body></html>
$ appletviewer Exemple.html