Giới thiệu về Java

7 312 0
Giới thiệu về Java

Đang tải... (xem toàn văn)

Thông tin tài liệu

Đ 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í ễ http://www.eclipse.org/). 9 V. Cài đ t JavaJava phiên b n Java m i nh t có th download t i đ a ch http://java.sun.com/j2se. 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 3. Ch n Tab Advancedọ 4. Ch n Environment Variablesọ 5. Thêm đ ng d n C:\Program Files\Java\jdk1.6.0_02\bin vào bi n môi trườ ẫ ế ng Pườ ath - Ch n Variable Pathọ 11 - Ch n Editọ 12 . n java ồ Trong th m c in 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. ễ http://www.eclipse.org/). 9 V. Cài đ t Java ặ Java phiên b n Java m i nh t có th download t i đ a ch http:/ /java. sun.com/j2se. Sauả ớ ấ ể ạ ị ỉ đó cài

Ngày đăng: 10/10/2013, 13:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan