You are on page 1of 77

http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !

ng
LI CM N
hon thnh n tt nghip n"# l$i %u ti&n 'm (in )h*n thnh )+m ,n ))
th%" gio# )- gio .hoa /-ng ngh th-ng tin Tr0$ng 1i h2) 3*n lp 4+i 5h6ng#
nh7ng ng0$i 8 1" 9# trang :; )ho 'm nh7ng <=>n th) :? =)h trong :n n@m h2)
vAa BuaC
Dm (in :" tE l6ng :i>t ,n F*u FG) nhHt tIi th%" gio 5hJng Knh TuHn# ng0$i 8
tn tnh h0Ing Ln# )hM :+o 'm trong Fut th$i gian thN) tp v lm nC
Oh*n ;p n" 'm (in gPi l$i )+m ,n )h*n thnh tIi gia nh# :1n :Q# nh7ng ng0$i
th*n 8 )? vR# Sng vi&n ti>p th&m )ho 'm ngh; lN) 'm hon thnh n tt nghipC
Em xin chn thnh cm n !
4+i 5h6ng# ng" 0T thng 0U n@m 2009
Vinh vi&n
Nguyn Th Hong
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng T
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
MC LC
YZ[ /\] ^OCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT
]_/ Y_/CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2
YZ[ ]` abCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc
/4d^Oe TW /fO g\O hi ]jOe ]kl TmO4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCn
TCTC ;nh nghoa m1ng m" t=nhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCn
TC2C Ohu )%u pht trin m1ng m" t=nhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCU
TCpC 5h*n lo1i m1ng m" t=nhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCq
TCcC ]St F topo m1ng th-ng !ngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCq
TCrC eiao th) m1ngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC9
TCrCTC eiao th) T/5s[5CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC9
TCrC2 eiao th) b35CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTp
TCnC /) m- hnh ho1t Sng )ta m1ng m" t=nhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTc
TCnCTC ]- hnh m1ng ho1t Sng th'o 1ng p''r to p''rCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTc
TCnC2C ]- hnh m1ng ho1t Sng th'o 1ng )li'ntFs F'rv'rCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTc
/4d^Oe 2W V^ Ydu/ hi OevO Oew Yx5 TyzO4 JKhKCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTn
2CTC eiIi thiuCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTn
2C2C ]St F t=nh )hHt )ta ng-n ng7 JavaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTn
2C2CTC ,n gi+nCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTn
2C2C2C 40Ing i t0{ngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTU
2C2CpC S) lp ph%n )ng v h i|u hnhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTU
2C2CcC ]1nh m}CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTq
2C2CrC g+o mtCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTq
2C2CnC 5h*n tnCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT9
2C2CUC a lungCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT9
2C2CqC Yinh SngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT9
2CpC /) 1ng )h0,ng trnh ng !ng )ta JavaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT9
2CpCTC /h0,ng trnh ng !ng 1ng S) lp ~Kppli)ationCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT9
2CpC2C /h0,ng trnh ng !ng 1ng nhng ~Kppl'tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC20
2CpCpC /h0,ng trnh ng !ng 1ng lai ghpCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2T
2CcC /Hu tr) )ta tp )h0,ng trnh JavaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2T
/4d^Oe pW Yx5 TyzO4 V/.DT T/5CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2p
pCTC ;nh nghoaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2p
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
pC2C ]- hnh )li'ntFsF'rv'r FP !ng Fo)<'t )h> S h0Ing <>t ni T/5CCCCCCCCCCCCCCCCCCCCCCCCCCCCC2r
pCpC Yp trnh Vo)<'t T/5 trong JavaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2U
pCpCTC *" Nng )h0,ng trnh )li'ntF )h> S h0Ing <>t niCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC2q
pCpC2C *" Nng )h0,ng trnh F'rv'r )h> S h0Ing <>t niCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC29
/4d^Oe cW YbOe TyOe JKhKCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCpT
cCTC .hi nim lungCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCpT
cCTCTC Ti>p )n lung m) ng0$i JngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCpp
cCTC2C Ti>p )n lung m) h1t nh*n h i|u hnhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCpc
cC2C Yung trong JavaCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCpc
cC2CTC /) ph0,ng php thN) hin lungCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCpc
cC2C2C S 0u ti&n )ta )) lungCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCp9
cC2CpC Ohm lungCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc0
cC2CcC ng :S ha )) lung thi hnhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc0
/4d^Oe rW /4d^Oe TyzO4 Oe 3_OeCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcp
rCTC eiIi thiuCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcp
rC2C ]- hnh )hung tru" nhp ), F 7 liu ':CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcc
rCpC /h0,ng trnh ng !ngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcr
rCpCTC ]- hnh v ), )h> ho1t SngCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcr
rCpC2C Thi>t <> v )i t ), F 7 liu thP nghimCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcn
rCpCpC Thi>t <> )h0,ng trnhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCcq
rCpCcC ]St F giao in )h=nhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCr0
rCcC Ohn (tCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCn2
.T YbxOCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCnp
T[ Y[b T4K] .4\CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCnc
54_ Y_/CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCnr
TC 40Ing Ln t1o tp )h=nh F)h .java.policyCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCnr
2C ]8 ngun )h0,ng trnhCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUT
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng p
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
LI M !"#
Og" na"# vIi FN pht trin vIi t) S )hng mt )ta <hoa h2) < thut# mSt <
ngu"&n mIi 0{) m ra# < ngu"&n )ta )-ng ngh th-ng tinC Ohu )%u )ta loi ng0$i
ng" )ng lIn# ) :it l )) ngnh <hoa h2) < thut <h) |u )%n >n FN h? tr{ )ta
)-ng ngh th-ng tin# m) J )-ng ngh ph%n )ng pht trin rHt nhanh# /5b vIi t)
S (P l ng" )ng )ao# nh0ng l1i n+" Finh nhi|u :i ton trong thN) t> F+n (uHt 6i
hEi ph+i (P l= nhanh h,n n7aC
hHn | (P l Fong Fong ang ng" )ng 0{) nghi&n )u nhi|u gi+i Bu">t mSt
F :i ton m thN) tiXn ang t ra# nh7ng vHn | )%n ) <>t Bu+ trong th$i gian thN)
nh0W :i ton N :o th$i ti>t# i|u ti>t giao th-ng# i|u <hin )) )on tu vR tr!#))
:i ton v| m- phEngh v"# vi) nghi&n )u )) gi+i thut )ho (P l Fong Fong l
mSt "&u )%u v l mSt th)h th) )ho )) nh <hoa h2) li&n Buan >n <hoa h2) m"
t=nhC Java ra $i trong FN N on tr0I) nh7ng g F} (+" ra trong th> giIi )ta )-ng
ngh m" t=nh# n h9 tr{ )ho vi) (P l Fong Fong vIi ), )h> a lungC
Oh0ng trong lonh vN) gio !) th l0{ng ti liu ni v| lp trnh a lung ni
)hung v lp trnh a lung trong Java )6n t0,ng i =t v trnh :%" )h0a F*u# nhHt l
)) v= ! minh h2a )ho ), )h> lp trnh n" ) th ni l hi>mC OSi ung n tt
nghip n" ) gGng lm r mSt F <hi nim ), :+n )ta lp trnh a lung trong Java
v )i t )h0,ng trnh ng !ng minh h2aC
OSi ung n tt nghip 0{) trnh :%" trong r )h0,ng
Ch$ng % trnh :%" nh7ng <i>n th) )@n :+n v| m1ng m" t=nhW ;nh nghoa#
ph*n lo1i# )) lo1i giao th) m1ng# )) m- hnh ho1t Sng )ta m1ng m" t=nh# ta
) th ti>p )n vIi )) )h0,ng ti>p th'oC
Ch$ng & giIi thiu v| Java# )) t=nh )hHt# )) 1ng )h0,ng trnh ng !ng )ta
Java# )Hu tr) )ta tp )h0,ng trnh JavaC
Ch$ng ' trnh :%" v| lp trnh Vo)<'t T/5 v lp trnh Vo)<'t T/5 trong JavaC
Ch$ng ( giIi thiu <hi nim lung# )) ))h ti>p )n lung# tA i F*u vo
)) vHn | li&n Buan >n lung trong JavaW )) ph0,ng php thN) hin# S 0u ti&n#
nhm lung# ng :S ha )) lung thi hnhC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng c
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Ch$ng ) trnh :%" )hi ti>t ng !ng tru" nhp ), F 7 liu ': Na tr&n vi)
tm hiu l thu">t lp trnh a lung trong Java
Ti>p th'o l ph%n <>t lun# )ui )Jng l ti liu tham <h+o v ph! l!)C
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng r
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
CHNG 1: CN BN V MNG MY TNH
1.1. nh ngha mng m !"nh
]1ng m" t=nh l mSt tp h{p )) m" t=nh 0{) ni vIi nhau :i 0$ng tru"|n
th'o mSt )Hu tr) no v th-ng Bua )) m" t=nh trao ?i th-ng tin Bua l1i )ho
nhauC
0$ng tru"|n l h thng )) thi>t :; tru"|n Ln ) *" ha" <h-ng *" Jng
)hu"n )) t=n hiu in tP tA m" t=nh n" >n m" t=nh <h)C /) t=n hiu in tP
:iu th; )) gi tr; 7 liu 0Ii 1ng )) (ung nh; ph*n ~on - oC THt )+ )) t=n hiu
0{) tru"|n gi7a )) m" t=nh |u thuS) mSt 1ng Fng in tAC TJ" th'o t%n F )ta
Fng in tA ) th Jng )) 0$ng tru"|n vt l <h) nhau tru"|n )) t=n hiuC `
*" 0$ng tru"|n 0{) <>t ni ) th l *" )p ng tr!)# )p (oGn# )p Buang# *"
in tho1i# Fng v- tu">n# CCC /) 0$ng tru"|n 7 liu t1o n&n )Hu tr) )ta m1ngC 4ai
<hi nim 0$ng tru"|n v )Hu tr) l nh7ng ) tr0ng ), :+n )ta m1ng m" t=nhC
Hnh 1.1. Mt m hnh cc my tnh lin kt trong mng
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng n
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
1.#. Nh$ %&$ 'h! !()*n mng m !"nh
Og" na"# <hi m" t=nh 0{) FP !ng mSt ))h rSng r8i v F l0{ng m" t=nh
trong mSt v@n ph6ng ha" ), Buan 0{) t@ng l&n nhanh )hng th vi) <>t ni )hng tr
n&n v- )Jng )%n thi>t v F} mang l1i nhi|u hiu Bu+ )ho ng0$i FP !ngC
hIi mSt l0{ng lIn v| th-ng tin# nhu )%u (P l th-ng tin ng" )ng )ao# m1ng
m" t=nh 8 tr n&n Bu Bu'n thuS) i vIi )hng ta trong m2i lonh vN) nh0W th0,ng
m1i# ;)h v!# gio !)# <hoa h2)# Bu*n FN# Bu) ph6ng# CCC
Og0$i ta thH" 0{) vi) <>t ni )) m" t=nh thnh m1ng )ho )hng ta nh7ng
<h+ n@ng mIi to lIn nh0W
- S dng chung ti nguyn! nh7ng ti ngu"&n ~nh0 thi>t :;# )h0,ng trnh# 7
liu <hi 0{) tr thnh )) ti ngu"&n )hung th m2i thnh vi&n )ta m1ng |u ) th
ti>p )n 0{) m <h-ng )%n Buan t*m tIi nh7ng ti ngu"&n *uC
- "#ng $ tin c%y c&' h( th)ng! ng0$i ta ) th X ng :+o tr m" m)# l0u tr7
~:a)<up )) 7 liu )hung v <hi ) tr!) tr) trong h thng th )hng ) th 0{)
<h-i ph!) nhanh )hngC Trong tr0$ng h{p ) tr!) tr) tr&n mSt tr1m lm vi) th
ng0$i ta )Rng ) th FP !ng nh7ng tr1m <h) tha" th>C
- *+ng c'o ch,t l-.ng / hi(u 0u1 kh'i thc thng tin! <hi th-ng tin ) th 0{)
FP !ng )hung th n mang l1i )ho ng0$i FP !ng <h+ n@ng t? )h) l1i )) )-ng vi)
vIi nh7ng tha" ?i v| )hHt nh0W
p ng nh7ng nhu )%u )ta h thng ng !ng <inh oanh hin 1iC
/ung )Hp FN thng nhHt gi7a )) 7 liuC
T@ng )0$ng n@ng lN) (P l nh$ <>t h{p )) :S phn ph*n tnC
T@ng )0$ng tru" nhp tIi )) ;)h v! m1ng <h) nhau ang 0{) )ung )Hp tr&n
th> giIiC
hIi nhu )%u 6i hEi ng" )ng )ao )ta (8 hSi n&n vHn | < thut trong m1ng l
mi Buan t*m hng %u )ta )) nh tin h2)C h= ! nh0W lm th> no tru" (uHt th-ng
tin mSt ))h nhanh )hng v ti 0u# trong <hi vi) (P l th-ng tin tr&n m1ng Bu
nhi|u# -i <hi ) th lm tG) ngh}n v g*" ra mHt th-ng tin mSt ))h ng ti>)C 4in
na"# vi) lm Fao ) 0{) mSt h thng m1ng )h1" tht tt# tht an ton vIi l{i =)h
<inh t> )ao ang rHt 0{) Buan t*mC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng U
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
1.+. ,h-n ./) mng m !"nh
3o hin na" m1ng m" t=nh 0{) pht trin <hGp n,i vIi nh7ng ng !ng ng"
)ng a 1ng )ho n&n vi) ph*n lo1i m1ng m" t=nh l mSt vi) rHt ph) t1pC
3Na th'o ph1m vi ph*n : )ta m1ng ta ) th ph*n ra )) lo1i m1ng nh0 FauW
- *+N ~elo:a Kr'a O'tor<W <>t ni m" t=nh gi7a )) )h*u l!) vIi nhau th-ng
Bua m1ng viXn th-ng v v tinhC
- ,+N ~i' Kr'a O'tor<W <>t ni m" t=nh trong nSi :S )) Bu) gia ha"
gi7a )) Bu) gia trong mSt )h*u l!) vi) thN) hin <>t ni th-ng Bua m1ng viXn
th-ngC
- M+N ~]'tropolitan Kr'a O'tor<W <>t ni m" t=nh trong ph1m vi mSt thnh
phC .>t ni n" 0{) thN) hin th-ng Bua m-i tr0$ng tru"|n th-ng t) S )ao
~r0-T00 ]:pFC
- L+N ~Yo)al Kr'a O'tor<W l m1ng )!) :S <>t ni )) m" t=nh trong <hu vN)
:n <=nh hp ~th-ng th0$ng <ho+ng vi tr@m mtC .>t ni 0{) thN) hin trong m-i
tr0$ng tru"|n th-ng t) S )aoC YKO th0$ng 0{) FP !ng trong mSt ), Buan ha" mSt
t? )h)# o v" m1ng YKO 0{) FP !ng rHt ph? :i>nC
1.0. M1! 23 !/'/ mng !h4ng 56ng
Th'o ;nh nghoa v| m1ng m" t=nh# )) m" t=nh 0{) ni vIi nhau :i ))
0$ng tru"|n vt l th'o mSt <i>n tr) no # )) <i>n tr) g2i l Topolog"C Th-ng
th0$ng m1ng ) :a lo1i <i>n tr)# lW m1ng hnh Fao ~Vtar Topolog"# m1ng 1ng
tu">n ~guF Topolog"# m1ng 1ng v6ng ~ying Topolog"C
- 2ing "o3ologyW ]1ng 0{) : tr= v6ng tr6n# 0$ng *" )p 0{) thi>t <> lm
thnh mSt v6ng <hp <=n# t=n hiu )h1" th'o mSt )hi|u no C /) nt tru"|n t=n hiu
)ho nhau t1i mSt th$i im 0{) mSt nt m th-iC ]1ng 1ng v6ng ) thun l{i l )
th nIi rSng ra (a nh0ng 0$ng *" ph+i <hp <=n# n>u :; ngGt mSt n,i no th
ton :S h thng )Rng :; ng0ngC
Hnh 1.4. 2ing "o3ology
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng q
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- 5u6 "o3ologyW ` 1ng guF tHt )+ )) nt 0{) ph*n )hia mSt 0$ng tru"|n
)h=nh ~:uFC 0$ng tru"|n n" 0{) giIi h1n hai %u :i mSt lo1i %u ni ) :it g2i
l T'rminatorC .hi mSt nt tru"|n 7 liu# t=n hiu 0{) Bu+ng : tr&n hai )hi|u )ta
:uF# m2i nt )6n l1i |u 0{) nhn t=n hiu trN) ti>pC Yo1i m1ng n" Jng *" )p =t#
X lGp tC Tu" v" )Rng ) nh7ng :Ht l{i# l F} ) FN Jn tG) giao th-ng <hi i
)hu"n vIi l0u l0{ng lIn v <hi ) FN hEng h) o1n no th rHt <h pht hin#
n>u mSt nt ngAng ho1t Sng F} +nh h0ng tIi ton :S h thngC
Hnh 1.7. 5u6 "o3ology Hnh 1.8. St'r "o3ology
- St'r "o3ologyW ]1ng hnh Fao :ao gm mSt :S tp trung v )) nt th-ng tinC
/) nt th-ng tin ) th l )) tr1m )ui# )) m" t=nh ha" )) thi>t :; <h) )ta m1ngC
]1ng ho1t Sng th'o ngu"&n l ni Fong Fong n&n n>u ) mSt nt :; hEng# m1ng vLn
ho1t Sng :nh th0$ngC ]1ng ) th m rSng ho) thu hp tJ" th'o "&u )%u )ta ng0$i
FP !ng# tu" nhi&n m rSng ph! thuS) vo <h+ n@ng )ta trung t*mC
1.7. G)a/ !h8% mng
eiao th) m1ng l mSt tp )) Bu" tG)# Bu" 0I) trao ?i th-ng tin gi7a hai h
thng m" t=nh ho) hai thi>t :; m" t=nh vIi nhauC Oi mSt ))h hnh th) th giao
th) m1ng l mSt ng-n ng7 0{) )) m" t=nh trong m1ng FP !ng trao ?i 7 liu
vIi nhauC / nhi|u lo1i giao th) 0{) FP !ng trong m1ng m" t=nh nh0W Kppl' Tal<#
3Y/# O'tgDb[# nh0ng hin na" giao th) 0{) FP !ng ph? :i>n nhHt trong m1ng
m" t=nh l giao th) T/5s[5C
%-)-%- *i.o th/c TC01I0
eiao th) T/5s[5 0{) pht trin tA m1ng Ky5KODT v [nt'rn't v 0{) Jng
nh0 giao th) m1ng v vn )hu"n tr&n m1ng [nt'rn'tC T/5 ~TranFmiFFion /ontrol
5roto)ol l giao th) thuS) t%ng vn )hu"n v [5 ~[nt'rn't 5roro)ol l giao th)
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 9
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
thuS) t%ng m1ng )ta m- hnh V[C 42 giao th) T/5s[5 hin na" l giao th) 0{) FP
!ng rSng r8i nhHt li&n <>t )) m" t=nh v )) m1ngC
4in na" )) m" t=nh )ta h%u h>t )) m1ng ) th FP !ng giao th) T/5s[5
li&n <>t vIi nhau th-ng Bua nhi|u h thng m1ng vIi < thut <h) nhauC eiao th)
T/5s[5 thN) )hHt l mSt h2 giao th) )ho php )) h thng m1ng )Jng lm vi) vIi
nhau th-ng Bua vi) )ung )Hp ph0,ng tin tru"|n th-ng li&n m1ngC
%- *i.o th/c I0
Ohim v! )h=nh )ta giao th) [5 l )ung )Hp <h+ n@ng <>t ni )) m1ng )on
thnh li&n <>t m1ng tru"|n 7 liu# vai tr6 )ta [5 l vai tr6 )ta giao th) t%ng m1ng
trong m- hnh V[C eiao th) [5 l mSt giao th) <iu <h-ng h0Ing <>t ni
~)onn')tionl'FF# ) nghoa l <h-ng )%n ) giai o1n thi>t lp li&n <>t tr0I) <hi tru"|n
7 liuC
;nh anh )) tr1m ~hoFt trong li&n m1ng 0{) ng0$i ta FP !ng ;a )hM [5 )
S i p2 :itFC ]9i giao in trong mSt m" ) h9 tr{ giao th) [5 |u 0{) gn mSt
;a )hM [5 ~mSt m" t=nh ) th gGn vIi nhi|u m1ng o v" ) th ) nhi|u ;a )hM [5C
;a )hM [5 gm p ph%nW :it ;nh anh lIp m1ng# ;a )hM m1ng ~n't[3 v ;a )hM m"
~hoFt[3C ]9i ;a )hM [5 0{) ph*n thnh c vJng ~m9i vJng T :"t'# ) th :iu th;
0Ii 1ng thp ph*n# :t ph*n# thp l!) ph*n ha" nh; ph*nC /)h vi>t ph? :i>n nhHt l
Jng < php thp ph*n ) Hu )hHm ~ott' ')imal notation t)h )) vJngC ]!)
=)h )ta ;a )hM [5 l ;nh anh u" nhHt )ho mSt m" t=nh :Ht < tr&n li&n m1ngC
3o t? )h) v S lIn )ta m1ng )on ~Fu:n't )ta li&n m1ng ) th <h) nhau#
ng0$i ta )hia )) ;a )hM [5 thnh r lIp# < hiu l K# g# /# 3# v DC Trong lIp K# g# /
)ha ;a )hM ) th gn 0{)C YIp 3 nh ri&ng )ho lIp < thut multi)aFtingC YIp D
0{) nh )ho nh7ng ng !ng trong t0,ng laiC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng T0
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 1.9. :,u tr;c c&' cc l<3 $=' ch> ?@
O't[3 Jng nhn 1ng tAng m1ng ri&ng :itC /) m1ng li&n <>t ph+i ) ;a
)hM m1ng ~n't[3 ri&ng )ho m9i m1ngC ` *" )) :it %u ti&n )ta :"t' %u ti&n 0{)
Jng ;nh anh lIp ;a )hM ~0 - lIp K# T0 - lIp g# TT0 - lIp /# TTT0 - lIp 3 v
TTTT0 - lIp DC
` *" ta (t )Hu tr) )ta )) lIp ;a )hM ) th gn 0{) l lIp K# g# /C
5h*n lIp )ta ;a )hM [5 nh0 FauW
- Mng l<3 AW ;a )hM m1ng ~n't[3 l T :"t' v ;a )hM hoFt ~hoFt[3 l p :"t'C YIp K
)ho php ;nh 1ng tIi T2n m1ng# ti a h,n Tn triu hoFt tr&n m9i m1ngC YIp n"
0{) Jng )ho )) m1ng ) F tr1m )N) lInC
- Mng l<3 5W ;a )hM m1ng ~n't[3 l 2 :"t' v ;a )hM hoFt ~hoFt[3 l 2 :"t'C YIp g
)ho php ;nh anh tIi Tnpq2 m1ng# vIi ti a nrrpc hoFt tr&n m9i m1ngC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng TT
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- Mng l<3 :W ;a )hM m1ng ~n't[3 l p :"t' v ;a )hM hoFt ~hoFt[3 l T :"t'C YIp /
)ho php ;nh anh tIi 2 triu m1ng# vIi ti a 2rc hoFt tr&n m9i m1ngC YIp n" 0{)
Jng )ho )) m1ng ) =t tr1mC
Hnh 1.B. 51ng 3h+n l<3 $=' ch> ?@
]St F ;a )hM ) t=nh )hHt ) :itW mSt ;a )hM ) hoFt[3 0 0{) Jng
h0Ing tIi m1ng ;nh anh :i vJng n't[3C Og0{) l1i# mSt ;a )hM ) vJng hoFt[3 gm
ton F T Jng h0Ing tIi tHt )+ )) hoFt ni vo m1ng n't[3# v n>u vJng n't[3
)Rng gm ton F T th n h0Ing tIi tHt )+ )) hoFt li&n m1ngC
/%n l0u rng ;a )hM [5 0{) Jng ;nh anh )) hoFt v m1ng t%ng V[#
v )hng <h-ng ph+i l )) ;a )hM vt l ~ha" ;a )hM ]K/ )ta )) tr1m tr&n mSt
m1ng )!) :S ~Dth'rn't# To<'n yingC
Trong nhi|u tr0$ng h{p# mSt m1ng ) th 0{) )hia lm nhi|u m1ng )on
~Fu:n't# l) ) th 0a th&m )) vJng Fu:n'ti ;nh anh )) m1ng )onC hJng
Fu:n'ti 0{) lH" tA vJng hoFt[3# )! th i vIi lIp K# g# / nh0 v= ! FauW
Hnh 1.C. D d $=' ch> ?@ khi EF 6ung 6uEnGtid
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng T2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
&- *i.o th/c TC0
T/5 l mSt giao th) h0Ing <>t ni# ) )ung )Hp mSt 0$ng tru"|n 7 liu tin
)" gi7a hai m" t=nhC T=nh tin )" )ta 0$ng tru"|n 0{) th hin hai ) im
FauW
- ]2i gi tin )%n gPi F} >n 0{) =)hC lm i|u n" th m9i l%n ph=a gPi Fau
<hi gPi (ong mSt gi tin n F} )h$ nhn mSt :i&n nhn tA :&n nhn rng 8 nhn 0{)
ng gi tinC O>u Fau mSt <ho+ng th$i gian m ph=a gPi <h-ng nhn 0{) th-ng tin
() nhn ph+n hi th n F} pht l1i gi tinC hi) pht l1i F} 0{) ti>n hnh )ho >n <hi
vi) tru"|n tin thnh )-ng# tu" nhi&n Fau mSt F l%n pht l1i ma( no m vLn )h0a
thnh )-ng th ph=a gPi ) th Fu" ra l <h-ng th tru"|n tin 0{) v F} Ang vi) pht
tinC
- /) gi tin F} 0{) trnh ng !ng nhn 0{) th'o ng th tN nh0 )hng 0{)
gPi iC gi )) gi tin ) th 0{) Ln i tr&n m1ng th'o nhi|u )on 0$ng <h) nhau
tr0I) <hi tIi =)h n&n th tN <hi tIi =)h )ta )hng ) th <h-ng ging nh0 <hi )hng
0{) phtC 3o +m :+o ) th FGp (>p l1i )) gi tin mSt ))h ng Gn nh0
ph=a gPi# giao th) T/5 F} nh F th tN )ho tAng gi tin trong )+ <hi tin )hung
0{) pht# nh$ v" :&n nhn ) th FGp (>p l1i )) gi tin th'o ng th tN :an %u
)ta )hngC
Oh0 v" ) th thH" T/5 )ung )Hp )ho )hng ta mSt <&nh tru"|n th-ng
im - im ph!) v! )ho )) ng !ng 6i hEi giao ti>p tin )" nh0 4TT5 ~Hy3GrtGHt
"r'nIGr @rotocol# 5T ~JilG "r'nIGr @rotocol# /) ng !ng n" Ei hEi mSt <&nh
giao ti>p tin )" :i th tN 7 liu 0{) gPi v nhn l ">u t Bu">t ;nh >n FN thnh
)-ng ha" thHt :1i )ta )hngC
%-)-& *i.o th/c #20
b35 ~K6Gr L't'gr'm @rotocol l giao th) <h-ng h0Ing <>t ni# 0{) FP !ng
tha" th> )ho T/5 th'o "&u )%u )ta tAng ng !ngC .h) vIi T/5# b35 <h-ng ) ))
)h) n@ng thi>t lp v <>t th) <>t niC T0,ng tN nh0 [5# n )Rng <h-ng )ung )Hp ),
)h> :o nhn ~'cknoMlGdgmGnt# <h-ng FGp (>p tu%n tN )) gi tin ~d't'gr'm >n v
) th Ln >n tnh tr1ng mHt ho) trJng 7 liu m <h-ng ) ), )h> th-ng :o l9i )ho
ng0$i gPiC ua ta thH" b35 )ung )Hp )) ;)h v! vn )hu"n <h-ng tin )" nh0
trong T/5C
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Tp
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
.hu-n 1ng b35 atagram 0{) m- t+ vIi )) vJng tham F ,n gi+n h,n nhi|u
Fo vIi T/5 F'gm'ntC
Hnh 1.N. Ohun dng c&' gPi tin KL@
1.9. C% m4 h:nh h/! ;1ng %<a mng m !"nh
]- hnh ho1t Sng )ta m1ng m" t=nh ) hai lo1iW
- ]- hnh m1ng ho1t Sng th'o 1ng p''r to p''r
- ]- hnh m1ng ho1t Sng th'o 1ng )li'ntFsF'rv'r
%-3-%- M4 h5nh m6ng ho6t 78ng th9o :6ng ;99< to ;99<
.h-ng tn t1i :Ht < m" )hu"&n !ng ho) )Hu tr) ph*n )Hp gi7a )) m" t=nh#
m2i m" t=nh |u :nh ng v ) vai tr6 nh0 nhauC Th-ng th0$ng m9i m" t=nh ho1t
Sng vIi )+ vai tr6 m" <h)h v m" ph!) v!# v v" <h-ng ) m" no 0{) )hM
;nh Bu+n l ton m1ngC Og0$i Jng tAng m" tN Bu">t ;nh 7 liu no tr&n m"
)ta mnh F} 0{) )hia F Jng )hung tr&n m1ngC
Hnh 1.Q. M hnh mng hot $ng thGo dng 3GGr to 3GGr
%-3-&- M4 h5nh m6ng ho6t 78ng th9o :6ng c=i9nt>1 >9<?9<
Trong m1ng ho1t Sng th'o m- hnh )li'ntFsF'rv'r ) mSt ho) nhi|u m" )
nhim v! )ung )Hp mSt F ;)h v! )ho )) m" <h) trong m1ng# )) m" n" 0{)
g2i l F'rv'r )6n )) m" t=nh 0{) ph!) v! g2i l m" )li'ntFC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Tc
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 1.1R. M hnh mng hot $ng thGo dng cliGnt6S6Gr/Gr
*" l m- hnh t?ng But# tr&n thN) t> F'rv'r ) th 0{) ni vIi nhi|u F'rv'r
<h) t@ng hiu Bu+ lm vi)C .hi nhn 0{) "&u )%u tA )li'ntF# F'rv'r ) th (P l
"&u )%u ho) gPi ti>p "&u )%u vAa nhn 0{) )ho mSt F'rv'r <h)C
]" F'rv'r F} thi hnh )) nhim v! o m" )li'ntF "&u )%uC / rHt nhi|u ;)h
v! tr&n m1ng ho1t Sng th'o ngu"&n l nhn )) "&u )%u tA )li'ntF Fau (P l v tr+
l1i )) <>t Bu+ )ho )li'ntF "&u )%uC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Tr
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
CHNG #: = >?C V NG@N NGA >B, TCDNH EFVF
#.1. G)G) !h)H$
Java l mSt ng-n ng7 lp trnh 0{) Vun ]i)roF"Ft'mF giIi thiu vo thng n
n@m T99rC TA # n 8 tr thnh mSt )-ng )! lp trnh )ta )) lp trnh vi&n )hu"&n
nghipC Java 0{) (*" Nng tr&n n|n t+ng )ta / v /# o v" n FP !ng )) )
php )ta / v )) ) tr0ng h0Ing i t0{ng )ta /C
ho n@m T99T# mSt nhm )) < F0 )ta Vun ]i)roF"Ft'mF ) ;nh thi>t <>
mSt ng-n ng7 lp trnh i|u <hin )) thi>t :; in tP nh0 tivi# m" git# l6 n0Ing#
]) J / v / ) <h+ n@ng lm vi) n" nh0ng trnh :i&n ;)h l1i ph! thuS)
vo tAng lo1i /5bC
Trnh :i&n ;)h th0$ng ph+i tn nhi|u th$i gian (*" Nng n&n rHt Gt# v v"
m9i lo1i /5b ) mSt trnh :i&n ;)h ri&ng l rHt tn <mC 3o nhu )%u thN) t> 6i
hEi mSt ng-n ng7 )h1" nhanh# g2n# hiu Bu+ v S) lp thi>t :; t) l ) th )h1" tr&n
nhi|u lo1i /5b <h) nhau# 0Ii )) m-i tr0$ng <h) nhauC a< 8 ra $i v vo
n@m T99r 0{) ?i t&n thnh JavaC ]) J m!) ti&u :an %u <h-ng ph+i )ho [nt'rn't
nh0ng o ) tr0ng <h-ng ph! thuS) thi>t :; n&n Java 8 tr thnh ng-n ng7 lp trnh
)ho [nt'rn'tC
#.#. M1! 23 !"nh %hI! %<a ng4n ngJ EaKa
Java l ng-n ng7 lp trnh 0{) pht trin tA ng-n ng7 lp trnh /s/C O <>
thAa# pht hu" )) th> m1nh )ta ng-n ng7 /s/ v l0{) :E i )) ) php ph) t1p
)ta /s/C Og-n ng7 lp trnh Java ) mSt F ) tr0ng ti&u :iuW ,n gi+n# h0Ing
i t0{ng# S) lp ph%n )ng v h i|u hnh# m1nh m}# :+o mt# ph*n tn# a lung
v linh SngC
&-&-%- !n gin
Oh7ng ng0$i thi>t <> mong mun pht trin mSt ng-n ng7 X h2) v Bu'n thuS)
vIi a F ng0$i lp trnhC 3o v" Java lo1i :E )) ) tr0ng ph) t1p )ta / v /
nh0W
- Yo1i :E thao t) )on trE# thao t) ;nh nghoa )hng ton tP
- .h-ng )ho php a <> thAa m FP !ng )) giao in
- .h-ng FP !ng lnh goto )Rng nh0 il' h'a'r ~.h
- Yo1i :E )Hu tr) struct v union
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Tn
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
&-&-&- H$@ng 7Ai t$Bng
Java l ng-n ng7 lp trnh thu%n h0Ing i t0{ng# m2i )h0,ng trnh vi>t tr&n
Java |u ph+i 0{) (*" Nng tr&n )) i t0{ngC O>u trong /s/ ta ) th t1o ra ))
hm ~)h0,ng trnh )on <h-ng gGn vIi i t0{ng no th trong Java ta )hM ) th t1o ra
)) ph0,ng th) ~)h0,ng trnh )on gGn li|n vIi mSt lIp )! thC Trong Java <h-ng )ho
php )) i t0{ng ) t=nh n@ng a <> thAa m 0{) tha" th> :ng )) giao in
~interface
&-&-'- !8c =C; ;hDn c/ng ? hE 7iFu hnh
i vIi )) ng-n ng7 lp trnh tru"|n thng nh0 /s/# ph0,ng php :i&n ;)h
0{) thN) hin nh0 Fau W
Hnh 4.1. :ch Ein d=ch ch-Tng trnh truyUn th)ng
hIi m9i n|n ph%n )ng <h) nhau# ) mSt trnh :i&n ;)h <h) nhau :i&n ;)h
m8 ngun )h0,ng trnh )ho phJ h{p vIi n|n ph%n )ng H"C 3o v"# <hi )h1" tr&n mSt
n|n ph%n )ng <h) :Gt :uS) ph+i :i&n ;)h l1i m8 ngunC
i vIi )) )h0,ng trnh vi>t :ng Java# trnh :i&n ;)h Java) F} :i&n ;)h m8
ngun thnh 1ng :"t')o'C Vau # <hi )h1" )h0,ng trnh tr&n )) n|n ph%n )ng
<h) nhau# m" +o Java Jng trnh th-ng ;)h Java )hu"n m8 :"t')o' thnh 1ng
)h1" 0{) tr&n )) n|n ph%n )ng t0,ng ngC 3o v"# <hi tha" ?i n|n ph%n )ng#
<h-ng ph+i :i&n ;)h l1i m8 ngun JavaC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng TU
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 4.4. :T ch d=ch ch-Tng trnh V'/'
&-&-(- M6nh mG
Java l ng-n ng7 "&u )%u )ht )h} v| <iu 7 liuC
- .iu 7 liu ph+i <hai :o t0$ng minhC
- Java <h-ng FP !ng )on trE v )) php ton )on trEC
- Java <im tra tHt )+ )) tru" nhp >n m+ng# )hu9i <hi thN) thi +m :+o rng
)) tru" nhp <h-ng ra ngoi giIi h1n <=)h th0I)
- Trong )) m-i tr0$ng lp trnh tru"|n thng# lp trnh vi&n ph+i tN mnh )Hp
pht :S nhI# tr0I) <hi )h0,ng trnh <>t th) th ph+i tN gi+i phng :S nhI 8 )HpC hHn
| ) th n+" Finh <hi lp trnh vi&n Bu&n gi+i phng :S nhI 8 (in )Hp tr0I) C
Trong )h0,ng trnh Java# lp trnh vi&n <h-ng ph+i :n t*m >n vi) )Hp pht :S nhIC
u trnh )Hp pht# gi+i phng 0{) thN) hin tN Sng# nh$ ;)h v! thu nht nh7ng i
t0{ng <h-ng )6n FP !ng n7a ~gar:ag' )oll')tionC
- /, )h> :L" l9i )ta Java gip ,n gi+n ha Ba trnh (P l l9i v hi ph!) Fau
l9iC
&-&-)- Ho mCt
Java )ung )Hp mSt m-i tr0$ng Bu+n l thN) thi )h0,ng trnh vIi nhi|u m)
<im Fot t=nh an tonW
- ` m) th nhHt# 7 liu v )) ph0,ng th) 0{) ng gi :&n trong lIpC
/hng )hM 0{) tru" (uHt th-ng Bua )) giao in m lIp )ung )HpC
- ` m) th hai# trnh :i&n ;)h <im Fot +m :+o m8 l an ton# v tu*n th'o
)) ngu"&n tG) )ta JavaC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Tq
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- ]) th :a 0{) +m :+o :i trnh th-ng ;)h )hng <im Fot ('m :"t')o'
) +m :+o )) Bu" tG) an ton tr0I) <hi thN) thi <h-ngC
- ]) th t0 <im Fot vi) n1p )) lIp vo :S nhI gim Ft vi) vi ph1m giIi
h1n tru" (uHt tr0I) <hi n1p vo h thngC
&-&-3- 0hn tIn
Java 0{) thi>t <> h9 tr{ )) ng !ng )h1" tr&n m1ng :ng )) lIp m1ng
~java.netC 4,n n7a# Java h9 tr{ nhi|u n|n )h1" <h) nhau n&n )hng 0{) FP
!ng rSng r8i nh0 l )-ng )! pht trin tr&n [nt'rn't - n,i FP !ng nhi|u n|n <h)
nhauC
&-&-J- !. =uKng
/h0,ng trnh Java )ung )Hp gi+i php a lung ~]ultithr'aing thN) thi ))
)-ng vi) ng th$iC /hng )Rng )ung )Hp gi+i php ng :S gi7a )) lungC ) t=nh
h9 tr{ a lung n" )ho php (*" Nng )) ng !ng tr&n m1ng )h1" hiu Bu+C
&-&-L- Linh 78ng
Java 0{) thi>t <> nh0 mSt ng-n ng7 Sng p ng )ho nh7ng m-i tr0$ng
mC /) )h0,ng trnh Java )ha rHt nhi|u th-ng tin thN) thi nhm <im Fot v tru"
nhp i t0{ng l) )h1C i|u n" )ho php <h+ n@ng li&n <>t m8 SngC
#.+. C% 5ng %hLMng !(:nh 8ng 56ng %<a EaKa
&-'-%- Ch$ng t<5nh /ng :Mng :6ng 78c =C; N+;;=ic.tionO
/h0,ng trnh ng !ng 1ng S) lp l mSt )h0,ng trnh ngun m Fau <hi ;)h
) th thN) hin trN) ti>pC /h0,ng trnh ng !ng 1ng S) lp trong Java :Gt %u thN)
hin v <>t th) ph0,ng th) main(), ging nh0 hm main() trong )h0,ng trnh
/s/C
.hi (*" Nng mSt ng !ng S) lp )%n l0u W
TC T1o lp mSt lIp 0{) ;nh nghoa :i ng0$i FP !ng ) ph0,ng th) main()
g2i l lIp )h=nh v :+o +m n 0{) ;nh nghoa ng th'o ng ngu"&n mLu 0{) Bu"
;nh :i JavaC
2C .im tra ('m liu tp )h0,ng trnh ) t&n trJng vIi t&n )ta lIp )h=nh v u-i
l .java ha" <h-ngC
pC 3;)h tp )h0,ng trnh ngun .java t1o ra )) tp m8 :"t')o' ) u-i
.class t0,ng ngC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng T9
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
cC VP !ng )h0,ng trnh th-ng ;)h )ta Java )h1" )h0,ng trnh 8 ;)hC
&-'-&- Ch$ng t<5nh /ng :Mng :6ng nhPng N+;;=9tO
Kppl't l lo1i )h0,ng trnh Java ) :it m <hi thN) hin m8 lnh )ta )hng
ph+i 0{) nhng trong vo mSt trang ': ~)) il' ) u-i 4T] ho) 4T]Y# )) th
4T]Y F} 0{) trnh u"t ': thN) thi ~nh0 O'tF)ap' ho) [nt'rn't D(plor'r )6n
o1n m8 lnh )ta Kppl't F} 0{) m" +o Java nhng trong trnh u"t ': thN) thiC
/Rng ) th Jng trnh Kppl'tvi''r )ta J3. thN) thi mSt Kppl'tC
]St )h0,ng trnh 1ng Kppl't :ao gm hai tpW .java v .html
Chu t<5nh ho6t 78ng cu +;;=9tQ
/h0,ng trnh ng !ng Kppl't 0{) thN) hin nh0 FauW
- .hi mSt appl't 0{) n1p v )h1" :i ': groF'r th n F} gPi th-ng ip
init() )Jng vIi )) 7 liu# <=)h th0I) )ta ino )h0,ng trnh Kppl't <hi
SngC
- .hi :Gt %u thN) hin# ': groF'r th-ng :o )ho Kppl't :Gt %u :ng ))h
g2i ph0,ng th) start()C
- .hi r$i <hEi trang ': ) )ha Kppl't th )h0,ng trnh Kppl't n" nhn 0{)
th-ng ip stop() Ang )h0,ng trnhC
4o1t Sng )ta )h0,ng trnh Kppl't 0{) m- t+ nh0 hnh 0Ii
Hnh 4.7. :hu trnh hot $ng c&' A33lGt
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 20
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Trong W
- init()! ph0,ng th) n" 0{) g2i <hi Kppl't 0{) n1p l%n %u v 0{) ('m nh0
l ton tP t1o lp )ho Kppl'tC
- start(): 0{) g2i <hi Kppl't :Gt %u thN) hin# (uHt hin <hiW
Kppl't 0{) n1p (ung
Kppl't 0{) u"t l1i
- stop()! 0{) g2i <hi Kppl't Ang thN) hin# nh0ng )h0a :; lo1i :E <hEi :S nhIC
- destroy(): 0{) g2i nga" tr0I) <hi Kppl't <>t th)# <hi trnh u"t ': 0{)
ng l1i v Kppl't :; lo1i :E <hEi :S nhIC
&-'-'- Ch$ng t<5nh /ng :Mng :6ng =.i ghR;
Java )ho php (*" Nng mSt )h0,ng trnh ) th )h1" 0{) )+ ': groF'r
~Kppl't )Rng nh0 mSt ng !ng 1ng S) lp ~Kppli)ation# (*" Nng 0{) mSt
)h0,ng trnh nh0 th> ph+iW
- ;nh nghoa lIp ng !ng <> thAa tA lIp Applet
- Trong lIp ng !ng ph+i ) hm main()
#.0. CI$ !(N% %<a !H' %hLMng !(:nh EaKa
Tp )h0,ng trnh Java ) th ) )) ph%n 0{) ) t+ nh0 FauW
- ;nh nghoa mSt gi l tJ" )h2n th-ng Bua ;nh anh )ta gi ~packageC THt )+ ))
lIp# )) interface 0{) ;nh nghoa trong tp )ha gi n" |u thuS) gi C O>u
:E Bua ;nh nghoa gi th )) ;nh nghoa tp n" F} thuS) vo gi m) ;nhC
- ]St F lnh nhp importC
- ]St F ;nh nghoa lIp v interface ) th ;nh nghoa th'o th tN :Ht <# trong
th0$ng ) mSt lIp public.
Oh0 v"# )Hu tr) )ta mSt tp )h0,ng trnh Java ) th <hi But nh0 FauW
// Filename: Ne.java
// !h"n #: t$y ch%n
// &'nh ngh(a g)i
package *+ng)i,
// !h"n -: . ho/c nhi0u h1n
// c2c g)i c"n s3 45ng
import java.io.6,
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2T
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
// !h"n 7: . ho/c nhi0u h1n
// &'nh ngh(a c2c l8p v9 c2c interface
public class Ne:...;
class <# :...;
interface =# :...;
// ...
class <n :...;
interface =m :...;
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 22
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
CHNG + : >B, TCDNH =OCPQT TC,
+.1. nh ngha
/ nhi|u ;nh nghoa <h) nhau v| >ocS9t tJ" th'o ))h nhn )ta ng0$i FP !ngW
]St ))h t?ng But nhHt ) th ;nh nghoaW mSt Fo)<'t l mSt im )ui trong
mSt <>t ni gi7a hai )h0,ng trnh ang )h1" tr&n m1ngC
Ohn tr&n Buan im )ta ng0$i pht trin ng !ng ng0$i ta ) th ;nh nghoa
Fo)<'t l mSt ph0,ng php thi>t lp <>t ni tru"|n th-ng gi7a mSt )h0,ng trnh "&u
)%u ;)h v! ~0{) gn nh8n l )li'ntF v mSt )h0,ng trnh )ung )Hp ;)h v! ~0{)
gn nh8n l F'rv'r tr&n m1ng ho) tr&n )Jng mSt m" t=nhC
i vIi ng0$i lp trnh# h2 nhn nhn Fo)<'t nh0 mSt giao in nm gi7a t%ng
ng !ng v t%ng <h) trong m- hnh m1ng V[# ) nhim v! thN) hin vi) giao ti>p
gi7a )h0,ng trnh ng !ng vIi )) t%ng :&n 0Ii )ta m1ngC
Hnh 7.1. M hnh WS? dng r;t gXn
Tu" nhi&n# )) lp trnh vi&n hin na" g%n nh0 lu-n lu-n :; ng@n )+n t1o Fo)<'t
ri&ng :ng ))h tht )-ng# :i J :1n Jng Java ha" 545## ) th :1n F} <h-ng :ao
gi$ m 0{) )?ng mSt ))h t0$ng minhC Tha" vo )) lp trnh vi&n F} Jng th0
vin Fo)<'t 0{) h9 tr{ Fn :i )) ng-n ng7 lp trnhC Oh0 v"# )) Fo)<'t vLn tn t1i
<>t ni )) ng !ng )ta ng0$i Jng# nh0ng )) )hi ti>t )ta Fo)<'t 0{) n trong
nh7ng lIp F*u h,n m2i ng0$i <h-ng ph+i Sng )h1m >nC
3o 6ockGt l mSt thN) th ph%n m|m ) )h) n@ng nhn ho) gPi 7 liu i tr&n
<>t ni gi7a hai ng !ng m1ng n&n <hi )%n FP !ng Fo)<'t th ng !ng F} t1o ra
6ockGt Jng# <hi <h-ng )%n FP !ng n7a th ) th hu :E Fo)<'tC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2p
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
]St 6ockGt 0{) ;nh anh :ng mSt )p gi tr;W
- ;a )hM [5 )ta m" t=nh ) )h0,ng trnh ng !ng 8 t1o ra Fo)<'t
- V hiu )?ng ~port m Fo)<'t Jng nhnsgPi 7 liuC
Ohi ni(m cFngW /?ng thN) )hHt l F hiu )ta mSt )h0,ng trnh ng !ng ang )h1"
tr&n mSt m" t=nhC h thng ) th th'o i 0{) )) )h0,ng trnh ng !ng ang
)h1" tr&n m" t=nh# h i|u hnh F} gn )ho m9i ng !ng mSt )on F ~Tn:itF
trong <ho+ng tA 0 >n nrrprC Trong thN) t> th )) F hiu )?ng tA 0 >n T02p ~gm
T02c )?ng 8 0{) Jng )ho )) ;)h v! n?i ti>ng W
Hnh 7.4. S) hi(u cFng c&' mt 6) d=ch / nFi ting
O>u )hng ta <h-ng ph+i l ng0$i Bu+n tr; th n&n Jng tA )?ng T02c tr l&nC
h" >ocS9t ;a )hM I0 V hiu 0o<t
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2c
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
+.#. M4 h:nh %.)Rn!2S2R(KR( 2T 56ng 2/%UR! V %hW ;1 hLGng UW! n3) TC,
Giai on 1W V'rv'r t1o Fo)<'t# gn F hiu )?ng v lGng ngh' "&u )%u <>t niC
- 6ockGtYZW V'rv'r "&u )%u t1o mSt Fo)<'t ) th FP !ng )) ;)h v! )ta t%ng vn
)hu"nC
- EindYZ! V'rv'r "&u )%u gn F hiu )?ng ~port )ho Fo)<'tC
- li6tGnYZW V'rv'r lGng ngh' )) "&u )%u <>t ni tA )li'ntF tr&n )?ng 8 0{) gnC
V'rv'r Fn Fng ph!) v! )li'ntFC
Giai on 2W /li'ntF t1o Fo)<'t# "&u )%u thi>t lp mSt <>t ni tIi F'rv'rC
- 6ockGtYZ! /li'ntF "&u )%u t1o mSt Fo)<'t ) th FP !ng )) ;)h v! )ta t%ng vn
)hu"n# th-ng th0$ng h thng tN Sng gn mSt F hiu )?ng )6n r+nh )ho Fo)<'t )ta
)li'ntFC
- connGctYZ! /li'ntF gPi "&u )%u ni <>t >n F'rv'r ) ;a )hM [5 v 5ort () ;nhC
- 'ccG3tYZW V'rv'r )hHp nhn <>t ni )ta )li'ntF# <hi mSt <&nh giao ti>p +o 0{)
hnh thnh# )li'ntF v F'rv'r ) th trao ?i th-ng tin vIi nhau th-ng Bua <&nh +o n"C
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2r
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Giai on 3W Trao ?i th-ng tin gi7a )li'ntF v F'rv'r
- Vau <hi )hHp nhn "&u )%u <>t ni# th-ng th0$ng F'rv'r thN) hin lnh rG'dYZ v
ngh}n )ho >n <hi ) th-ng ip "&u )%u ~2G0uG6t MG66'gG tA )li'ntF gPi >nC
- V'rv'r ph*n t=)h v thN) thi "&u )%u# <>t Bu+ F} 0{) gPi v| )li'ntF :ng lnh MritGYZC
- Vau <hi gPi "&u )%u :ng lnh MritGYZ# )li'ntF )h$ nhn th-ng ip <>t Bu+
~2G3ly MG66'gG tA F'rv'r :ng lnh rG'dYZ.
Giai on 4 W .>t th) phi&n lm vi)
- /) )*u lnh rG'dYZ[ MritGYZ ) th 0{) thN) hin nhi|u l%n ~< hiu :ng hnh
'llipF'C
- .&nh +o F} :; (a <hi F'rv'r ho) )li'ntF ng Fo)<'t :ng lnh clo6GYZC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2n
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Oh0 v" ton :S Bu trnh iXn ra nh0 Fau W
+.+. >X' !(:nh =/%UR! TC, !(/ng EaKa
Java h9 tr{ lp trnh m1ng th-ng Bua )) lIp trong gi java.netC ]St F lIp
ti&u :iu 0{) Jng )ho lp trnh )li'ntFsF'rv'r FP !ng Fo)<'t lm ph0,ng tin giao
ti>p nh0W
=netA44ressW YIp n" :iu iXn ;a )hM [nt'rn't# Buan tr2ng nhHt l hai
ph0,ng th) get>ostName() v getA44ress() Jng )hu"n ?i gi7a ;a )hM
[5 v t&n m" t=nhC
?ocketW 49 tr{ )) ph0,ng th) li&n Buan >n Fo)<'t )ho )h0,ng trnh
)li'ntF )h> S h0Ing <>t niC
?erver?ocketW 49 tr{ )) ph0,ng th) li&n Buan >n Fo)<'t )ho )h0,ng
trnh F'rv'r )h> S h0Ing <>t niC
@atagram?ocketW 49 tr{ )) ph0,ng th) li&n Buan >n Fo)<'t )h> S
<h-ng h0Ing <>t ni )ho )+ )li'ntF v F'rv'rC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2U
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
@atagram!acketW YIp )i t gi tin 1ng th0 t=n ng0$i Jng trong giao
ti>p gi7a )li'ntF v F'rv'r )h> S <h-ng h0Ing <>t niC
'-'-%- Ty :Ung ch$ng t<5nh c=i9nt> V chW 78 h$@ng SWt nAi
/) :0I) t?ng ButW
TC ] mSt Fo)<'t <>t ni >n F'rv'r 8 :i>t ;a )hM [5 ~ha" t&n mi|n v F hiu
)?ng
2C YH" =nput?tream v Autput?tream gn vIi Fo)<'t
pC Tham <h+o proto)ol )ta ;)h v! ;nh 1ng ng 7 liu trao ?i vIi F'rv'r
cC Trao ?i 7 liu vIi F'rv'r nh$ vo )) =nput?tream v Autput?tream
rC ng Fo)<'t tr0I) <hi <>t th) )h0,ng trnh
YIp java.net.Socket: lIp Fo)<'t h9 tr{ )) ph0,ng th) )%n thi>t (*" Nng
)) )h0,ng trnh )li'ntF FP !ng )h> S h0Ing <>t niC 30Ii *" l mSt F ph0,ng
th) th0$ng Jng (*" Nng )li'ntF
- public Socket(String HostName, int PortNumber t!ro"s #$%&ception' ph0,ng
th) n" Jng <>t ni >n mSt F'rv'r ) t&n l 4oFtOam'# )?ng l 5ortOum:'rC
O>u <>t ni thnh )-ng# mSt <&nh +o F} 0{) hnh thnh gi7a )li'ntF v F'rv'rC
4oFtOam' W ;a )hM [5 ho) t&n logi) th'o 1ng t&n mi|n
5ortOum:'r W ) gi tr; tA 0 >n nrrpr
XY :MW m Fo)<'t v <>t ni >n ': V'rv'r )ta <hoa )-ng ngh th-ng tin# 1i h2)
/%n Th,W
?ocket s B ne ?ocket (.cit.ctu.e4u.vn,C.),
ho) ?ocket s B ne ?ocket(D-.7.#E-.7E.#FGH,C.),
- public #nputStream get#nputStream(' ph0,ng th) n" tr+ v| =nput?tream ni
vIi Fo)<'tC /h0,ng trnh )li'ntF Jng =nput?tream n" nhn 7 liu tA F'rv'r
gPi v|C
XY :M Q lH" =nput?tream )ta Fo)<'t FW
=nput?tream is B s.get=nput?tream(),
- public $utputStream get$utputStream(' ph0,ng th) n" tr+ v| Autput?tream
ni vIi Fo)<'tC /h0,ng trnh )li'ntF Jng Autput?tream n" gPi 7 liu )ho
F'rv'rC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 2q
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
XY :MQ YH" Autput?tream )ta Fo)<'t F W
Autput?tream os B s.getAutput?tream(),
- public close(' ph0,ng th) n" F} ng Fo)<'t l1i# gi+i phng <&nh +o# (o <>t ni
gi7a )li'ntF v F'rv'rC
XY :M W ng Fo)<'t F W
s.close(),
'-'-&- Ty :Ung ch$ng t<5nh >9<?9< V chW 78 h$@ng SWt nAi
YIp java.net.ServerSocketW h9 tr{ )) ph0,ng th) )%n thi>t (*"
Nng )) )h0,ng trnh F'rv'r FP !ng Fo)<'t )h> S h0Ing <>t niC 30Ii *" l mSt
F ph0,ng th) th0$ng Jng (*" Nng F'rv'r
- public Ser(erSocket(int PortNumber ' ph0,ng th) n" t1o mSt Fo)<'t vIi F hiu
)?ng l 5ortOum:'r m Fau F'rv'r F} lGng ngh' tr&n )?ng n"
h= ! W t1o Fo)<'t )ho F'rv'r vIi F hiu )?ng l U W
?erver?ocket ss B ne ?erver?ocket(I),
- public Socket accept( W ph0,ng th) n" lGng ngh' "&u )%u <>t ni )ta )li'ntFC *"
l mSt ph0,ng th) ho1t Sng )h> S ngh}n n F} :; ngh}n )ho >n <hi ) mSt "&u
)%u <>t ni )ta )li'ntF gPi >nC .hi ) "&u )%u <>t ni )ta )li'ntF gPi >n# n F} )hHp
nhn "&u )%u <>t ni# tr+ v| mSt Fo)<'t l mSt %u )ta <&nh giao ti>p +o gi7a F'rv'r v
)li'ntF "&u )%u <>t niC
XY :MW Vo)<'t FF )h$ nhn "&u )%u ni <>t W
?ocket s B ss.accept(),
V'rv'r Fau F} lH" =nput?tream v Autput?tream )ta Fo)<'t mIi F giao
ti>p vIi )li'ntFC
Ty :Ung ch$ng t<5nh >9<?9< ;hMc ?M tuDn tU
]St F'rv'r ) th 0{) )i t ph!) v! )li'ntF th'o hai ))hW ph!) v! tu%n tN
ho) ph!) v! Fong FongC
Trong )h> S ph!) v! tu%n tN# t1i mSt th$i im F'rv'r )hM )hHp nhn mSt "&u
)%u <>t ni# )) "&u )%u <>t ni )ta )li'ntF <h) |u <h-ng 0{) p ng ~0a vo
hng {i C
Og0{) l1i# trong )h> S ph!) v! Fong Fong# t1i mSt th$i im F'rv'r )hHp nhn
nhi|u "&u )%u <>t ni v ph!) v! nhi|u )li'ntF )Jng l)
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng 29
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Trong ph%n n"# ta F} tm hiu v| )h> S ph!) v! tu%n tN )ta F'rv'r# )6n )h0,ng
ti>p F} tm hiu )! th v| )h> S ph!) v! Fong Fong ~Fau <hi 8 tm hiu v| Thr'aC
:c E-<c tFng 0ut c&' mt 6Gr/Gr 3hc / tu\n t] !
- T1o Fo)<'t v gn F hiu )?ng )ho F'rv'r
- YGng ngh' "&u )%u <>t ni
- hIi mSt "&u )%u <>t ni 0{) )hHp nhn thN) hin )) :0I) FauW
lH" =nput?tream v Autput?tream gGn vIi Fo)<'t )ta <&nh +o vAa 0{)
hnh thnh
lp l1i )-ng vi) FauW
/h$ nhn )) "&u )%u ~)-ng vi)
5h*n t=)h v thN) hin "&u )%u
T1o th-ng ip tr+ l$i
ePi th-ng ip tr+ l$i v| )li'ntF
O>u <h-ng )6n "&u )%u ho) )li'ntF <>t th)# ng Fo)<'t v Bua" l1i
:0I)2
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng p0
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
CHNG 0: >YZNG TCONG EFVF
0.1. Ph) n)Hm .$[ng
- Yung l mSt ))h th-ng !ng n*ng )ao n@ng lN) (P l )ta )) ng !ng
nh$ vo ), )h> Fong FongC
- ]St lung l mSt ,n v; ), :+n )ta vi) FP !ng /5bC
- O hnh thnh gmW mSt ;nh anh lung ~thr'a [3# mSt :S >m )h0,ng
trnh# tp thanh ghi v ng@n (>pC
- O )hia F vIi )) lung <h) thuS) )Jng mSt Bu trnh mSt <h-ng gian ;a )hMC
Oh$ )) lung ) th FP !ng )) :i>n ton )!)# )hia F )) ti ngu"&nC
- /)h th) )) lung )hia F /5b )Rng ging nh0 ))h th) )ta )) Bu trnhC
- ]St lung )Rng ) nh7ng tr1ng thiW ang )h1" ~running# Fn Fng
~rea4y# ngh}n ~blocke4 v <>t th) ~4ea4C ]St lung th 0{) ('m nh0 l mSt
Bu trnh nhC
Trong )h0,ng tr0I)# )hng ta 8 0{) tm hiu )) :0I) t?ng But )ta mSt
F'rv'r ph!) v! tu%n tN# >n ph%n n"# )hng ta F} 0{) tm hiu v| F'rv'r ph!) v!
Fong FongC
Oh$ vo lung# ng0$i ta thi>t <> )) F'rv'r ) th p ng nhi|u "&u )%u mSt
))h ng th$iC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pT
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
:c E-<c tFng 0ut c&' mt 6Gr/Gr 3hc / 6ong 6ong
V'rv'r ph!) v! Fong Fong gm hai ph%n thN) hin Fong Fong nhauW
Hnh 8.1. SGr/Gr ^ ch $ 6ong 6ong
Trong m- hnh n"# F'rv'r ) mSt lung ph*n pht ~3iFpat)h'r thr'a v nhi|u
lung thN) hin ~or<'r Thr'aC Yung ph*n pht ti>p nhn )) "&u )%u <>t ni tA
)li'ntF# ri )hu"n )hng >n )) lung thN) hin )6n r+nh (P lC Oh7ng lung thN)
hin ho1t Sng Fong Fong nhau v Fong Fong vIi )+ lung ph*n pht# nh$ F'rv'r )
th ph!) v! nhi|u )li'nt mSt ))h ng th$iC
- 0hDn % ~ 3iFpat)h'r thr'a W P l )) "&u )%u <>t ni# lp l1i )) )-ng vi) FauW
YGng ngh' "&u )%u <>t ni )ta )li'ntF
/hHp nhn mSt "&u )%u <>t ni
T1o <&nh giao ti>p +o mIi vIi )li'ntF
T1o ph%n 2 (P l )) th-ng ip "&u )%u )ta )li'ntFC
- 0hDn & ~or<'r Thr'aW P l )) th-ng ip "&u )%u tA )li'ntF# lp l1i )) )-ng
vi) FauW
/h$ nhn th-ng ip "&u )%u )ta )li'ntFC
5h*n t=)h v (P l "&u )%uC
ePi th-ng ip tr+ l$i )ho )li'ntFC
5h%n 2 F} <>t th) <hi <&nh +o :; (a iC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng p2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
hIi m9i )li'nt# tr&n F'rv'r F} ) mSt 0hDn & (P l "&u )%u )ta )li'ntFC Oh0
v" t1i th$i im :Ht < lu-n tn t1i mSt 0hDn % v 0 ho) nhi|u 0hDn &
3o 3h\n 4 thN) thi Fong Fong vIi 3h\n 1 )ho n&n n 0{) thi>t <> l mSt thr'a
- Ohn tA g) S h i|u hnh# lung ) th 0{) )i t mSt trong hai m)W
Trong <h-ng gian ng0$i Jng ~uF'r Fpa)'
Trong <h-ng gian nh*n ~<'rn'l mo'
(-%-%- TiW; cCn =uKng V m/c ng$Zi :[ng
Hnh 8.4. Oin tr;c lu_ng ci $`t ^ mac ng-bi dcng
.h-ng gian ng0$i Jng :ao gm mSt h thng runtim' m n tp h{p nh7ng tht
t!) Bu+n l lungC /) lung )h1" trong <h-ng gian nm :&n tr&n h thng runtim' th
0{) Bu+n l :i h thng n"C 4 thng runtim' )Rng l0u gi7 mSt :+ng tin tr1ng thi
th'o i tr1ng thi hin hnh )ta m9i lungC
T0,ng ng vIi m9i lung F} ) mSt m!) tA trong :+ng# :ao gm )) th-ng tin v|
tr1ng thi# gi tr; thanh ghi# S 0u ti&n v )) th-ng tin <h) v| lungC
Ti>p )n n" ) hai m) ;nh th$i :iu ~V)h'ulingW :S ;nh th$i :iu )ho ))
Bu trnh nng v :S ;nh th$i :iu trong h thng runtim'C gS lp :iu )ta h thng
runtim' )hia th$i gian FP !ng /5b 0{) )Hp )ho mSt Bu trnh thnh nh7ng <ho+ng
nhE h,n )Hp )ho )) lung trong Bu trnh C Oh0 v" vi) <>t th) mSt lung th
v0{t ra ngoi t%m <im Fot )ta <'rn'l h thngC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pp
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
(-%-&- TiW; cCn =uKng V m/c h6t nhn hE 7iFu hnh
Hnh 8.7. Oin tr;c lu_ng ci $`t ^ mac h( th)ng
Trong ti>p )n n" <h-ng ) h thng runtim' v )) lung th 0{) Bu+n l :i
<'rn'l )ta h i|u hnhC h v"# :+ng th-ng tin tr1ng thi )ta tHt )+ )) lung th 0{)
l0u tr7 :i <'rn'lC THt )+ nh7ng l$i g2i m n lm ngh}n lung F} 0{) :L" ~TyK5
>n <'rn'lC .hi mSt lung :; ngh}n# <'rn'l )h2n lung <h) )ho thN) thiC Yung 0{)
)h2n ) th )Jng mSt Bu trnh vIi lung :; ngh}n ho) thuS) mSt Bu trnh <h)# v
v" FN tn t1i )ta mSt lung th 0{) :i>t :i <'rn'l v )hM ) mSt m) lp :iu trong
h thngC
0.#. >$[ng !(/ng EaKa
Trong Java# lung l mSt i t0{ng thuS) lIp java.lang.*hrea4. ]St
)h0,ng trnh trong ava ) th )i t lung :ng ))h t1o ra mSt lIp )on )ta lIp
java.lang.*hrea4 ho) )i t giao in java.lang.Junnable
(-&-%- CIc ;h$ng ;hI; thUc hiEn =uKng
hIi Java ta ) th (*" Nng )) )h0,ng trnh a lungC ]St ng !ng ) th :ao
gm nhi|u lung# m9i lung 0{) gn mSt )-ng vi) )! th# )hng 0{) thN) thi ng
th$i vIi )) lung <h)C
/ 2 ))h t1o ra lung W
- :ch 1 W ThAa <> tA lIp java.lang.Thread
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pc
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- :ch 4 W /i t giao in java.lang.Runnable
%- L@; Thread
YIp *hrea4 )ha ph0,ng th) <hi t1o *hrea4() )Rng nh0 nhi|u ph0,ng
th) h7u =)h ) )h) n@ng )h1"# <hi Sng# t1m ng0ng# ti>p t!)# gin o1n v ng0ng
lungC t1o ra v )h1" mSt lung ta )%n lm hai :0I)W
- ] rSng lIp *hrea4 v vi>t Q ph0,ng th) run()
- e2i ph0,ng th) start() lung :Gt %u thN) thi
M8t >A ;h$ng th/c c\. Thread Q
public void run()W 0{) Java g2i thN) thi lung thi hnh# :1n ph+i vi>t Q
ph0,ng th) n" thN) thi nhim v! )ta lung# :i v ph0,ng th) run() )ta lIp
*hrea4 )hM l ph0,ng th) r9ngC
public native synchronized void start()W <hi ta t1o ra lung n )h0a
thN) FN )h1" )ho >n <hi ph0,ng th) start() 0{) g2i# <hi start() 0{) g2i
th ph0,ng th) run() )Rng 0{) <=)h ho1tC
public final void stop(): ) )h) n@ng ng0ng lung thi hnh# ph0,ng
th) n" <h-ng an ton# :1n n&n gn null vo :i>n *hrea4 Jng lung# tha" v
FP !ng ph0,ng th) stop()C
public final void suspend(): ) )h) n@ng t1m ng0ng lung# trong Java
ph0,ng th) n" =t 0{) FP !ng# :i v ph0,ng th) n" <h-ng nh+ ti ngu"&n m n
nGm gi7# o v" ) th ngu" ), Ln >n 'alo)< ~<ho )h>t# :1n n&n Jng ph0,ng
th) ait() t1m ng0ng lung tha" v FP !ng ph0,ng th) suspen4()
public final void resume()W ti>p t!) vn hnh lung n>u nh0 n ang :;
ng0ng# n>u lung ang thi hnh th ph0,ng th) n" :; :E Bua# th-ng th0$ng ph0,ng
th) n" 0{) Jng <>t h{p vIi ph0,ng th) suspen4()# :1n n&n Jng ph0,ng
th) notify() tha" v Jng ph0,ng th) resume()
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pr
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
public static void sleep(long millis) throws InterruptedException W
t lung thi hnh vo tr1ng thi ngt# trong <ho+ng th$i gian () ;nh :ng mili gi*"#
)h sleep() l ph0,ng th) tonhC
public void interrupt(): lm gin o1n lung thi hnh
public static boolean isInterrupt()' <im tra ('m lung ) :; ngGt
<h-ng
public void setpriority( int p) ' Hn ;nh S 0u ti&n )ho lung thi hnh#
S 0u ti&n 0{) () ;nh l mSt F ngu"&n thuS) o1n T#T0
public final void wait() throws InterruptException: t lung
vo tr1ng thi )h$ mSt lung <h)# )ho >n <hi ) mSt lung <h) th-ng :o th n l1i
ti>p t!)# *" l ph0,ng th) )ta lIp ), F Abject
public final void notify()W nh th) lung ang )h$ tr&n i t0{ng n"
public final void notifyAll()Q nh th) tHt )+ )) lung ang )h$ tr&n
i t0{ng n"
isAlive(): tr+ v| *rue# n>u lung vLn )6n tn t1i ~Fng
getPriority()Q tr+ v| m) 0u ti&n )ta lung
h= ! W t1o ra hai lung thi hnh Fong Fong# mSt lung thN) hin vi) in 200 6ng
3ai ho) an lap 4ai 5hong trong <hi lung n" ang thN) thi th ) mSt lung <h)
vLn ti>p t!) in 200 6ng )h7 )hao mung :an 'n voi Java
//BBBBBBBBBBBBBBBBBBBBBBBBB
import java.net.6 ,
import java.io.6 ,
public class >ello
:
public static voi4 main ( ?tringKL args )
:
ne <hao@> ().start (),
ne <haoMN ().start (),
;
;
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pn
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
class <hao@> eOten4s *hrea4
:
public voi4 run ()
:
for(int i B #, i PB -.., iQQ )
?ystem.out.println(R@ai hoc 4an lap >ai !hong SnR),
;
;
class <haoMN eOten4s *hrea4
:
public voi4 run ()
:
for ( int i B #, i PB -.., iQQ )
?ystem.out.println ( RSt chao mung ban 4en voi Mava.SnR ),
;
;
//BBBBBBBBBBBBBBBBBBBBBBBBB
.hi ta )h1" )h0,ng trnh F} thH" )) <>t Bu+ ('n <} nhau
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pU
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
&- *i.o :iEn Runnable
3o Java <h-ng h9 tr{ <> thAa :Si# n&n n>u )h0,ng trnh )ta :1n vAa mun <>
thAa tA mSt lIp no # l1i vAa mun a lung th :1n :Gt :uS) ph+i Jng giao in
Junnable# )hng h1n nh0 :1n vi>t )) appl't# :1n vAa mun n l appl't# l1i vAa
mun thN) thi nhi|u lung# th :1n vAa ph+i <> thAa tA lIp Applet# nh0ng n>u 8 <>
thAa tA lIp Applet ri th :1n <h-ng th <> thAa tA lIp *hrea4 n7aC
h= ! W ta vi>t l1i v= ! tr&n# nh0ng l%n n" ta <h-ng <> thAa lIp *hrea4 n7a m trin
<hai giao in Junnable.
import java.net.6 ,
import java.io.6 ,
public class hello-
:
public static voi4 main(?tringKL args)
:
*hrea4 t B ne *hrea4 (ne <hao@>()),
t.start(),
*hrea4 t# B ne *hrea4 (ne <haoMN()),
t#.start (),
;
;
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng pq
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
//BBBBBBBBBBBBBBBBBB
class <hao@> implements Junnable
:
public voi4 run()
:
<hao@> thu B ne <hao@>(),
for ( int i B #, i PB -.., iQQ )
?ystem.out.println(R@ai hoc 4an lap >ai !hongSn R),
;
;
//BBBBBBBBBBBBBBBBBB
class <haoMN implements Junnable
:
public voi4 run ()
:
for ( int i B #, i PB -.., iQQ )
:
?ystem.out.println (RSt chao mung ban 4en voi java. SnR ),
;
;
;
//BBBBBBBBBBBBB
.>t Bu+ )h1" )h0,ng trnh thu 0{) )Rng ging nh0 v= ! tr&nC
(-&-&- !8 $u ti]n c\. cIc =uKng
- S 0u ti&n )ta )) lung () ;nh m) 0u ti&n trong vi) ph*n phi /5b gi7a
)) lung vIi nhauC .hi ) nhi|u lung ang tr1ng thi rea4y# lung ) S 0u
ti&n )ao nhHt F} 0{) thN) thi ~)hu"n Fang runningC
- .hi mSt lung 0{) t1o ra# n nhn mSt S 0u ti&n m) ;nh ~:ng r# -i <hi
ta mun i|u )hMnh S 0u ti&n )ta lung 1t 0{) m!) =)h )ta ta# tht ,n gi+n#
t S 0u ti&n )ho mSt lung ta )hM )%n g2i ph0,ng th) setPriority() v
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng p9
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
tru"|n )ho n mSt F ngu"&n# F n" )h=nh l S 0u ti&n m :1n )%n tC <im tra
ta ) th g2i ph0,ng th) getPriority()
- S 0u ti&n trong Java 0{) ;nh nghoa :ng )) hng F ngu"&n th'o th tN
gi+m %n nh0 FauW
Q *hrea4.TAUV!J=AJ=*W ~gi tr; T0
Q *hrea4.NAJTV!J=AJ=*W ~gi tr; r
Q *hrea4.T=NV!J=AJ=*W ~gi tr; T
- ]St lung mIi F} thAa <> S 0u ti&n tA lung t1o ra nC
(-&-'- Nh^m =uKng
- Ohm lung l mSt tp h{p gm nhi|u lung# <hi ta t) Sng >n nhm lung
~)hng h1n nh0 t1m ng0ng# th tHt )+ )) lung trong nhm |u nhn 0{) )Jng
t) Sng # i|u n" l tin l{i <hi ta mun Bu+n l nhi|u lung thN) hin )) t) v!
t0,ng tN nhauC
- t1o mSt nhm lung ta )%nW
T1o ra mSt nhm lung :ng ))h FP !ng ph0,ng th) t1o Nng )ta lIp
*hrea4Xroup()
ThreadGroup g = new ThreadGroup(ThreadGroupName);
ThreadGroup g = new ThreadGroup(ParentThreadGroup,ThreadGroupName);
36ng lnh tr&n t1o ra mSt nhm lung g ) t&n l Thr'aeroupOam'# t&n )ta lung
l mSt )hu9i v <h-ng trJng vIi t&n )ta mSt nhm <h)C
0a )) lung vo nhm lung Jng ph0,ng th) t1o Nng )ta lIp *hrea4()W
Thread =new Thread (g, new
ThreadCass(),ThisThread);
(-&-(- !Kng _8 h^. cIc =uKng thi hnh
- THt )+ )) lung )ta mSt Bu trnh th 0{) thN) thi Fong Fong v S) lp nhau
nh0ng l1i )Jng )hia F nhau mSt <h-ng gian ;a )hM )ta Bu trnhC /h=nh v v" ) th
Ln >n <h+ n@ng !ng S trong vi) )p nht )) 7 liu Jng )hung )ta )h0,ng
trnh ~:i>n# )) tp tin 0{) mC
DLW mSt lung ) th ) gGng 2) 7 liu# trong <hi lung <h) ) gGng tha" ?i
7 liu H" 7 liu ) th :; FaiC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng c0
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- Trong nh7ng tr0$ng h{p n"# :1n )%n )ho php mSt lung hon thnh tr2n vn
t) v! )ta n# v ri th mIi )ho php )) lung <> ti>p thN) thiC .hi hai ho) nhi|u
h,n mSt lung )%n th*m nhp >n mSt ti ngu"&n 0{) )hia F# :1n )%n )hG) )hGn
rng ti ngu"&n F} 0{) FP !ng )hM :i mSt lung t1i mSt th$i imC
- ng :S ho lung ~threa4 synchroniYation gip )ho t1i m9i th$i
im )hM ) mSt lung ) th tru" nhp vo i t0{ng# )6n )) lung <h) ph+i {i C
- /) Threa4 0{) ng :S ho trong Java FP !ng th-ng Bua mSt :S gim Ft
~monitorC 48" ngho rng# mSt monitor l mSt i t0{ng )ho php mSt *hrea4 tru"
)p vo mSt ti ngu"&n# )hM ) mSt *hrea4 FP !ng mSt monitor t1i mSt th$i im
:Ht < )) lp trnh vi&n th0$ng ni rngW *hrea4 F h7u monitor vo th$i gian C
- ]St *hrea4 )hM ) th F h7u mSt monitor n>u nh0 <h-ng ) *hrea4 no
ang F h7u monitor C .hi mSt monitor ang tr1ng thi Fn Fng th mSt *hrea4
) th F h7u monitor v n ) th tru" )p thng >n ti ngu"&n 0{) tp h{p vIi
monitor C Og0{) l1i# *hrea4 F} :; t1m tr'o )ho >n <hi monitor tr l1i tr1ng thi
Fn FngC /) lp trnh vi&n ni rng *hrea4 ang )h$ monitorC
- g1n thH" )) thao t) vIi monitor ) v rHt ph) t1p ng <h-ng nh0ng Ang
ng1i n v tHt )+ )) thao t) )ta vi) "&u )%u mSt monitor 0{) Java tN Sng gi+i
Bu">t )ho :1n v n trong Fut vIi ng0$i JngC
- / hai ))h ng :S ho )) lungW FP !ng m'tho 0{) ng :S ha ho)
FP !ng pht :iu 0{) ng :S haC
`a :Mng m9tho: 7$Bc 7Kng _8 h^.Q
THt )+ )) i t0{ng trong Java |u ) mSt monitorC ]St *hrea4 ) mSt
monitor :Ht < <hi no mSt m'tho 0{) :? Fung tA <ha synchroniYe4 %u
m'tho 0{) g2iC
.hi mSt lung g2i ph0,ng th) synchroniYe4# i t0{ng F} :; <hoC .hi
lung thN) hin (ong ph0,ng th)# i t0{ng F} 0{) m <hoC
Trong <hi thN) thi ph0,ng th) synchroniYe4# mSt lung ) th g2i wait()
)hu"n Fang tr1ng thi )h$ )ho >n <hi mSt i|u <in no (+" raC .hi lung
ang )h$# i t0{ng F} <h-ng :; <hoC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cT
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
.hi thN) hin (ong )-ng vi) tr&n i t0{ng# mSt lung )Rng ) th th-ng :o
(notify )ho )) lung <h) ang )h$ tru" nhp i t0{ngC
`a :Mng ;hIt _ibu 7$Bc 7Kng _8 h^.Q
hi) ng :S ho mSt ph0,ng th) l ))h tt nhHt h1n )h> vi) FP !ng mSt
ph0,ng th) t1i mSt th$i imC Tu" nhi&n F} ) nh7ng tr0$ng h{p m :1n <h-ng th
ng :S ho mSt ph0,ng th)# )hng h1n nh0 <hi :1n FP !ng mSt class 0{) )ung
)Hp :i :&n th :aC Trong nh7ng tr0$ng h{p nh0 th># :1n <h-ng 0{) php tru" nhp
vo ;nh nghoa lIp# F} ng@n :1n FP !ng tA <ho synchroniYe4C
]St ))h <h) FP !ng tA <ha synchroniYe4 l FP !ng pht :iu 0{)
ng :S haC ]St pht :iu 0{) ng :S ha )ha mSt block 0{) ng :S ha#
m :&n trong t nh7ng i t0{ng v nh7ng ph0,ng th) 0{) ng :S haC e2i
)) m'tho )ha :lo)< 0{) ng :S ha (+" ra <hi mSt *hrea4 ) 0{) monitor
)ta i t0{ngC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng c2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
CHNG 7 : CHNG TCDNH \NG ]^NG
Trong )h0,ng n" F} trnh :%" mSt ng !ng )ta ), )h> thN) hin a lung trong
ng-n ng7 lp trnh Java# l (*" Nng )h0,ng trnh tru" nhp ), F 7 liu ':C
7.1. G)G) !h)H$
Tru" nhp ), F 7 liu ': l mSt nhu )%u ph? :i>n trong thN) t>C /) ), F 7
liu ': th0$ng 0{) t tr&n )) m" )ht ) )Hu hnh m1nh# trong <hi vi) tru"
nhp vo ), F 7 liu lH" 7 liu th0$ng 0{) thN) hin tr&n )) m" tr1m tr&n
m1ng th-ng Bua trnh u"tC h" lm th> no thN) hin p ng 0{) nhu )%u a
tru" nhp vo ), F 7 liu )ta ph=a )li'ntF l1i vAa ) th +m :+o t=nh :+o mt )ho ),
F 7 liu tr&n m" )ht
Trong Java h9 tr{ ph0,ng php lp trnh a lung v lp trnh Fo)<'t ~T/5 l mSt
ph0,ng php )ho php )hng ta ) th a tru" nhp ), F 7 liu ':C 5h0,ng php
n" Na tr&n ngu"&n l ho1t Sng )ta *hrea4# Fo)<'t T/5 Fo)<'t 0{) FP !ng
<>t ni gi7a )li'ntF vIi mSt thnh ph%n trung gian ~mil' ar'C
]il' ar' trong )h0,ng trnh ng !ng n" l mSt )h0,ng trnh Java 1ng
S) lp ~Java Kppli)ation )h1" tr&n ph=a F'rv'rC O ) nhim v! lGng ngh' "&u )%u
<>t ni tA ph=a )li'ntF v thN) hin )) "&u )%u tru" nhp ), F 7 liu )ta )li'ntF# Fau
F} tr+ l1i <>t Bu+ )ho )li'ntFC
V o ph+i FP !ng mil' ar' l o trong Java <h-ng )ho php )) )h0,ng trnh
1ng Kppl't 0{) tru" nhp vo ti ngu"&n )!) :S# )hM ) )) )h0,ng trnh 1ng S)
lp ~Kppli)ation mIi ) Bu"|n tru" nhpC i|u n" +m :+o )ho t=nh an ton )ta 7
liu# trnh )ho vi) ng0$i FP !ng lm Fai l)h th-ng tinC
du im )ta ph0,ng php n" l )hng ta )hM mHt th$i gian m <>t ni tIi F'rv'r
trong l%n tru" nhp %u ti&n# )) l%n ti>p th'o )hng ta <h-ng )%n ph+i m <>t ni l1i
m )hM gPi )) "&u )%u tru" vHn tIi F'rv'r v )h$ <>t Bu+ tr+ v| th-ng Bua
mil' ar'C
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cp
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
7.#. M4 h:nh %h$ng !($ nhX' %M 2V 5J .)H$ _R`
Hnh 9.1. M hnh chung truy nh%3 cT 6^ dd li(u eGE
4nh rCT l m- hnh t?ng But )ta mSt ng !ng tru" nhp ), F 7 liu ':C
Trong m- hnh n" gm :a lIpW
- YIp th nhHt ~)li'ntFW .hi ) "&u )%u tru" nhp ), F 7 liu ':# ph=a )li'ntF FP
!ng trnh u"t ': <>t ni >n ': V'rv'r v gPi "&u )%u lH" 7 liuC
- YIp th hai ~mil' ar'W :ao gm ': V'rv'r v mSt ng !ng ), F 7 liuC .hi
nhn 0{) "&u )%u )ta ph=a )li'ntF# ng !ng ), F 7 liu F} <>t ni >n h Bu+n tr;
), F 7 liu lH" 7 liu th'o "&u )%u )ta )li'ntF v tr+ l1i )ho ph=a )li'ntFC
- YIp th :a ~3ata:aF' V'rv'rW l mSt h Bu+n tr; ), F 7 liu# h9 tr{ )) )*u tru"
vHn 7 liu ~1ng VY# l0u tr7 7 liu )%n ph!) v!C
': V'rv'r v ng !ng ), F 7 liu )Jng vIi 3ata:aF' V'rv'r ) th t tr&n
)Jng mSt m" ho) tr&n )) m" <h) nhauC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cc
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
7.+. ChLMng !(:nh 8ng 56ng
)-'-%- M4 h5nh ? c chW ho6t 78ng
1) *+ !,n!
Hnh 9.4. M hnh ch-Tng trnh truy nh%3 cT 6^ dd li(u eGE
2) -. c!/ !ot 0ng
/, )h> ho1t Sng <>t ni v tru" vHn 7 liu )ta )h0,ng trnh 0{) thN) hin
:ao gm n :0I)W
TC 5h=a )li'ntF FP !ng trnh u"t ': <>t ni >n ': V'rv'rC
2C 5h=a ': V'rv'r tr+ l1i )li'ntF trang ': 0{) ph=a )li'ntF "&u )%u ) nhng
appl't ~m- un )li'ntF :&n trongC
pC Kppl't t+i tA ph=a ': V'rv'r v| 0{) trnh u"t ': ph=a )li'ntF <=)h ho1t# t1o
<>t ni ~Fo)<'t >n Vo)<'t V'rv'r v gPi th-ng tin ~m8 Finh vi&n >n Vo)<'t V'rv'rC
cC Java Vo)<'t V'rv'r thN) hin tru" vHn ), F 7 liu >n VY V'rv'r :ng )) )*u
lnh tru" vHn th-ng th0$ng lH" 7 liu th'o "&u )%u )ta ph=a )li'ntFC
rC 3ata:aF' V'rv'r ~VY F'rv'r tr+ 7 liu <>t Bu+ th'o "&u )%u )ho Vo)<'t V'rv'rC
nC Java Vo)<'t V'rv'r tr+ 7 liu <>t Bu+ v| )ho ph=a )li'ntF tr&n <>t ni mIi 0{) t1o
raC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cr
,EH
`9<?9< NII`O
3ata:aF'
Kppli)ation
Nc.?. `ocS9t
`9<?9<O
`dL
`9<?9<
C=i9nt>
T
2
p
n
c
r
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
)-'-&- ThiWt SW ? ci 7et c >V :f =iEu tha nghiEm
*" Nng mSt ), F 7 liu tr&n h Bu+n tr; ), F 7 liu VY V'rv'r 2000 )
t&n l YVh4 C
/, F 7 liu :ao gm p :+ng 0{) thi>t <> nh0 FauW
- `INH XIgN ~m8 Finh vi&n# h2 t&n# ng" Finh# giIi t=nh# ;a )hM# lIp# t&n ngnh
- MhN HiC ~ m8 m-n# t&n m-n# ,n v; h2) trnh# t&n ngnh
- !IjM THI ~ m8 Finh vi&n# m8 m-n# im thi# l%n thi# ghi )h
/i t ), F 7 liu
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cn
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cU
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
)-'-'- ThiWt SW ch$ng t<5nh
/h0,ng trnh ng !ng 0{) vi>t :ng ng-n ng7 lp trnh Java
%- 0hY. >9<?9<
]- un F'rv'r l Kppli)ation# <hi 0{) <=)h ho1t n F} t1o ra mSt F'rv'r Fo)<'t
tr&n mSt )?ng () ;nh v lGng ngh' )) "&u )%u <>t ni tA ph=a )li'ntFC
.hi ) "&u )%u <>t ni tA ph=a )li'ntF# n>u F'rv'r Fo)<'t <h-ng )hHp nhn <>t ni
th th-ng :o l9i l&n mn hnh n>u )hHp nhn <>t ni th F'rv'r Fo)<'t F} t1o ra mSt
*hrea4 p ng "&u )%u )ta )li'ntF
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng cq
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
O t1o ra mSt )li'nt Fo)<'t mIi tr+ l$i )ho )li'ntFC /li'nt Fo)<'t )ta F'rv'r F}
<>t ni >n ), F 7 liu VY V'rv'r# thN) hin tru" vHn lH" 7 liu th'o "&u )%u
)ta ph=a )li'ntF v tr+ l1i 7 liu <>t Bu+ )ho ph=a )li'ntF th-ng Bua )li'nt Fo)<'tC
Hnh 9.7. ST $_ thit k c&' m $un 3h' 6Gr/Gr
&- 0hY. c=i9nt>
]- un )li'ntF l mSt Kppl't 0{) t trong )Jng mSt th0 m!) vIi m- un ph=a
F'rv'r v n 0{) 0a l&n ': V'rv'r ~[[VC 5h=a )li'ntF <>t ni vIi ': V'rv'r th-ng
Bua trnh u"t ': v t+i Kppl't n" v| trnh u"t ':C T1i trnh u"t ': )ta
)li'ntF# Kppl't 0{) <=)h ho1t v t1o ra mSt Fo)<'t <>t ni tIi F'rv'r Fo)<'t ph=a
F'rv'r th-ng Bua ;a )hM )ta m" t=nh )h1" Fo)<'t F'rv'r v F hiu )?ng )ta Fo)<'t
F'rv'r ~8 :i>t tr0I)C .hi <>t ni 0{) )hHp nhn# Kppl't gPi "&u )%u tru" vHn 7 liu
)ho F'rv'r Fo)<'t# Fau nhn 7 liu <>t Bu+ v hin th;C
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng
T6o >ocS9t ;hMc ?M ? =kng
ngh9 y]u cDu t<]n clng LmLm
C^
nh4ng
T1o Thr'a
ph!) v! )ho )li'ntF
Tru" nhp /V3Y lH" 7 liu
th'o "&u )%u )ta )li'ntF
/hHp nhn <>t ni
Tr+ <>t Bu+ )ho )li'ntF
!^ng SWt nAi
Th-ng :o l9i
c9
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.8. ST $_ thit k c&' m $un 3h' :liGnt
)-'-(- M8t >A gi.o :iEn chYnh
30Ii *" l <>t Bu+ )ta )h0,ng trnh <hi )h1" tr&n m1ng m" t=nhW
- Tr0$ng h{p TW ]1ng m" t=nh :ao gm mSt m" t=nh vt l v hai m" +o
- Tr0$ng h{p 2W ]1ng m" t=nh )hM gm )) m" t=nh vt lC
%- nWt ou c\. ch$ng t<5nh Shi ch6y t<]n m8t mIy tYnh ?Ct =p ? h.i mIy o
- ]" +o :liGnt4 ng vai tr6 l lIp th nhHt ~m" tr1m
- ]" vt l ng vai tr6 l lIp th hai ~mil' ar'# :ao gm ': V'rv'r ~[[V
v 3ata:aF' Kppli)ation ~Java Vo)<'t V'rv'r
- ]" +o :liGnt l lIp th :a ~3ata:aF' V'rv'r 0{) )i t h Bu+n tr; ), F 7
liu VY V'rv'r 2000
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng r0
Ohn 7 liu <>t Bu+ v hin th;
/li'ntF <>t ni >n ': V'rv'r
th-ng Bua gro'r# t+i v|
Kppl't/li'nt
Kppl't/li'nt t1o Fo)<'t <>t ni >n
Fo)<'t F'rv'r
ePi "&u )%u tru" vHn 7 liu
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.9. My /%t lf / my 1o :liGnt ccng truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rT
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.B. My /%t lf truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng r2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.C. My 1o :liGnt truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rp
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.N. H'i my 1o ccng truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rc
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.Q. My /%t lf / h'i my 1o ccng truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rr
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
&- nWt ou c\. ch$ng t<5nh Shi ch6y t<]n cIc mIy tYnh ?Ct =p
- ]" t=nh ) ;a )hM 1R.9.1R1.4Q ng vai tr6 l lIp th nhHt ~/li'ntF
- ]" t=nh ) ;a )hM 1R.9.1R1.4N ng vai tr6 l lIp th hai ~mil' ar'# :ao
gm ': V'rv'r ~[[V v 3ata:aF' Kppli)ation ~Java Vo)<'t V'rv'r
- ]" t=nh ) ;a )hM 1R.9.1R1.7R l lIp th :a ~3ata:aF' V'rv'r 0{) )i h
Bu+n tr; ), F 7 liu VY V'rv'r 2000
Hnh 9.1R. eGE SGr/Gr / L't'E'6G A33lic'tion $`t trn my 1R.9.1R1.4N
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rn
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.11.Y'Z My 1R.9.1R1.4N kh^i $ng SockGt SGr/Gr / truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rU
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.11.YEZ My 1R.9.1R1.4N kh^i $ng SockGt SGr/Gr / truy nh%3 cT 6^ dd li(u
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng rq
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.14.Y'Z My 1R.9.1R1.7R truy nh%3 cT 6^ dd li(u Egng trnh duy(t
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng r9
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.14.YEZ My 1R.9.1R1.7R truy nh%3 cT 6^ dd li(u Egng trnh duy(t
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng n0
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
Hnh 9.17. My 1R.9.1R1.4Q truy nh%3 cT 6^ dd li(u Egng trnh duy(t
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng nT
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
7.0. NhXn ab!
/h0,ng trnh ng !ng tru" nhp ), F 7 liu ': tr&n ) mSt F 0u im FauW
h @h' cliGnt6!
- .h-ng )%n )i t th&m :Ht < mSt m- un ph%n m|m no# )hM )%n ) trnh
u"t ': l tC 3o )h0,ng trnh X ng FP !ng vIi ng0$i Jng m <h-ng )%n
6i hEi trnh S )ao v| )-ng ngh th-ng tinC
- h m- un )h0,ng trnh ph=a )li'ntF l mSt Kppl't n&n n <h-ng 0{) php
tru" nhp vo )) ti ngu"&n )!) :S )ta m" )li'ntF an ton )ho m" <h)hC
h @h' 6Gr/Gr!
- Ton :S )) m- un )h0,ng trnh ': V'rv'r# Vo)<'t V'rv'r# Kppl't/li'nt
0{) t trong )Jng mSt th0 m!) v t tr&n )Jng mSt m"# o thun l{i )ho )-ng
t) )i t# n*ng )Hp# :+o tr )h0,ng trnhC
- 5h=a )li'ntF mun lH" 0{) 7 liu tA ), F 7 liu th ph+i tru" nhp th-ng Bua
thnh ph%n trung gian l Java Vo)<'t V'rv'r# o ), F 7 liu ph=a F'rv'r 0{) :+o
mtC
3o )h0,ng trnh ng !ng 0{) vi>t Na tr&n n|n ': n&n ) th 0{) trin <hai v
FP !ng tr&n li&n m1ng ~[nt'rn't
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng n2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
nqT L#rN
Yp trnh a lung l mSt ph0,ng php tt (*" Nng )) )h0,ng trnh (P l
Fong Fong )h1" tr&n mSt m" t=nh )hip ,nC | ti "m hiiu l%3 trnh $' lu_ng trong
V'/' / ang dng 8 1t 0{) nh7ng thnh )-ng nhHt ;nhC h| ), F l thu">t# n
8 trnh :%" 0{) )) nSi ung v| m1ng m" t=nh# F, l0{) v| ng-n ng7 Java# lp trnh
Vo)<'t T/5 ni )hung v lp trnh Vo)<'t T/5 trong Java ni ri&ng )) nSi ung li&n
Buan >n lung v lp trnh a lung trong JavaC h| ng !ng n 8 giIi thiu# 0a
ra 0{) m- hnh )h0,ng trnh# ), )h> ho1t Sng v )i t thnh )-ng )h0,ng trnh
tru" nhp ), F 7 liu ':C
g&n )1nh n )Rng ph*n t=)h )hi ti>t ))h thi>t <># )i t )h0,ng trnh )ho
)) S) gi+ Buan t*m ) th ti>n hnh lm thN) nghim X ngC Java l mSt ng-n ng7
m1nh m}# t=nh :+o mt )ao v S) lp vIi n|n# o )h0,ng trnh ng !ng )ta n
) th X ng )h1" tr&n )) h thng <h) nhau m <h-ng ph+i lp trnh l1iC Tu"
nhi&n# vIi th$i gian v trnh S )6n nhi|u h1n )h> n&n n vLn )6n mSt F vHn |
)h0a <;p gi+i Bu">t nh0 )h0a hin th; 0{) ont ti>ng hit tr&n orm# )h0a ) v= !
minh h2a )ho l thu">t nhm lung v ng :S ha gi7a )) lung# ), F 7 liu )h0a
t lInC
Trong t0,ng lai 'm F} ti>p t!) tm hiu# <hG) ph!) )) h1n )h># m rSng v hon
thin )h0,ng trnhC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng np
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
TsI LIt# TH+M nHu
Ti =iEu tiWng XiEt
TC j%3 trnh h-<ng $)i t-.ng /<i V'/'
TVC on h@n gan - hin /-ng ngh th-ng tin
2C kio trnh l%3 trnh truyUn thng
gi&n Fo1nW Og- g 4Jng# Ogu"Xn /-ng 4u" - 1i h2) /%n Th,
pC Mng thng tin my tnh- Oin tr;c[ nguyn tlc / hi(u 6u,t hot $ng
hR 3u" Y{i - Oh (uHt :+n 1i h2) u) gia 4 OSi
cC mU c-Tng Ei gi1ng V'/' cT 6^
1i h2) F0 ph1m < thut 40ng l&n
rC VADA l%3 trnh mng
Ogu"Xn 5h0,ng Yan v 4ong ) 4+i - Og eio 3!)
nC HXc nh'nh kn thu%t l%3 trnh V'/'
Ogu"Xn hi>t Yinh# u uang TuHn - = nghip in g>n Tr'
Ti =iEu tiWng +nh
TC V'/' *GtMork @rogr'mming
Dlliott' yuFt" 4arol
2C @rogr'mming thG ?ntGrnGt Mith V'/'
3arr'l [n)' Kam r''mat# KiFon-'Fl'"
pC "hinking in VADA
gru)' D)<'l
CIc ti =iEu ShIc
TC MMM.o'/'EGginnGr.com
2C MMM.o'/'/iGtn'm.org
pC MMM.o'/'.6un.com
cC MMM./i.Miki3Gdi'.org
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng nc
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
0H LC
1. HLGng 5cn !/ !H' %h"nh 2%h .java.policy
%-%- nhVi 78ng c4ng cM t6o tE; chYnh >Ich
- gHm -i nt )huSt tri t1i tp 5oli)"ToolC'(' trong th0 m!) g[O )ta trnh :i&n
;)h J3.C Ohn 0{) th-ng :o Fau tr&n mn hnh
- *" l l9i )h0a ) tp )h=nh F)h ~ :Gt :uS) ph+i t t&n l .java.policyC
/h2n . ng )Pa F? th-ng :o l9i v tr l1i )Pa F? t1o il' )h=nh F)h nh0 hnh
0Ii
%-&- T6o vi=9 chYnh >Ich
- ] m'nu il'-Vav' KFC uHt hin <hung i tho1i
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng nr
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- /h2n th0 m!) )ha il' )h=nh F)h th'o "&u )%u )ta JavaC T&n il' :Gt :uS)
ph+i g l ~.java.policyC /h2n nt lnh Vav' ghi il' l&n oaC uHt hin th-ng
:o
- /h2n un ti>p t!)# l) n" il' vLn r9ng )h0a ) th-ng tinC /Pa F? 5oli)"
Tool ) 1ng nh0 hnh 0Ii
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng nn
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
%-'- Cw; ouyFn >a :Mng c.?. `ocS9t
- gHm )huSt tri t1i nt lnh +:: 0o=icy Ent<yC uHt hin <hung i tho1i Fau
- gHm ,n nt )huSt tri t1i nt lnh +:: 09<mi>>ionC uHt hin <hung i tho1i
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng nU
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- Trong lNa )h2n 5'rmiFFion )h2n nh0 hnh 0Ii
- Trong hSp valu' )ta lNa )h2n T.<g9t N.m9 g vo gi tr; nh0 hnh 0Ii
- Trong hSp valu' )ta lNa )h2n K)tionF )h2n nh0 hnh 0Ii
- /h2n . <>t th) v Bua" tr l1i <hung i tho1i nh0 hnh 0Ii
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng nq
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
- /h2n nt lnh 3on' <>t th) v Bu" l1i <hung i tho1i Fau
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng n9
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
%-(- ThoIt
] m'nu il'- Vav' ghi nSi ung il' )h=nh F)h l&n oa Fau m m'nu
il'-D(it thotC
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng U0
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
#. Md ng$[n %hLMng !(:nh
M4 ;$n 'h"a =R(KR(: e).R SocketServer.java
//BBBBBBBBBBBB
import java.net.6 ,
import java.io.6 ,
import java.sZl.6 ,
public class ?ocket?erver
:
static int !AJ* B C.C. , // cong mac 4inh
//[[[[[[[[[[[[[
public static voi4 main(?tringKL arg)
:
try
:
// *ao socket cho server
?erver?ocket ss B ne ?erver?ocket(!AJ*),
?ystem.out.println(R?erver lang nghe tren port:R Q
ss.get\ocal!ort()),
hile(true)
:
try
:
// lang nghe cac yeu cau ket noi tu <lient
?ocket s B ss.accept(),
JeZuest!rocessing rp B ne JeZuest!rocessing(s),
rp.start(),
// khoi 4ong phan Ou ly cho client hien tai
;
catch(=A]Oception e)
:
?ystem.out.println(R<onnection ]rror : RQe),
;
;
;
catch(=A]Oception e)
:
?ystem.out.println(R<reate ?ocket ]rror : RQe),
;
;
;
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng UT
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
//BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
class JeZuest!rocessing eOten4s *hrea4
:
?ocket client , // ?ocket tra loi cho client
static ?tring V4river BRcom.microsoft.j4bc.sZlserver.?^\?erver@riverR,
static ?tring Vurl B
Rj4bc:microsoft:sZlserver://#.._.#.#.7.:#F77,@atabaseNameB^\?NV>R,
static <onnection con , // 4oi tuong ket noi
static ?tatement stmt , // 4ai 4ien cac cau lenh cua ?^\
static Jesult?et r , // 4oi tuong chua ket Zua truy van
//[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
public JeZuest!rocessing(?ocket s)
:
client B s,
;
//[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
public voi4 run()
:
?tring Oau,
try
:
// Nap 4river
<lass.forName(V4river) ,
con B@riverTanager.get<onnection(Vurl,Rvi4uR,R#-7R) ,
// thiet lap 4oi tuong ket noi
;
catch(java.lang.<lassNotFoun4]Oception e)
:
?ystem.out.println(R`hong *im *hay \op @riverR) ,
?ystem.eOit(#) ,
;
catch(java.sZl.?^\]Oception e)
:
?ystem.out.println(R`hong To @uoc `et Noi *oi <?@\R) ,
?ystem.eOit(#) ,
;
try
:
// in?tream: 4oi tuong nhan thong 4iep
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng U2
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
auffere4Jea4er in?tream B
ne auffere4Jea4er(
ne =nput?treamJea4er(client.get=nput?tream())) ,
// *ao Ja @oi *uong Niet @u \ieu \en socketVserver
!rintbriter out?tream B
ne !rintbriter(
ne auffere4briter(
ne Autput?treambriter(client.getAutput?tream())),true) ,
boolean finishe4 B false ,
4o
:
?tring in\ine B in?tream.rea4\ine() ,
//chuoi nhan tu clients
?ystem.out.println(RJeceive4 : RQin\ine) ,
if(in\ine.eZuals=gnore<ase(R]N@R)) finishe4 B true ,
try
:
stmt B con.create?tatement() ,
if(in\ine.eZuals(R6R))
//in tat ca ban ghi khi nhan ve c6c
:
OauBR?elect
a.masv,a.hoten,a.gioitinh,a.lop,b.tenmon,b.4vht,c.4iemthi,c.lanthi From
tblVsinhvien as a,tblVmonhoc as b,tblV4iemthi as c here a.masvBc.masv an4
b.mamonBc.mamonR,
r B stmt.eOecute^uery(Oau) , // thuc hien truy
van
;
else
// in ra # ban ghi theo masv nhan 4uoc tu client
OauBR?elect
a.masv,a.hoten,a.gioitinh,a.lop,b.tenmon,b.4vht,c.4iemthi,c.lanthi From
tblVsinhvien as a,tblVmonhoc as b,tblV4iemthi as c here a.masvBc.masv an4
b.mamonBc.mamon an4 a.masvBcRQin\ineQRcR,
r B stmt.eOecute^uery(Oau),
// thuc hien truy van tren
Jesult?etTeta@ata mrsB r.getTeta@ata(),
// cung cap thong tin cau truc cua <?@\
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Up
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
int socotBmrs.get<olumn<ount(),
// Oac 4inh so cot cua mrs
?tring out\ine BRR ,
for(int jB#,jPB socot,jQQ)
:
out\ineQBmrs.get<olumnName(j)QRStR,
;
out?tream.println(out\ine), // ten cac cot j trong
bang
hile(r.neOt()) // 4oc 4u lieu cua 4ong tiep theo
:
out\ine B RR ,
for(int iB#, iPBsocot, iQQ)
:
out\ineQB r.get?tring(i) Q RStR,
// 4u lieu cua cot i
;
?ystem.out.println(R?ent: RQ out\ine) ,
out?tream.println(out\ine) ,
; // of hile
out?tream.println(R]N@R) ,
// bao hieu het 4l gui cho clients
; // of try
catch(java.sZl.?^\]Oception e)
:
?ystem.err.println(R`hong the thuc hien 4uoc truy
van...R) ,
;
;
hile(dfinishe4) ,
client.close() ,
;
catch(=A]Oception e)
:
?ystem.out.println(e) ,
;
;
;
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Uc
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
M4 ;$n 'h"a %.)Rn!2: e).R Alet!e"#ie".java
import java.applet.Applet ,
import java.at.6 , // <hua lop ?croll!ane
import javaO.sing.6 ,
import java.at.event.6 ,
import java.net.6 ,
import java.io.6 ,
public class AppletUem@iem eOten4s Applet implements Action\istener
:
M*eOtFiel4 tOtTasv ,
Mautton btUem ,
M*eOtArea ta`Z ,
M\abel lbTasv ,
?croll!ane scroll ,
?ocket connection ,
!rintbriter out ,
auffere4Jea4er in ,
//[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
public voi4 init()
:
this.set\ayout(null) ,
Font f B ne Font(R*imes Ne JomanR,Font.!\A=N,#-),
lbTasv B ne M\abel(RNhap ma sinh vienR) ,
lbTasv.setaoun4s(#., #., #_.,-_) ,
a44(lbTasv) ,
tOtTasv B ne M*eOtFiel4() ,
tOtTasv.setaoun4s(#_.,#.,#_.,-_) ,
tOtTasv.a44Action\istener(this),
a44(tOtTasv) ,
ta`Z B ne M*eOtArea(FE., 7..) ,
scroll B ne ?croll!ane() ,
ta`Z.setFont(f),
scroll.setaoun4s(#., F., FC_, -..) ,
scroll.set]nable4(true) ,
scroll.a44(ta`Z) ,
a44(scroll) ,
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Ur
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
btUem B ne Mautton(RUemR) ,
btUem.set*ool*ip*eOt(RUem 4iem mon hocR) ,
btUem.a44Action\istener(this) ,
btUem.setaoun4s(#.., -F_, C., -_) ,
a44(btUem) ,
try
:
// *ao `et Noi *oi ?ocketV?erver
connection B ne ?ocket(R#.._.#.#.-CR,C.C.) ,
// *ao Ja @oi *uong @oc Nung @em <ua socketVclient
in B ne auffere4Jea4er(
ne =nput?treamJea4er(connection.get=nput?tream())) ,
// *ao Ja @oi *uong Niet @u \ieu \en socketVclient
out B ne !rintbriter(
ne auffere4briter(
ne Autput?treambriter(
connection.getAutput?tream())),true) ,
;
catch(]Oception e)
:
e.print?tack*race() ,
;
;
//[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
public voi4 action!erforme4(Action]vent event)
:
?tring sBtOtTasv.get*eOt().trim(),
if(event.get?ource() BB btUem ee event.get?ource()BBtOtTasv)
:
if(tOtTasv.get*eOt().length() dB .)
:
// Xui JeZuest *oi ?ocketV?erver
out.println(s) ,
// Nhan @u \ieu Xui *u ?ocketV?erver
?tring st ,
ta`Z.set*eOt(RR) ,
try
:
hile(true)
:
st B in.rea4\ine() ,
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng Un
http://docx.vn - n tt nghip 2009Tm hiu lp trnh a lung trong Java v ng !ng
if(st.eZuals=gnore<ase(R]N@R)) break ,
ta`Z.appen4(stQRSn R) ,
;
;
catch(=A]Oception e)
:
?ystem.out.println(e) ,
;
;
;
;
;
?=N>N=]N=*.N]*
Vinh vi&nW Ogu"Xn Th; 4ong - .hoa /OTT - 43Y 4+i 5h6ng UU

You might also like