50
 NHP MÔN JAVA BÀI 1 TNG QUAN NGÔN NGJAVA TNG QUAN NGÔN NGJAVA

Bai1_TongQuanNNJava

Embed Size (px)

DESCRIPTION

Bai1_TongQuanNNJava

Citation preview

  • NHP MN JAVABI 1

    TNG QUAN NGN NG JAVA

    GV: V Tn Dng

  • PHN 1LCH S RA ICA JAVA

    GV: V Tn Dng

  • *LCH S RA I CA JAVACui nm 1990, James Gosling v cc cng s c cng ty Sun Microsystems giao nhim v xy dng phn mm lp trnh cho cc mt hng in t dn dng nhm mc ch ci chng trnh vo cc b x l ca cc thit b nh VCR, l nng, PDA (personal data assistant).

  • *LCH S RA I CA JAVALc u Gosling v cc cng s nh chn ngn ng C++ nhng thy rng C++ c nhng hn ch. Chng trnh vit bng C++ khi chuyn sang chy trn mt h thng my c b vi x l khc th i hi phi bin dch li. Gosling quyt nh xy dng hn mt ngn ng mi da trn nn ngn ng C,C++ v t tn l Oak (cy si, v phng lm vic ca Gosling nhn ra mt cy si).Oak i hi phi c lp cu trc nn (phn cng, OS) do thit b c th do nhiu nh sn xut khc nhau (Platform independent).

  • *1993, Internet v Web bng n, Sun chuyn Oak thnh mt mi trng lp trnh Internet vi tn d n l Java.1995: Oak i tn vi tn chnh thc l Java. Java l tn mt hn o c trng nhiu c ph m nhm nghin cu pht trin tham quan v lm vic.Mc ch ca Java pht trin ng dng cho cc thit b in t thng minh, to cc trang web c ni dung ng (applet). Hin nay Java c s dng pht trin nhiu loi ng dng khc nhau nh c s d liu, mng, Internet, games, vin thng,LCH S RA I CA JAVA

  • PHN 2MT S C TNHCA JAVA

    GV: V Tn Dng

  • *MT S C TNH CA JAVAn gin.Kh chuyn.Hng i tng.Phn tna tiu trnh (multithread).An ton.Bin dch v thng dchGii phng b nh (Garbage Collection)

  • *MT S C TNH CA JAVAn gin (simple): Java tng t nh C++ nhng b bt cc c tnh phc tp ca C++ nh qun l b nh, pointer, overload ton t, khng dng include, b struct, union. Java c k tha t C++, v c loi b i cc tnh nng kh nht ca C++ nn java d s dng hn.Tnh kh chuyn (portable): ca java do chng trnh bin dch to ra m byte (bytecodes) khng ph thuc h thng my s dng. Bytecodes l tp hp cc cu lnh tng t nh lnh m my (machine code), n c to ra khi mt chng trnh Java c bin dch xong.

  • *MT S C TNH CA JAVAMinh ha tnh kh chuyn

    SourceCode Java(*.java)

    Win9x/WinNT ...

    Linux/Unix...

    BytecodesJava(*.class)

    Java Compiler (javac)

    Java Interpreter (java)

    Win32

    Linux

    Solaris

    .

  • *MT S C TNH CA JAVATnh hng i tng (OO): Hng i tng trong Java tng t nh C++ nhng Java l mt ngn ng lp trnh hng i tng hon ton, khng th vit mt ng dng hng th tc trong JavaTt c mi th cp n trong Java u lin quan n cc i tng c nh ngha trc, thm ch hm chnh (hm main) ca mt chng trnh vit bng Java cng phi t bn trong mt lp.Hng i tng trong Java khng c tnh a k tha (multi inheritance) nh trong C++ m thay vo Java a ra khi nim interface h tr tnh a k tha.

  • *MT S C TNH CA JAVAPhn tn (distributed): nhm n phn b ng dng trn mng, ng dng c lp platform. C th l Java c h tr cng ngh lp trnh RMI, CORBA, JavaBean. Cc cng ngh ny cho php s dng li cc lp to ra, triu gi cc phng thc (method) hoc cc i tng t mt my xa.a tiu trnh (multithread): c tnh ny ca Java cho php to nhiu tin trnh, tiu trnh c th chy song song cng mt thi im v c th tng tc vi nhau.

  • *MT S C TNH CA JAVATnh an ton (secure): Kim tra an ton code trc khi thc thi, c nhiu mc kim tra bo mt Mi trng thc thi an tonMc 1: Mc ngn ng, nh tnh bao gi d liu ca OOP, khng cho php truy cp trc tip b nh m phi thng qua method.Mc 2: Mc Compiler, kim tra an ton cho code trc khi bin dch.Mc 3: Mc Interpreter, trc khi bytecode c thc thi, c kim tra an ton.Mc 4: Mc Class, cc class trc khi np c kim tra an ton.

  • *MT S C TNH CA JAVABin dch v thng dch: Java l mt ngn ng lp trnh c kh nng bin dch v kh nng thng dch. Chng trnh ngun vit bng ngn ng lp trnh Java c ui *.java u tin c bin dch thnh tp tin c ui *.class v sau s c trnh thng dch thng dch thnh m my.Java class file c th c dng bt k flatform no (Write Once Run Anywhere).Cc file ti nguyn trnh bin dch javac class file c lp thit bClass file trnh thng dch java m my thc thi, khng cn lin kt (link)

  • *Chng trnh JavaCompilerChng trnh Bytecode c lp platformJava Runtime Interpreter/ JVM thc thi JavabytecodeIBMMacintoshSparcMT S C TNH CA JAVAMinh ha bin dch v thng dch

  • *MT S C TNH CA JAVAGii phng b nh (Garbage Collection)Java cung cp mt tin trnh mc h thng theo di vic cp pht b nhGarbage Collectionnh du v gii phng cc vng nh khng cn c s dng.c tin hnh t ng.C ch hot ng ph thuc vo cc phin bn my o.

  • PHN 3CNG NGHJAVA

    GV: V Tn Dng

  • *JAVA L MT CNG NGHCng ngh Java pht trin mnh m nh vo Sun Microsystem cung cp nhiu cng c, th vin lp trnh phong ph h tr cho vic pht trin nhiu loi ng dng khc nhau.Java bao gm: Ngn ng lp trnh Mi trng pht trin Mi trng thc thi v trin khai

  • *CC DNG CNG NGH JAVADesktop applications - J2SEPhin bn chun Java 2 Standard Edition. J2SE h tr vit cc ng dng n, ng dng client-server.Java Applications: ng dng Java thng thng trn desktopJava Applets: ng dng nhng hot ng trong trnh duyt web

  • *CC DNG CNG NGH JAVAServer applications - J2EENn tng Java 2, phin bn doanh nghip - Java 2 Enterprise Edition. H tr pht trin cc ng dng thng mi.Chy trn my ch ln vi sc mnh x l v dung lng b nh ln, h tr gn lin vi servlet, jsp v XML.Mobile (embedded) applications J2MEPhin bn thu nh - Java 2 Micro Edition.H tr vit cc ng dng trn cc thit b di ng, khng dy, thit b nhng,

  • *CC DNG NG DNG CA JAVADng Java ta c th vit cc dng ng dng sau:ng dng c lp (console application)ng dng Appletsng dng giao din (GUI application)ng dng Web (Servlet v Jsp)ng dng nhng (embedded application)ng dng c s d liu (database application)Games.

  • *CC DNG NG DNG CA JAVAng dng c lp (console application):ng dng Console l ng dng nhp xut ch vn bn tng t nh mn hnh Console ca h iu hnh MS-DOS.Lai chng trnh ng dng ny thch hp vi nhng ai bc u lm quen vi ngn ng lp trnh java.Cc ng dng kiu Console thng c dng minh ha cc v d c bn lin quan n c php ngn ng, cc thut ton, v cc chng trnh ng dng khng cn thit n giao din ngi dng ha.

  • *CC DNG NG DNG CA JAVAng dng Applets:Java Applet l loi ng dng c th nhng v chy trong trang web ca mt trnh duyt web. T khi internet mi ra i, Java Applet cung cp mt kh nng lp trnh mnh m cho cc trang web. Nhng gn y khi cc chng trnh duyt web pht trin vi kh nng lp trnh bng VB Script, Java Script, HTML, DHTML, XML, cng vi s canh tranh khc lit gia Microsoft v Sun lm cho Java Applet lu m. V cho n by gi gn nh cc lp trnh vin u khng cn mn m vi Java Applet na.

  • *CC DNG NG DNG CA JAVAng dng giao din (GUI application):Vic pht trin cc chng trnh ng dng c giao din ngi dng ha trc quan ging nh nhng chng trnh c vit dng ngn ng lp trnh VC++ hay Visual Basic c java gii quyt bng th vin AWT v JFC. JFC (Swing) l th vin rt phong ph v h tr mnh m hn nhiu so vi AWT. JFC gip cho ngi lp trnh c th to ra mt giao din trc quan ca bt k ng dng no.

  • *CC DNG NG DNG CA JAVAng dng Web:Java h tr mnh m i vi vic pht trin cc ng dng Web thng qua cng ngh J2EE (Java 2 Enterprise Edition).Cng ngh J2EE hon ton c th to ra cc ng dng Web mt cch hiu qu khng thua km cng ngh .NET m Microsft ang qung co.Cng ngh vit web hin c ca Java l Servlet v Jsp, ngoi ra cn c s h tr ca lp trnh Socket, Java Bean, RMI v CORBA, EJB.

  • *CC DNG NG DNG CA JAVAng dng nhng:Java Sun a ra cng ngh J2ME (The Java 2 Platform, Micro Edition J2ME) h tr pht trin cc chng trnh, phn mm nhng.J2ME cung cp mt mi trng cho nhng chng trnh ng dng c th chy c trn cc thit b c nhn nh: in thai di ng (MIDlet), my tnh b ti PDA hay Palm, cng nh cc thit b nhng khc.

  • *CC DNG NG DNG CA JAVAng dng c s d liu:Java cng h tr lp trnh kt ni v tng tc c vi hu ht cc h quan tr CSDL ni ting nh Oracle, SQL Server, MS-Access, MySQL,Games:Lp trnh Games bng Java c pht trin mnh m. Dng Java c th vit c games cho my destop v cc thit b di ng.

  • *JDK JAVA DEVELOPMENT KITJDK- Java Development Kit- B cng c pht trin ng dng Java bao gm 4 thnh phn: ClasseS, Compiler, Debugger, Java Runtime Environment.JDK 1.0 1996JDK 1.1 1997JDK 1.21998JDK 1.32000Java 1.4 2002Java 5 (1.5) 2004 Java 62006Java 7Hin nayGhi ch: sau ny JDK cn c gi l SDK (Java SDK - Software Development Kit)

  • *JDK JAVA DEVELOPMENT KITBao gm:javac Chng trnh dch chuyn m ngun sang bytecodejava B thng dch: Thc thi java applicationappletviewer B thng dch: Thc thi java applet m khng cn s dng trnh duyt nh Nestcape, FireFox hay IE, v.v.javadoc B to ti liu dng HTML t m ngun v ch thchjdb B g li (java debugger)javap Trnh dch ngc bytecodejar Dng ng gi lu tr cc module vit bng Java (to ra file ui .jar), l phng php tin li phn phi nhng chng trnh Java.

  • *JVM JAVA VIRTUAL MACHINEKIU DCH CA CC TRNH BIN DCH NGN NG C

  • *JVM JAVA VIRTUAL MACHINETrnh bin dch chuyn m ngun thnh tp cc lnh khng ph thuc vo phn cng c th.Trnh thng dch trn mi my chuyn tp lnh ny thnh chng trnh thc thiMy o to ra mt mi trng thc thi cc lnh bng cch:Np cc file .classQun l b nhDn rcQUY TRNH BIN DCH V THNG DCH CA JAVA:

  • *Java Source (*.java)JVM JAVA VIRTUAL MACHINE

  • *JVM JAVA VIRTUAL MACHINEJVM l mt phn mm da trn c s my tnh o. JVM cng c xem nh l mt h iu hnh thu nh.My o ph thuc vo Platform (phn cng, OS), n cung cp mi trng thc thi cho Java (c lp vi platform).N thit lp cho cc m Java bin dch c mt ci nhn trong sut (transparence) v cc phn cng bn di.

  • *IDE INTEGRATED DEVELOPMENT ENVIRONMENTIDE: trong phn mm my tnh, IDE ch n mt b cc cng c phn mm son tho, bin dch, lin kt, g ri, vv V d nh b Visual Studio ca Microsoft.IDE gip pht trin ng dng nhanh chng v hiu qu hn. n gin ha qu trnh pht trin phn mmMt s IDE dnh cho lp trnh Java l:JCreatorNetBeansEclipseEditPlusBorland JbuilderJava Studio ca Sun

  • PHN 4HNG DNCI T

    GV: V Tn Dng

  • *CC PHN MM CN CHUN BJDK 1.6 (jdk-6u11-windows-i586-p)JDK DOC 1.6 (jdk-6u10-docs)http://java.sun.com/javase/downloads/index.jspJCreator 4.5http://www.jcreator.com/download.htmNu khng dng mt IDE nh JCreator son tho, dch v thc thi th ta c th dng trnh son tho vn bn nh NotePad son tho.

  • *TRNH T CI TNn ci t theo trnh t sau:Ci JDK 1.6 Thit lp bin mi trng PATH, CLASPATHCi JDK Doc 1.6JCreator 4.5Thit lp cho JCreator ch vo b JDK Doc 1.6 ci t

  • *CI JDK 1.6Phn ny hng dn ci trong h iu hnh Windows XP (i vi cc h iu hnh khc ca hng Microsoft th cch ci cng tng t).To th mc C:\Java ci. Nu khng th JDK ci ngm nh vo C:\Program Files\Java\jdk1.6.0_11Nhp p vo source JDK 1.6 ci.Thit lp bin mi trng PATH ch n th mc BIN ca th mc m ta mi ci JDK.Thit lp bin mi trng CLASSPATH ch n th mc cha cc lp ca ngi dng. T bn JDK 1.4 v sau, ta khng cn quan tm n bin CLASSPATH na.

  • *THIT LP BIN MI TRNG PATHTrong Windows XP, nhp Start/run g vo sysedit. Trong ca s AUTOEXEC.BAT g chui set PATH= ch n th mc BIN ca JDK mi ci t. V d: set PATH=C:\Program Files\Java\jdk1.6.0_11\bin Sau save v ng ca s sysedit li ri khi ng li my.

  • *M cmd ca WindowsXP, g hai lnh java ri javac. Nu c kt qu nh sau th vic ci t JDK thnh cngKIM TRA KT QU CI JDK

  • *CI T JDK DOCJDK Doc l l ti liu tr gip tra cu cc lp v cc phng thc ca Java. JDK Doc cng tr gip tra hm v lp khi son tho trong JCreator. Source ca JDK Doc dng file nn. Ta tin hnh gii nn n vo cng th mc ci JDK, kt qu c th mc docs nh sau:

  • *CI T JCREATOR 4.5Sau khi download source JCreator v ci t n xong, nh tin hnh b kha.

  • *CI T JCREATOR 4.5 JDK Doc tr gip tra hm v lp khi son tho trong JCreator, ta phi cu hnh nh sau: Configure/Options/JDK Profiles/Chn th mc ci Java/Chn th Document/Nhp nt Add/Chn th mc docs ca JDK Doc/OK.

  • PHN 5VIT MT CHNG TRNHN GIN

    GV: V Tn Dng

  • *VIT BNG JCREATORDng JCreator vit v thc thi chng trnh c tn l HelloWorldApp BC 1: TO MT EMPTY PROJECT Trn menu ca JCreator chn File/New/Project/Empty Project/Next

  • *VIT BNG JCREATORt tn cho project Name. Chn th mc cha project Location. Nhn Finish.

  • *VIT BNG JCREATORBC 2: TO CLASS MI TN HelloWorldApp TRONG PROJECT MI TO Ch : trong Java, tn file cha mt class phi trng vi tn ca class. Chn File/New/Class (hoc nhp phi vo tn Project ri chn Add/New Class)Nhp vo tn ca class ri nhp Finish

  • *VIT BNG JCREATORBC 3: SON THO M NGUN, DCH V THC THICa sWorkspaceCa sson tho m ngunCa s Output xutkt qu chy chng trnhThc thi (F5)Dch (F7)Dng chng trnh ang chyCa s xut kt qu dch(dch thnh cng hoc c li)

  • *VIT BNG NotePadLu tr vi tn HelloWorld.java- tn lp l tn file Ch : Tn file .java c tnh cht case-sensitive

  • *VIT BNG NotePadM cmd ca WindowsXP ln. G lnh javac dch v lnh java thc thi chng trnh, nh sau:

  • HTCHNG 1

    GV: V Tn Dng

    *********************************************************************************************