Tải bản đầy đủ (.pdf) (7 trang)

Giới thiệu về Java

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (677.25 KB, 7 trang )

Đ tài 0. Gi i thi u v Javaề ớ ệ ề
I. L ch s hình thành và phát tri n ngôn ng l p trình Javaị ử ể ữ ậ
I.1. Gi i thi u v Javaớ ệ ề
Java là m t ngôn ng l p trình m nh đang đ c s d ng r t r ng rãi hi n nay trên toànộ ữ ậ ạ ượ ử ụ ấ ộ ệ
th gi i. Trên th c t , Java đ c bi t đ n không ch là m t ngôn ng l p trình mà là m tế ớ ự ế ượ ế ế ỉ ộ ữ ậ ộ
platform – m t môi tr ng và công ngh phát tri n – riêng bi t. Khi làm vi c v i Java, ng iộ ườ ệ ể ệ ệ ớ ườ
l p trình đ c s h u m t th vi n l n, có tính m v i m t l ng mã ngu n tái s d ngậ ượ ở ữ ộ ư ệ ớ ở ớ ộ ượ ồ ử ụ
kh ng l luôn có trên internet. Ngoài ra, các ch ng trình vi t b ng Java có môi tr ng th cổ ồ ươ ế ằ ườ ự
thi riêng v i các tính năng b o m t, kh năng tri n khai trên nhi u h đi u hành khác nhau vàớ ả ậ ả ể ề ệ ề
nhi u tính năng u vi t khác chúng ta s xem xét trong ph n sau.ề ư ệ ẽ ầ
I.2 Tóm t t l ch s hình thành c a Java ắ ị ử ủ
Năm 1991, m t nhóm k s c a hãng SUN bao g m Patrick Naughton, Sun Fellow vàộ ỹ ư ủ ồ
James Gosling có ý t ng phát minh ra m t ngôn ng l p trình nh g n có th th c thi đ cưở ộ ữ ậ ỏ ọ ể ự ượ
trên các thi t b d ng nh b chuy n kênh c a truy n hình cáp vì các thi t b ki u này có bế ị ạ ư ộ ể ủ ề ế ị ể ộ
nh nh . Bên c nh đó, do các hãng khác nhau s d ng các chíp x lý (CPUs) khác nhau nênớ ỏ ạ ử ụ ử
m t đ c tính quan tr ng mà ngôn ng này ph i có là đ c l p v i các dòng CPUs khác nhau –ộ ặ ọ ữ ả ộ ậ ớ
g i là đ c tính di đ ng. Nhóm đã m m t d án có tên là Green đ hi n th c hóa ý t ng này.ọ ặ ộ ở ộ ự ể ệ ự ưở
Đ gi i quy t v n đ di đ ng, nhóm đã s d ng ý t ng c a k s Niklaus Wirth –ể ả ế ấ ề ộ ử ụ ưở ủ ỹ ư
ng i sáng l p ngôn ng Pascal – v vi c s d ng c ch thông d ch và máy o (virtualườ ậ ữ ề ệ ử ụ ơ ế ị ả
machine).
V n n t ng ngôn ng , do hãng SUN phát tri n trên n n UNIX nên h s d ng ngônề ề ả ữ ể ề ọ ử ụ
ng l p trình C++ là ch y u. Do đó, ngôn ng m i thiên v h ng đ i t ng (Objectữ ậ ủ ế ữ ớ ề ướ ố ượ
Oriented) c a C++ h n là h ng th t c nh Pascal.ủ ơ ướ ủ ụ ư
Ban đ u nhóm đ t tên cho ngôn ng m i là “Oak” nh ng sau đó đ c chuy n thànhầ ặ ữ ớ ư ượ ể
Java do Oak cũng đã là tên m t ngôn ng l p trình khác.ộ ữ ậ
Năm 1992, d án Green cho ra đ i s n ph m đ u tiên có tên là “*7” nh ng đã khôngự ờ ả ẩ ầ ư
đ c chào đón nh mong đ i. Sau đó nhóm đã ph i m t c năm 1993 và n a đ u 1994 đ điượ ư ợ ả ấ ả ử ầ ể
ti p th công ngh c a mình. T năm 1994, s phát tri n c a Internet đã t o c h i đ Javaế ị ệ ủ ừ ự ể ủ ạ ơ ộ ể
phát tri n nhanh chóng. Nhóm đã phát tri n m t trình duy t có tên là HotJava cho phép cácể ể ộ ệ
ch ng trình Java nhúng đ c trong đó (applet). Đây chính là minh ch ng rõ ràng v s c m nhươ ượ ứ ề ứ ạ
c a Java đã nhanh chóng đ c c ng đ ng ng i s d ng internet bi t đ n và là ti n đ đủ ượ ộ ồ ườ ử ụ ế ế ề ề ể


Java phát tri n r c r nh ngày hôm nay.ể ự ỡ ư
Phiên b n đ u tiên 1.0 c a Java ra đ i vào năm 1996, sau đó là phiên b n 1.1 m c dùả ầ ủ ờ ả ặ
khá m nh nh ng cũng còn nhi u h n ch .ạ ư ề ạ ế
Năm 1998 đánh đ u b c chuy n mình m nh m c a Java v i s ra đ i c a phiên b nấ ướ ể ạ ẽ ủ ớ ự ờ ủ ả
1.2 làm cho Java ti n g n t i m c tiêu “vi t m t l n, ch y kh p n i” (Write once, Runế ầ ớ ụ ế ộ ầ ạ ắ ơ
Anywhere). Các nhân viên ti p th c a Java g i đây là phiên b n “Java 2 Standard Editionế ị ủ ọ ả
Software Development Kit Version 1.2” ý nói t i s có m t đ ng th i c a 2 phiên b nớ ự ặ ồ ờ ủ ả
“Standard Edition” là Micro Edition và Enterprise Edition trong Java.
Các phiên b n 1.3, 1.4 là s phát tri n m r ng ti p theo c a phiên b n 1.2. Phiên b nả ự ể ở ộ ế ủ ả ả
1.5 (chuy n sang g i là phiên b n 5.0) đánh d u s tích h p đ y đ nh t các công ngh Java.ể ọ ả ấ ự ợ ầ ủ ấ ệ
B ng sau cho th y s phát tri n th vi n Java qua các phiên b n:ả ấ ự ể ư ệ ả
6
Phiên
b nả
S các Class và Interfaceố
1.0 211
1.1 477
1.2 1524
1.3 1840
1.4 2723
5.0 3270
Hi n t i, Java đã phát tri n t i phiên b n 1.6.ệ ạ ể ớ ả
II. Các đ c tr ng c a Javaặ ư ủ
Java đ c bi t đ n v i các đ c tr ng sau:ượ ế ế ớ ặ ư
II.1. Tính đ n gi nơ ả
Java đ c phát tri n d a trên C++ nh ng l c b t đi ho c thay th các khái ni m khóượ ể ự ư ượ ớ ặ ế ệ
hi u nh header file, con tr , structures, union, operator overloading, virtual base class. Trongể ư ỏ
Java ch có th a k đ n mà không có tính đa th a k nh c a C++. Tuy nhiên tính đa th a kỉ ừ ế ơ ừ ế ư ủ ừ ế
đ c bi u hi n thông qua vi c s d ng các Interface.ượ ể ệ ệ ử ụ
II.2. Tính h ng đ i t ngướ ố ượ

Nh đã trình bày trên, Java đ c phát tri n t C++ nên nó là ngôn ng l p trìnhư ở ượ ể ừ ữ ậ
h ng đ i t ng.ướ ố ượ
II.3. Tính phân tán
Java cho phép l p trình truy c p các đ i t ng t xa thông qua các giao th c HTTP,ậ ậ ố ượ ừ ứ
FTP b ng các ph ng th c nh RMI hay Socket.ằ ươ ứ ư
Java hoàn toàn thích h p cho các ng d ng Internet. Các công ngh JSP, Servlet choợ ứ ụ ệ
phép xây d ng các website t ng tác v i các tính năng th c thi t i uự ươ ớ ự ố ư
II.4. Tính m nh mạ ẽ
Vi c lo i b con tr làm tăng đ tin c y c a ch ng trình. L p trình viên không c nệ ạ ỏ ỏ ộ ậ ủ ươ ậ ầ
quan tâm đ n thao tác c p phát ế ấ và gi i phóng b nh . V i Java, b nh đ c gi i phóng tả ộ ớ ớ ộ ớ ượ ả ự
đ ng.ộ
II.5. Tính an toàn
Ngôn ng Java đ c thi t k đ tránh các s c :ữ ượ ế ế ể ự ố
• N p ch ng stack lúc runtime.ạ ồ
• nh h ng t i b nh n m ngoài ph m vi đ c c p phát.Ả ưở ớ ộ ớ ằ ạ ượ ấ
• Đ c và ghi file t doọ ự
7
II.6. Tính trung l pậ
Các ch ng trình vi t b ng Java không b ph thu c vào h đi u hành. Đi u này cóươ ế ằ ị ụ ộ ệ ề ề
đ c là do mã ngu n ch ng trình không đ c biên d ch thành mã máy ngay mà thành mãượ ồ ươ ượ ị
Bytecode. Khi đem mã Bytecode này ch y trên h máy tính nào thì m t trình thông d ch virtualạ ệ ộ ị
machine (Java Vitual Machine-JVM) s thông d ch chúng sang mã máy t ng ng đ th c thi.ẽ ị ươ ứ ể ự
Mã ngu n -> ByteCodes -> machine code.ồ
T mã ngu n -> Bytecodes: Trình biên d ch Java.ừ ồ ị
T Bytecodes -> machine code: Trình thông d ch Virtual machine. ừ ị
Java Virtual Machine – JVM
Máy o là m t ph n m m d a trên c s máy tính o. Nó có t p h p các l nh logic đả ộ ầ ề ự ơ ở ả ậ ợ ệ ể
xác đ nh các ho t đ ng c a máy tính. Ng i ta có th xem nó nh m t h đi u hành thu nh .ị ạ ộ ủ ườ ể ư ộ ệ ề ỏ
JVM thi t l p các l p tr u t ng cho ph n c ng bên d i, h đi u hành, mã đã biên d ch.ế ậ ớ ừ ượ ầ ứ ướ ệ ề ị
Trình biên d ch chuy n mã ngu n thành t p các l nh c a máy o mà không ph thu cị ể ồ ậ ệ ủ ả ụ ộ

vào ph n c ng c th . Trình thông d ch trên m i máy s chuy n t p l nh này thành ch ngầ ứ ụ ể ị ỗ ẽ ể ậ ệ ươ
trình th c thi. Máy o t o ra m t môi tr ng bên trong đ th c thi các l nh b ng cách: ự ả ạ ộ ườ ể ự ệ ằ
• N p các file .classạ
• Qu n lý b nh ả ộ ớ
• D n “rác”, thu h i b nh c p cho các bi n không còn đ c s d ng.ọ ồ ộ ớ ấ ế ượ ử ụ
Vi c không nh t quán c a ph n c ng làm cho máy o ph i s d ng ngăn x p đ l uệ ấ ủ ầ ứ ả ả ử ụ ế ể ư
tr các thông tin sau:ữ
• Các “Frame” ch a các tr ng thái c a các ph ng th c.ứ ạ ủ ươ ứ
• Các toán h ng c a mã bytecode.ạ ủ
• Các tham s truy n cho ph ng th c.ố ề ươ ứ
• Các bi n c c b .ế ụ ộ
II.7. Tính di đ ngộ
Không gi ng C++ và C, các ki u d li u nguyên th y c a Java đ c c p phát m tố ể ữ ệ ủ ủ ượ ấ ộ
l ng b nh c đ nh. Ch ng h n ki u d li u int c a Java luôn là 4 byte (32 bit) trong khiượ ộ ớ ố ị ẳ ạ ể ữ ệ ủ
ki u int c a C++ có th hi u là 2 byte ho c 4 byte. Thi t k này giúp cho trình biên d ch luônể ủ ể ể ặ ế ế ị
có s bytecode nh nhau trên m i h máy và sau đó phát sinh mã máy theo khuôn d ng cố ư ọ ệ ạ ố
đ nh.ị
Trong các phiên b n đ u c a Java, v n đ giao di n đ h a cho ng i s d ng (GUI)ả ầ ủ ấ ề ệ ồ ọ ườ ử ụ
ch a đ c x lý tri t đ và ph thu c vào h máy. Ngày nay, th vi n GUI c a Java đã đ cư ượ ử ệ ể ụ ộ ệ ư ệ ủ ượ
Macintosh
Trình
biên
d chị
Bytecode
Trình
thông
d ch ị
Java
(Java
Interpreter)

IBM
Sparc
8
vi t l i hoàn toàn và có tính đ c l p cao giúp cho ch ng trình Java có giao di n gi ng nhauế ạ ộ ậ ươ ệ ố
trên m i h máy.ọ ệ
II.8. Tính thông d chị
Trình thông d ch Java s thông d ch mã bytecode sang mã máy n i mà nó đ c cài đ t.ị ẽ ị ơ ượ ặ
Quá trình này cũng làm các ch ng trình Java ch y ch m h n. Tuy nhiên đây l i là gi i phápươ ạ ậ ơ ạ ả
cho tính di đ ng.ộ
II.9. Tính th c thi caoự
Java s d ng công ngh Just-In-Time (JIT) giúp quá trình thông d ch th c hi n nhanhử ụ ệ ị ự ệ
h n. V i công ngh này, nh ng mã bytecode gi ng nhau s ch c n thông d ch m t l n. Ngàyơ ớ ệ ữ ố ẽ ỉ ầ ị ộ ầ
nay, công ngh này liên t c đ c c i ti n và cho k t qu v t tr i so v i các trình thông d chệ ụ ượ ả ế ế ả ượ ộ ớ ị
truy n th ng. Ví d nh JIT có th qu n lý các đo n mã đ c s d ng th ng xuyên trongề ố ụ ư ể ả ạ ượ ử ụ ườ
ch ng trình, t i u chúng đ nâng cao t c đ c th c hi n.ươ ố ư ể ố ộ ự ệ
II.10. Tính đa lu ngồ
V i ch ng trình Java, l p trình viên có th cùng lúc qu n lý nhi u ti n trình khácớ ươ ậ ể ả ề ế
nhau. Đi u này giúp cho vi c cài đ t các thu t toán song song b ng Java trên các máy tínhề ệ ặ ậ ằ
nhi u CPU đ c d dàng h n, đ c bi t trong các ng d ng th i gianề ượ ễ ơ ặ ệ ứ ụ ờ th c.ự
II.11. Tính đ ng ộ
Các ch ng trình Java có th đ c nâng c p mà không nh h ng t i ng i s d ng.ươ ể ượ ấ ả ưở ớ ườ ử ụ
Các ph ng th c m i có th đ c cài đ t thêm vào các l p đ i t ng hay các giao di n trongươ ứ ớ ể ượ ặ ớ ố ượ ệ
th vi n c a ch ng trình đang ch y.ư ệ ủ ươ ạ
III. Các lo i ng d ng c a Javaạ ứ ụ ủ
• ng d ng console: Không có giao di n GUI.Ứ ụ ệ
• ng d ng đ ho : Có giao di n GUI.Ứ ụ ồ ạ ệ
• Applet: Nhúng trong các trang Web.
• Servlet: Các class th c thi phía ự web server.
• JSP: Các file nhúng mã Java và HTML.
• ng d ng EJB, RMI, JMS: Xây d ng ng d ng b i nhi u thành ph n ghép l i,Ứ ụ ự ứ ụ ở ề ầ ạ

giao ti p t xa.ế ừ
IV. Công c và môi tr ng l p trình Javaụ ườ ậ
Hi n nay có r t nhi u môi tr ng phát tri n Java (Integrated Development Environmentệ ấ ề ườ ể
- IDE). M i môi tr ng cung c p cho l p trình viên nh ng ti n ích l p trình m c đ khácỗ ườ ấ ậ ữ ệ ậ ở ứ ộ
nhau. M t s IDE thông d ng là:ộ ố ụ
• Netbeans (mi n phí t i http://ễ ạ www.netbeans.org).
• Jcreator (th ng m i).ươ ạ
• Jbuilder (th ng m i).ươ ạ
• Eclipse (mi n phí ễ />9
V. Cài đ t Java ặ
Java phiên b n Java m i nh t có th download t i đ a ch Sauả ớ ấ ể ạ ị ỉ
đó cài đ t nh ng d ng bình th ng. ặ ư ứ ụ ườ
Th m c cài đ t m c đ nh c a Java trên ư ụ ặ ặ ị ủ Windows là C:\Program Files\Java\jdk1.6.0_02
(n u phiên b n cài là jdk1.6.0_02). Trong đó có ch a các th m c v i ý nghĩa sau:ế ả ứ ư ụ ớ
bin Ch a các công c và trình biên d ch Java ứ ụ ị
demo Ch a các ch ng trình Java Demoứ ươ
docs Ch a các tài li u mô t th vi n c a Javaứ ệ ả ư ệ ủ
includes Ch a các file dùng đ biên d ch các đo n mã ngu n vi t b ng ngôn ng khácứ ể ị ạ ồ ế ằ ữ
(native).
jre Ch a các file l u thông tin môi tr ng lúc th c thiứ ư ườ ự
lib Ch a các file th vi nứ ư ệ
src Ch a mã ngu n javaứ ồ
Trong th m c \bin có ch a các công c chính c a Java:ư ụ ữ ụ ủ
Trình biên d ch, 'javac' ị
Cú pháp:javac [options] sourcecodename.java
Trình thông d ch, 'java' ị
Cú pháp:java [options] classname
Trình d ch ng c, 'jaị ượ vap'
javap d ch ng c bytecode và in ra thông tin v các thu c tính (các tr ng), các ph ngị ượ ề ộ ườ ươ
th c c a m t l p.ứ ủ ộ ớ

Cú pháp:javap [options] classname
Công c sinh tài li u, 'javadoc' ụ ệ
Ti n ích này cho phép ta t o ra t p HTML d a trên các l i gi i thích trong mã ch ngệ ạ ệ ự ờ ả ươ
trình (ph n n m trong c p d u /*.... */).ầ ằ ặ ấ
Cú pháp:javadoc [options] sourcecodename.java
Ch ng trình tìm l i - Debug, 'jdb‘ươ ỗ
Cú pháp:jdb [options] sourcecodename.java
hay
jdb -host -password [options] sourcecodename.java
Cài đ t đ ng d n m c đ nh.ặ ườ ẫ ặ ị
1. M Control Panelở
2. Ch n Systemọ
10

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×