Introducció a
Java
UF4 - Programació
Xavier Sala Pujolar
Institut Cendrassos
Write one
run anywhere
Java és dels llenguatges
més populars
http://www.tiobe.com/tiobe_index
Java és dels llenguatges
més populars
http://redmonk.com/sogrady/2016/02/19/language-rankings-1-16/
2015 2014
IEEE Spectrum
Permet fer
programes per
dispositius, per PC
o pàgines web
Java disposa d’una gran
quantitat de llibreries
treballar amb
JSON
Llegir CSV
gràfics 3D
accés a bases de
dades
connectar a
servidors web
GUI
És el llenguatge
més usat per fer
aplicacions
d’Android
Es tradueix a
Dalvik o ART
multiplataforma
Permet fer
programes
multiplataforma
Mac*
Windows Linux
etc ...
Abans de Java es
convertia el codi font
en llenguatge
màquina
CALL CS:[INTR]
MOV CX,0040H
MOV DS,CX
Ah, si?
En Java el codi
font es
converteix en
Bytecode
No en llenguatge
màquina
El Bytecode és el
llenguatge d’una
màquina que no
existeix
iconst_2
goto 38
Per executar
programes Java
cal una màquina
virtual (JVM)
Implementada en
software
Hi ha implementacions de
la màquina virtual per
molts sistemes
Mac*
Windows Linux
etc ...
La JVM converteix
bytecode en llenguatge
màquina Depèn del
sistema
PUSH CS
PUSHF
CALL CS:[INTR]
MOV CX,0040H
MOV DS,CX
Els programes
Java se solen
distribuir
empaquetats
JAR
WAR
EAR
Hi ha altres
llenguatges
que s’executen
en la JVM
Groovy
Clojure
Scala
Kotlin
JRuby
Jython
Obtenir Java
1996
1 1997
1.1
1998, 2000, 2002
2
2004
5
2006
6
2011
7
2014
8
2017
9
10
Hi ha diferents
edicions de les
API Java
Java Micro
Edition (ME)
Java Standard
Edition (SE)
Java Enterprise
Edition (EE)
Hi ha dues
possibilitats per
descarregar-lo
JRE
JDK
Amb eines per
desenvolupar
programes
Només per executar
programes java
La versió de
referència és
OpenJDK
Llicència GPL
Oracle Corporation
en publica la versió
HotSpot
Però hi ha altres versions
de l’entorn Java
Zing
Existeixen substituts
de la JVM “oficial”
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
Implementacions de la JVM
Kaffe
azul zing
IcedTea
jamaicaVM
creació de programes
El codi font s’ha de
convertir a Bytecode
$ javac programa.java
programa.java
programa.class
El Bytecode s’executa
en la JVM
programa.class
$ java programa
prog1.class
prog2.class
prog3.class
programa.jar
Es pot fer un paquet amb diferents
bytecodes
La JVM també pot executar
programes empaquetats
$ java -jar programa.jar
programa.jar
Per programar el més corrent
és fer servir un entorn de
desenvolupament
Ajudes
autocompletat
gestió de projectes
Hi ha diversos entorns
de desenvolupament
Eclipse
IntelliJ
IDEA
NetBeans
jdeveloper, Bluej, jsource
També hi ha IDE basats
en entorns web
https://codenvy.com
Basat en Eclipse Che
És habitual fer servir algun
gestor de projectes
maven
Gradle
ant
+
IVY
SBT, Buildr, Leiningen, grape,...
Versió 2 - 2016
Les imatges són de OpenClipart o meves

Introducció a Java per DAW mòdul de Programació