Professional Documents
Culture Documents
BI 1
PHN 1
LCH S RA I
CA JAVA
LCH S RA I CA JAVA
LCH S RA I CA JAVA
Lc u Gosling v cc cng s nh chn ngn
ng C++ nhng thy rng C++ c nhng hn ch.
Chng trnh vit bng C++ khi chuyn sang chy
trn mt h thng my c b vi x l khc th i
hi phi bin dch li.
Gosling quyt nh xy dng hn mt ngn ng
mi da trn nn ngn ng C,C++ v t tn l
Oak (cy si, v phng lm vic ca Gosling nhn
ra mt cy si).
Oak i hi phi c lp cu trc nn (phn cng,
OS) do thit b c th do nhiu nh sn xut khc
nhau (Platform independent).
4
LCH S RA I CA JAVA
1993, Internet v Web bng n, Sun chuyn Oak
thnh mt mi trng lp trnh Internet vi tn d
n l Java.
1995: Oak i tn vi tn chnh thc l Java. Java
l tn mt hn o c trng nhiu c ph m nhm
nghin cu pht trin tham quan v lm vic.
Mc ch ca Java pht trin ng dng cho cc
thit b in t thng minh, to cc trang web c
ni dung ng (applet). Hin nay Java c s
dng pht trin nhiu loi ng dng khc nhau
nh c s d liu, mng, Internet, games, vin
thng,
5
PHN 2
MT S C TNH
CA JAVA
MT S C TNH CA JAVA
n gin.
Kh chuyn.
Hng i tng.
Phn tn
a tiu trnh (multithread).
An ton.
Bin dch v thng dch
Gii phng b nh (Garbage Collection)
MT S C TNH CA JAVA
n gin (simple): Java tng t nh C++ nhng
b bt cc c tnh phc tp ca C++ nh qun l
b nh, pointer, overload ton t, khng dng
include, b struct, union. Java c k tha t C+
+, v c loi b i cc tnh nng kh nht ca
C++ nn java d s dng hn.
Tnh kh chuyn (portable): ca java do chng
trnh bin dch to ra m byte (bytecodes) khng
ph thuc h thng my s dng. Bytecodes l tp
hp cc cu lnh tng t nh lnh m my
(machine code), n c to ra khi mt chng
trnh Java c bin dch xong.
8
MT S C TNH CA JAVA
Minh ha tnh kh chuyn
MT S C TNH CA JAVA
Tnh hng i tng (OO):
Hng i tng trong Java tng t nh C++
nhng Java l mt ngn ng lp trnh hng i
tng hon ton, khng th vit mt ng dng
hng th tc trong Java
Tt c mi th cp n trong Java u lin quan
n cc i tng c nh ngha trc, thm ch
hm chnh (hm main) ca mt chng trnh vit
bng Java cng phi t bn trong mt lp.
Hng i tng trong Java khng c tnh a k
tha (multi inheritance) nh trong C++ m thay vo
Java a ra khi nim interface h tr tnh a
k tha.
10
MT S C TNH CA JAVA
Phn tn (distributed): nhm n phn b ng
dng trn mng, ng dng c lp platform. C th
l Java c h tr cng ngh lp trnh RMI, CORBA,
JavaBean. Cc cng ngh ny cho php s dng
li cc lp to ra, triu gi cc phng thc
(method) hoc cc i tng t mt my xa.
a tiu trnh (multithread): c tnh ny ca Java
cho php to nhiu tin trnh, tiu trnh c th chy
song song cng mt thi im v c th tng tc
vi nhau.
11
MT S C TNH CA JAVA
Tnh an ton (secure): Kim tra an ton code
trc khi thc thi, c nhiu mc kim tra bo mt
Mi trng thc thi an ton
Mc 1: Mc ngn ng, nh tnh bao gi d liu
ca OOP, khng cho php truy cp trc tip b nh
m phi thng qua method.
Mc 2: Mc Compiler, kim tra an ton cho code
trc khi bin dch.
Mc 3: Mc Interpreter, trc khi bytecode c
thc thi, c kim tra an ton.
Mc 4: Mc Class, cc class trc khi np c
kim tra an ton.
12
MT S C TNH CA JAVA
Bin dch v thng dch:
MT S C TNH CA JAVA
Minh ha bin dch
v thng dch
Chng trnh
Java
Compile
r
Chng trnh Bytecode c
lp platform
Macintosh
Sparc
14
MT S C TNH CA JAVA
Gii phng b nh (Garbage Collection)
Java cung cp mt tin trnh mc h thng
theo di vic cp pht b nh
Garbage Collection
nh du v gii phng cc vng nh khng
cn c s dng.
c tin hnh t ng.
C ch hot ng ph thuc vo cc phin
bn my o.
15
PHN 3
CNG NGH
JAVA
17
Nn tng Java 2, phin bn doanh nghip Java 2 Enterprise Edition. H tr pht trin
cc ng dng thng mi.
Chy trn my ch ln vi sc mnh x l v
dung lng b nh ln, h tr gn lin vi
servlet, jsp v XML.
Mobile
J2ME
(embedded)
applications
25
Games:
Lp trnh Games bng Java c pht trin
mnh m. Dng Java c th vit c games
cho my destop v cc thit b di ng.
26
1996
1997
1998
2000
2002
2004
2006
Hin nay
Ghi ch: sau ny JDK cn c gi l SDK (Java SDK - Software Development Kit) 27
29
Java Compiler
(javac)
Java
Object
(*.class)
M i tng c xc minh
v np vo my o Java
Chng trnh
c x l bi
trnh thng dch
33
PHN 4
HNG DN
CI T
CC PHN MM CN CHUN B
JDK 1.6 (jdk-6u11-windows-i586-p)
JDK DOC 1.6 (jdk-6u10-docs)
http://java.sun.com/javase/downloads/index.jsp
JCreator 4.5
http://www.jcreator.com/download.htm
Nu khng dng mt IDE nh JCreator son
tho, dch v thc thi th ta c th dng trnh son
tho vn bn nh NotePad son tho.
35
TRNH T CI T
Nn ci t theo trnh t sau:
Ci JDK 1.6
Thit lp bin mi trng PATH, CLASPATH
Ci JDK Doc 1.6
JCreator 4.5
Thit lp cho JCreator ch vo b JDK Doc 1.6 ci
t
36
CI JDK 1.6
Phn ny hng dn ci trong h iu hnh Windows XP
(i vi cc h iu hnh khc ca hng Microsoft th
cch ci cng tng t).
To th mc C:\Java ci. Nu khng th JDK ci
ngm nh vo C:\Program Files\Java\jdk1.6.0_11
Nhp p vo source JDK 1.6 ci.
Thit lp bin mi trng PATH ch n th mc BIN ca
th mc m ta mi ci JDK.
Thit lp bin mi trng CLASSPATH ch n th mc
cha cc lp ca ngi dng. T bn JDK 1.4 v sau, ta
khng cn quan tm n bin CLASSPATH na.
37
38
39
CI T JDK DOC
JDK Doc l l ti liu tr gip tra cu cc lp v cc phng thc ca Java.
JDK Doc cng tr gip tra hm v lp khi son tho trong JCreator. Source ca
JDK Doc dng file nn. Ta tin hnh gii nn n vo cng th mc ci JDK,
kt qu c th mc docs nh sau:
40
CI T JCREATOR 4.5
Sau khi download source JCreator v ci t n xong, nh tin hnh b kha.
41
CI T JCREATOR 4.5
JDK Doc tr gip tra hm v lp khi son tho trong JCreator, ta phi cu hnh nh sau:
Configure/Options/JDK Profiles/Chn th mc ci Java/Chn th Document/Nhp nt
Add/Chn th mc docs ca JDK Doc/OK.
42
PHN 5
BC 1: TO MT EMPTY PROJECT
Trn menu ca JCreator chn File/New/Project/Empty Project/Next
44
45
Nhp vo tn ca
class ri nhp Finish
46
Dch (F7)
Ca s
Workspace
Ca s
son tho m ngun
Ca s xut kt qu dch
(dch thnh cng hoc c li)
Dng chng
trnh ang chy
Thc thi
(F5)
Ca s Output xut
kt qu chy chng trnh
47
Lu tr vi tn HelloWorld.java- tn lp l tn file
48
1 error
E:\BaiGiang2004\Java>javac HelloWorld.java
E:\BaiGiang2004\Java>java HelloWorld
Hello World From Java !
E:\BaiGiang2004\Java>
49
HT
CHNG 1