1 2/24/2012 1 Chương2 TỔNG QUAN VỀ JAVA Th.SNguyễnThị Mai Trang Chương 2: TổngquanvềJava 2 NỘI DUNG l GiớithiệuJava l Các đặctrưngcủaJava l Các kiểuchươngtrìnhJava l Máy ảoJava (JVM-Java Virtual Machine) l Bộ công cụ phát triển JDK l Java Core API l Các đặc trưng mới của Java 2 Chương 2: TổngquanvềJava 3 Giớithiệu l Java làmộtngônngữ lậptrình đượcSun Microsystems giớithiệuvàotháng6 năm1995. l Java đượcxâydựngtrênnềntảngcủaC vàC++. Do vậynósửdụngcáccúphápcủaC vàcác đặctrưnghướng đốitượngcủaC++. l Vàonăm1991, mộtnhómcáckỹsưcủaSun Microsystems cóý địnhthiếtkếmộtngônngữ lập trình đểđiềukhiểncácthiếtbịđiệntử Chương 2: TổngquanvềJava 4 Giớithiệu(tt) – Sử dụngC, C++: trìnhbiêndịchphụ thuộcvàotừng loạiCPU à tốnkém – àĐòihỏimộtngônngữ chạynhanh, gọn, hiệuquả và độclậpthiếtbịtứclàcóthể chạytrênnhiềuloạiCPU khácnhau, dướicácmôitrườngkhácnhau à“Oak” đã ra đời – Năm1995 được đổitênthànhJava. – Mặcdùmụctiêuban đầukhôngphảichoInternet nhưngdo đặctrưngkhôngphụ thuộcthiếtbịnênJava đãtrở thànhngônngữ lậptrìnhchoInternet. 2 Chương 2: TổngquanvềJava 5 Giớithiệu(tt) l Java làngônngữ lậptrìnhhướng đốitượng. l Java làngônngữ vừabiêndịchvừathôngdịch – Đầutiênmãnguồn đượcbiêndịchbằngcôngcụJAVAC để chuyểnthànhdạngByteCode. – Sau đó đượcthựcthi trêntừngloạimáycụthể nhờ chươngtrình thôngdịch. l Java làngônngữ lậptrìnhhướng đốitượng độclậpthiết bị, khôngphụ thuộcvàohệđiềuhành. l Java khôngchỉ dùng để viếtcác ứngdụngchạy đơnlẻ hay trongmạngmàcòn để xâydựngcáctrình điềukhiển thiếtbịcho điệnthoạidi động, PDA, … Chương 2: TổngquanvềJava 6 Các đặctrưngcủaJava l Đơngiản – Dễ học, quenthuộcvớingườilậptrìnhvìsửdụngcú phápC, C++ – Loạibỏcác đặctrưngphứctạpcủaC vàC++ l Con trỏ l Nạpchồng(overload) l Khôngsửdụnglệnh“goto”cũngnhư file header (.h). l Loạibỏcấutrúc“struct”và“union”cũng đượcloạibỏ khỏiJava. Chương 2: TổngquanvềJava 7 Các đặctrưngcủaJava (tt) l Thôngdịch: – Chươngtrìnhnguồn*.java đượcbiêndịchthànhtập tin *.class. Trìnhthôngdịchthôngdịchthànhmãmáy. l Hướng đốitượng – Hướng đốitượngtrongJava tươngtựC++ nhưng Java làmộtngônngữ lậptrìnhhướng đốitượnghoàn toàn l Độclậpphầncứngvàhệđiềuhành – Mộtchươngtrìnhviếtbằngngônngữ Java cóthể chạy trênnhiềumáytínhcóhệđiềuhànhkhácnhau Chương 2: TổngquanvềJava 8 Các đặctrưngcủaJava (tt) l Đanhiệm-đaluồng: – Java chophépnhiềutiếntrìnhcóthể chạysong song vàtươngtácvớinhau. l Khả chuyển: – ChươngtrìnhviếtbằngJava cóthể chạy đượctrênbất kỳmáytính, hệđiềuhànhnàocómáy ảoJava. l Hỗ trợ mạnhchoviệcpháttriển ứngdụng: – Côngnghệ Java pháttriểnmạnhnhờ Sun Microsystemcungcấpnhiềucôngcụ, thư việnlập trìnhphongphú 3 Chương 2: TổngquanvềJava 9 CáckiểuchươngtrìnhJava l Applets – ChươngtrìnhchạytrênInternet thôngqua cáctrình duyệthỗtrợ Java như IE hay Netscape. – Cóthể dùngcáccôngcụcủaJava để xâydựng Applet. – Applet đượcnhúngbêntrongtrangWeb hoặcfile HTML. KhitrangWeb hiểnthị trongtrìnhduyệt, Applet sẽđượcnạpvàthựcthi. Chương 2: TổngquanvềJava 10 CáckiểuchươngtrìnhJava (tt) l Ứngdụngthựcthi qua dònglệnh – Cácchươngtrìnhnàychạytừdấunhắclệnhvàkhông sử dụnggiaodiện đồ họa. – Cácthôngtin nhậpxuất đượcthể hiệntạidấunhắc lệnh l Ứngdụng đồ họa – CácchươngtrìnhJava chạy độclậpchophépngười dùngtươngtácqua giaodiện đồ họa. Chương 2: TổngquanvềJava 11 CáckiểuchươngtrìnhJava (tt) l Servlet – Applet làchươngtrình đồ họachạytrêntrìnhduyệttạimáy trạm. – Trong ứngdụngWeb, máytrạmgửiyêucầutớimáychủ. Máychủ xử lývàgửingượckếtquả trở lạimáytrạm. – CácchươngtrìnhJava API chạytrênmáychủ giámsátcác quátrìnhtạimáychủ vàtrả lờicácyêucầucủamáytrạm. Cácchươngtrìnhnàymởrộngkhả năngcủacác ứngdụng Java API chuẩn. – Các ứngdụngtrênmáychủ này đượcgọilàcácServlet. hoặcApplet tạimáychủ. – Đượcdùng để xử lýdữliệu, thựcthi cáctransaction và thường đượcthựcthi qua máychủ Web. Chương 2: TổngquanvềJava 12 CáckiểuchươngtrìnhJava (tt) l Ứngdụngcơsởdữliệu – Các ứngdụngnàysửdụngJDBC API để kếtnốitớicơ sởdữliệu. – Chúngcóthể làApplet hay ứngdụng, nhưngApplet bị giớihạnbởitínhbảomật. 4 Chương 2: TổngquanvềJava 13 Máy ảoJava (JVM -Java Virtual Machine) l JVM làmộtphầnmềmdựatrêncơsởmáytính ảo. Nócó tậphợpcáclệnhlogic để xác địnhcáchoạt độngcủa máytính, cóthểđượcxemnhư mộthệđiềuhànhthu nhỏ. Nóthiếtlậpcáclớptrừutượngcho: Phầncứngbên dưới, hệđiềuhành, mã đãbiêndịch. l Trìnhbiêndịchchuyểnmãnguồnthànhtậpcáclệnhcủa máy ảomàkhôngphụ thuộcvàophầncứngcụthể. Trình thôngdịchtrênmỗimáysẽchuyểntậplệnhnàythành chươngtrìnhthựcthi. l Máy ảotạoramộtmôitrườngbêntrong để thựcthi các lệnhbằngcách: – Nạpcácfile .class – Quảnlýbộnhớ – Dọn“rác” Chương 2: TổngquanvềJava 14 JDK (Java Development Kit) l Sun Microsystem đưarangônngữ lậptrìnhJava qua sảnphẩmcótênlàJava Development Kit (JDK). Baphiênbảnchínhlà: – Java 1.0 -Sửdụnglầnđầuvàonăm1995 – Java 1.1 –Ðưaranăm1997 vớInhiều ưu điểmhơn phiênbảntrước. – Java 2 –Phiênbảnmớinhất l JDK bao gồmJava Plug-In, chúngchophépchạy trựctiếpJava Applet hay JavaBeanbằngcách dùngJRE thaychosửdụngmôitrườngthựcthi mặc địnhcủatrìnhduyệt. Chương 2: TổngquanvềJava 15 Bộ côngcụpháttriểnJDK l Trìnhbiêndịch, 'javac' – Cúpháp: javac[options] sourcecodename.java l Trìnhthôngdịch, 'java' – Cúpháp: java [options] classname l Trìnhdịchngược, 'javap' – Cúpháp: javap[options] classname l Côngcụsinhtàiliệu, 'javadoc' – Cúpháp: javadoc[options] sourcecodename.java Chương 2: TổngquanvềJava 16 Bộ côngcụpháttriểnJDK (tt) l Chươngtrìnhtìmlỗi-Debug, 'jdb‘ – Cúpháp: jdb[options] sourcecodename.java Hoặc jdb-host -password [options] sourcecodename.java l ChươngtrìnhxemApplet , 'appletviewer‘ – Cúpháp: appletviewer[options] sourcecodename.java/ url 5 Chương 2: TổngquanvềJava 17 Java Core API l java.lang – Chứacáclớpquantrọngnhấtcủangônngữ Java. Chúngbao gồmcáckiểudữliệucơbảnnhư Character, Integer,…Chúngcũngchứacáclớplàm nhiệmvụxửlýlỗivàcáclớpnhậpxuấtchuẩn. Mộtvài lớpquantrọngkhácnhư String hay StringBuffer. l java.applet – Đâylàpackage nhỏ nhấtchứamộtmìnhlớpApplet. CáclớpApplet nhúngtrongtrangWeb đềudẫnxuấttừ lớpnày. Chương 2: TổngquanvềJava 18 Java Core API (tt) l java.awt – Package này đươợcgọilàAbstract Window Toolkit (AWT). Chúngchứacáctàinguyên dùng để tạogiaodiện đồ họa. Mộtsốlớpbên tronglà: Button, GridBagLayout, Graphics. l java.io – Cungcấpthư việnnhậpxuấtchuẩncủangôn ngữ. Chúngchophéptạovàquảnlýdòngdữ liệutheomộtvàicách. Chương 2: TổngquanvềJava 19 Java Core API (tt) l java.util – Package nàycungcấpmộtsốcôngcụhữu ích. Mộtvàilớpcủapackage nàylà: Date, Hashtable, Stack, Vector vàStringTokenizer. l java.net – Cungcấpkhả nănggiaotiếpvớimáytừxa. ChophéptạovàkếtnốivớiSocket hoặc URL. l java.awt.event – Chứacáclớpdùng để xử lýcácsựkiệntrong chươngtrìnhnhư chuột, bànphím. Chương 2: TổngquanvềJava 20 Java Core API (tt) l java.rmi – Côngcụđể gọihàmtừxa. Chúngchophép tạo đốitượngtrênmáykhácvàsửdụngcác đốitượng đótrênmáycụcbộ. l java.security – Cungcấpcáccôngcụcầnthiết để mãhóavà đảmbảotínhan toàncủadữliệutruyềngiữa máytrạmvàmáychủ. l java.sql – Package nàychứaJava DataBase Connectivity (JDBC), dùng để truyxuấtcơsở dữliệuquanhệnhư Oracle, SQL Server. 6 Chương 2: TổngquanvềJava 21 Các đặctrưngmớicủaJava2 l Swing – Đâylàmộttậpcáclớpvàgiaodiệnmớidùng để tạogiaodiện ứngdụng đồ họatrựcquan l Kéovàthả – Đâylàkhả năngdichuyểnthôngtin giữacác ứngdụnghay các phầnkhácnhaucủachươngtrình. l Java 2D API – Chứacáclớphỗtrợ cho ảnhvà đồ họahaichiều. l Âmthanh – Tậphợpcác đặctrưngâmthanhhoàntoànmớichoJava. l RMI – RMI (Remote Method Invocation) chophépcác ứngdụnggọicác phươngphápcủađốitượngtạimáytừxavàchophépgiaotiếp vớichúng. Chương 2: TổngquanvềJava 22 Cài đặtJava (tt) l Download vàcài đặtJDK – http://www.oracle.com/technetwork/java/javase/downlo ads/index.html Chương 2: TổngquanvềJava 23 Cài đặtJava (tt) l Cài JCreator – SaukhicàiJDK, càiJCreatorvàotrongthư mụccài JDK – Link download: http://www.jcreator.org/download.htm – TạoProject vàcấuhìnhJDK l 1. File > New > Project. Chọn Project Template l 2. Chọn Basic Java Application, Next l 3. Trong cửa sổ Project Paths, chọn Create new workspace và Local folder system. Nhập tên Project trong ô Name, Next. Chương 2: TổngquanvềJava 24 Cài đặtJava (tt) – TạoProject vàcấuhìnhJDK (tt) l 4. Trong cửa sổ Project ClassPath, chắc chắn mục JDK version 1.6.0 (hoặc phiên bản mới hơn) được chọn, Next l 5. Trong cửa sổ Project Tools, chắc chắn mục Default được chọn vàchọn Finish. l 6. Sau khi JCreator tạo project, chọn Finish một lần nữa . 1 2/ 24 /20 12 1 Chương2 TỔNG QUAN VỀ JAVA Th.SNguyễnThị Mai Trang Chương 2: Tổngquanv Java 2 NỘI DUNG l GiớithiệuJava l Các đặctrưngcủaJava l Các. thuộcthiếtbịnênJava đãtrở thànhngônngữ lậptrìnhchoInternet. 2 Chương 2: Tổngquanv Java 5 Giớithiệu(tt) l Java làngônngữ lậptrìnhhướng đốitượng. l Java làngônngữ