![面試幫助題目所有課程筆記_第1頁](http://file4.renrendoc.com/view/bb981504f3bde2feaf163e086ea35286/bb981504f3bde2feaf163e086ea352861.gif)
![面試幫助題目所有課程筆記_第2頁](http://file4.renrendoc.com/view/bb981504f3bde2feaf163e086ea35286/bb981504f3bde2feaf163e086ea352862.gif)
![面試幫助題目所有課程筆記_第3頁](http://file4.renrendoc.com/view/bb981504f3bde2feaf163e086ea35286/bb981504f3bde2feaf163e086ea352863.gif)
![面試幫助題目所有課程筆記_第4頁](http://file4.renrendoc.com/view/bb981504f3bde2feaf163e086ea35286/bb981504f3bde2feaf163e086ea352864.gif)
![面試幫助題目所有課程筆記_第5頁](http://file4.renrendoc.com/view/bb981504f3bde2feaf163e086ea35286/bb981504f3bde2feaf163e086ea352865.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Linux/Unixinode:編號(地址lsk:lsli:顯示當前文件的inode last|greppts/13表示查看pts/13find.-mtime-10-print-user0:表示UID0size+400400*0.5K,-400-atime:表示最后一次時間后面,表示對|前面的輸出做查找。如:catetc/passwd|gredliu|sort前臺就是終端,就是服務器man對你熟悉或不熟悉令提供幫助解eg:manls就可以查看lsls查 下面的文eg:ls ls-d表示 是l則表示是 cpeg:cpfilename1filename2//把filename1拷貝成etseek/2.c//將1.c拷到 rmegrm1.c1.cmv移 eg:mvfilename1filename2//將filename1改名為mvqib.tgzqib.tgzcd改變當 pwd查看當前所 完整路eg:pwd//查看當前所在 cdnetseek//進入netseek這個cd//退出當前件內(nèi)容一直打印出來,而moreegcat>1.c1.ccat1.c或more1.cgcc-o11.c1.cexeod命令權限修改用法:od一位8進制eg:odu+xfilenmame//只想給自己運行,別人只能//ug表示文件文件所在組。o表示其他人;r表可讀,w表可寫,x表可以運行odg+xfilenameclear:清屏,相當與DOScls;date
mount用法:mounteg:mountcdmnt/cdromsu在不退出登陸的情況下,切換到另外一個人的sulrooteg:sulnetseeknetseek 以及幫助文檔所 (類似//id:打印出自己的UID以及GID。(UID:用戶唯一標識。GID:用戶組唯一標識每一個用戶只能有一個唯一的UID和GID)egwhoamiwhereisbin顯示bin所在 ,將顯示為whichbin eg:grepsuccess* 面含有success字符的文件killdesteg;pspasswdhistory用戶用過eg:history//可以顯示用戶過去使用!!執(zhí)行最近一次egmkdirnetseek//創(chuàng)建netseektareg:tar-zxvfnmap-3.45.tgz//將這個解壓到nmap-這 fingeregfingerfingerrootrootftp上傳ftp1921681用戶:xiangfPwdPutmput上傳多個Getmget多個linuxJdk的安裝先從網(wǎng)上jdk(jdk-1_5_0_02-linux-#cd#cpjdk-1_5_0_02-linux-i586.rpm/usr/local#cd/usr/local#od+xjdk-1_5_0_02-linux-i586.rpm.bin#od+xjdk-1_5_0_02-linux-#rpm-ivhjdk-1_5_0_02-linux-#vi/etc/profile#setjavaenvironmentexportJAVA_HOMECLASSPATH檢查JDK#java-如果看到JVM。空格。bash-profileVim。bash-profileJavac把.java編譯成。 java運行。Class文–
CoreJava2,classjava執(zhí)行效率低。可移植性好。---->對硬件要求高。(源文件)--->(編譯器javac.exe)--->中間碼--->(java.exe)--->機器指令(編譯)(解釋.javaclass JAVA_HOME:指定JDK的安裝 CLASSPATH:指定(jar文件)中間字節(jié)碼文件在什么地方。由多個 讓虛擬機可以找到中間字節(jié)碼文件。就是可以找到.class文件服務器上csh:.cshrc1#.bash_profile3#Getthealiasesand4if[-f~/.bashrc];5.6fi//if8Userspecificenvironmentandstartupprograms//#代表注釋。9 JDKJDKJRE{JVM(硬件)+編譯器()10 //系統(tǒng)定義的 啟動命 13exportPATHCLASSPATH Sourcebash_profile..bash_profile。只能經(jīng)過這條命令之后,才會讓修改的變量生效 javaversion)pbulicclass ,程序從main函數(shù)的第一條語句開始執(zhí)行,執(zhí)行到main函數(shù)結(jié)束為止publicstaticvoidmain(String} ,然后進行以下步驟運行編譯:javac命令。如:javac-d.oWorld.java-->生成oWorld.class類文件啟動虛擬機(java),運行類文件。如:javacom.work.core.oWorld后面的.class省略,無需寫成javacom.work.core.1,packagecom.kettas.corejava;//包 中 下運行java命令例如:com(s界面里運行)javacom.kettas.corejava. 已經(jīng)被配置到CLASSPATH中的話可以在任 中啟動java命令2,javac-d. 運行命令javaxxxx類的名 (一)語言:適合于internet 加密的源如果不一樣了,經(jīng)過Hash(二)如:學生,,1,變量:給變量起名,是給變量選擇一種數(shù)據(jù)類型。如:int簡單數(shù)據(jù)類型(原始數(shù)據(jù)類型 整數(shù):byte(1字節(jié))-short(2字節(jié))-int(在內(nèi)存中占4個字節(jié))-long(8個字節(jié))小數(shù):float(4個字節(jié),單精度浮點型)-double(8個字節(jié),雙精度浮點型)字符:char(一個字符=2charcc布爾:boolean(true,false)00StringStrings=newString(“abc”);1,在字符串池中創(chuàng)建一個對象(此對象是不能重復的)2,new出一個對象。Java運行環(huán)境有一個字符串池,由String類。執(zhí)行語句Strings="abc"時,首先查看字符串池中是否存在字符串"abc",如果存在則直接將"abc"賦給s,如果不存在則先在字符串池中新建一個字符串"abc",然后再將其賦給s。執(zhí)行語句Strings=newString("abc")時,不管字符串池中是否存在字符串"abc",直接新建一個字符串"abc"(注意:新建的字符串"abc"不是在字符串池中),s。2,初始化(局部變量而言,必須初始化才能使用 如 如:intage=1;longl=10;BigDecimaldoubleJava1,只能是字母,數(shù)字,_,$2 標識符的名字應當具有含義, age,簡單表達式 前++:++a;a+1,再返回a+1后++:a++;先返回a的值,然后對a1。 -->(booleanexpress)?AB;如:char?前面的布爾表達式如果為真就執(zhí)行A,B .....jarcvfabc.jar解壓命令:jarxvfabc.jarabc.jar 下的東打包一般從頂層包開始打。如:[java@localhostyesq]$jarcvffirst.jar//當 (yesq)下的com文件夾開始1,獲得別人提供的jar2,將jarCLASSPATH3,使用import語句,將其他包的內(nèi)容導入到本文件中,如:引入 1,if(booleanexpress){ } while(boolean
4,case1:XXXXXX;case2:xxxxxx;default:xxxxxxx; 以不用break;}2,在javaa,:publicstaticvoidprint(inta,double b,}}(3) }while(boolean //或者continue;}break
如:publicstaticvoidprint(inta,doubleb){}3,通過函數(shù)名,如pirnt(a,b);publicstaticvoidmain(Stringargv[]){}return:1,結(jié)束本方法。2,返回結(jié)果。數(shù)組:一維數(shù)組-->:三種方一,(1)首先要。如:int[]array;或int申請內(nèi)存空間如:array=new只要有new在,就要為變量分配內(nèi)存。 //表示數(shù)組array的長度arrayarray二,數(shù)組的顯示初始化:int三,intarray=newpublicstaticint[]expand(int[]a){int[]b=newint[a.length*2];/*for(inti=0;i<a.length;i++){}//從a0b0a.length(areturnb;//返回擴展后的數(shù)組b。bb}二維數(shù)組(數(shù)組的數(shù)組)-->:三種方二維數(shù)組的第二個[]在時可以留空,如:int[][]array=new一,:int[][]array=newint[3][4];//一個三行四列的整型二維數(shù)組。二,int[][]array={{1,2,3},{2,3,4},{2,5,7},{2,3,6}};三,intarray=new有什么:屬 》實例變做什么:方 》函2,編寫出來的代碼比較合理。如:可擴展性,可性,可讀性等等(存在就是合理貼近生活3,4,5,可復用性 不要重造面向?qū)ο螅簩ο笏灿械墓δ芎蛯傩赃M行抽像,成為了類??陀^事物在人腦中的反映。在程序里類是創(chuàng)建對象的模板 publicclasspublicstaticvoidmain(String[]//新建對象stu;stu存的是新建對象stu的地址。stu的專業(yè)術語:/對象變量/變量/實例變Studentstu=new stunameclass //用 類型,如:Student//實例變量(成員變量)--->屬性??赏ㄟ^新建對象的來類的實例變量。如,;Stringname;intage; } 方法名(參數(shù)列表)異常怎么做:方法的實現(xiàn){******}修飾符(如:public)返回類型(如:int)(參數(shù)表--形參)publicvoideat(String }好處:對使用者因為參數(shù)不同造成方法間的差異。找方法時如果沒有合適的,采取自上擴展原則。3,子類方法的權限不能更嚴格,只能等于或更加寬松如果程序沒有顯示的提供構造方法,JVM,public類型的屬性賦值就是用new:Studentstu=newStudent();如:Studentstu=newStudent();2,初始化實例變量;沒顯示值的話就用默認值1,在普通方法里,指代當前對象(哪個對象調(diào)用該方法,this就指向該對象(和this2,super父類的變量和方法,及super代表父類的對象3,基本類型數(shù)據(jù)傳遞的是本身的值,類型數(shù)據(jù)傳遞的是xx(Animalanimal)(地址,對象變量本身的值)資源就能達到他的目的。(封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的只能通過已定義的界面。面向?qū)ο笥嬎闶加谶@個基本念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口其他對象。)2.對外提供一致的公共的接口――間接隱藏數(shù) 3.可(可以范圍(可修飾)下面的類(指外部類1,屬性:隱藏所有屬性,用private。隱藏后屬性只能在類以內(nèi)。程序可以根據(jù)需要提供get和ObjectObject且在創(chuàng)建該子類對象的時候初始化屬性(包括父類所有屬性和該子類所有屬性對于父類里的屬性和方法,子類有權的,我們稱為可以繼承用new,JVM:Dogd=newDog();為dclassDogextends執(zhí)行順序:子類(2)--->父類(2-->3-->4-->5)---> (創(chuàng)建是先執(zhí)行父類的構造方法,在執(zhí)行子類的構造方法,時先子類自己的特殊屬性和方法再父類的屬性和方法)用super指代的是在創(chuàng)建子類對象過程中,由JVM:super.方法名()/屬性用super:super(形參);1,在子類的構造方法里如果沒有指明調(diào)用哪一個父類的構造方法(super(形參)語句JVM2,顯示的寫super,JVM3,有this用父類類型子類之間的差異所有的子類對象都可以當父類對象來用,一個父類型的可能指向的是一個子類對象如:把狗(對象)看作動物(類型。Animala=new 編譯看前面,運行看后面(編譯時類型 (運行時類型2,對一個,只能調(diào)用編譯時類型里的已知方法instanceof類 //結(jié)果為boolean值Subsu=(Sub) Animala=newDog instanceof類 >ainstanceofAnimal> ainstanceofCat> ainstanceofDogEmployeee=neweinstanceof einstanceof >classsetget(設置和獲得屬性)業(yè)務方法(做什么}static:staticint類的所有對象共同擁有的一個屬性;可以用類名直接,又稱為類變量,(也就是會先執(zhí)行staticstatic,static:publicstaticvoid可以用類名直接去調(diào)用,不需要對象所以不能直接(在沒有對象的情況下)實例變量thissuper,類的所有對象共同擁有的一個方法;跟類創(chuàng)建了多少對象無關。(的是父類的靜態(tài)方法static:classstaticint }}靜態(tài)初始華塊:用staticJVM。類加載:JVMclasspath并讀進JVMjvm二,final(最后的,最終的)final用于屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼finalfinalclass對虛擬機的正常運行有重要作用的類通常用final修飾,如:String,System,Math...等類final方法:如:publicfinalvoidsleep(){} finalfinalstatic)int該變量是常量能被繼承( 常量final修飾類型數(shù)據(jù),指的是(地址)不能變, 里的數(shù)據(jù)不受限制實例變量 的同時或構造方法里賦值靜態(tài)變量 的同時或在靜態(tài)代碼塊里賦值 class抽象類,不能創(chuàng)建對象(如一些父類),但是可以一個抽象類型的(可以父類類型子類對象,編譯時利用多態(tài)調(diào)用抽象方法。 void好處:允許方法的定義分開publicprotecteddefaultprivatestaticpublicprivatestaticpublicfinalpublicstatic不可以 finalvoid void void不能和final,private,static四,interface:interfaceintnum=3;voideat();}但可以一個接口類型的(m是接口類型實現(xiàn)類對象,如:Mm=newN();)就要實現(xiàn)接口里面所有的抽象方法,實現(xiàn)過程中注意權限用implements:classNimplementspublicvoid}接口里面的常量默認都是publicstaticfinal的;接口里面的方法默認都是public 接口本身支持多繼承,繼承了父接口里功能的定義,如,interfaceAextendsB,C,D{} 如:classAAextendsBBimplementsCC,DD,EE{}//AA,BB 如:蜘蛛俠,擁有人和蜘蛛的屬性,但主要類型是人,次要類型(接口)但沒有被實現(xiàn)),接口將標準的制定者,標準的實現(xiàn)者以及標準的使用者分離開,java接口可以不同實現(xiàn)類的差異**接口和抽象類的區(qū)別1implementsextendsObjectJava,Objectjava 回收器回收不用的內(nèi)存(沒 如:System.out.println(str.toString==System.out.println(str);如:publicStringtoString(){return }equalsObjectequalsObjectequals()publicbooleanequals(Objecto){if(o==null)returnfalse;if(o==this)returntrue;if(!(o.getClass()==this.getClass()))returnfalse;finalStudents=(Student)o;.equals(&&this.age==s.age;//比較原則;}覆蓋euqals自反性 對稱性:a.equals(b傳遞性 b.equals(c);--->則:a.equals(c);//為封裝類(Wrapper //Integer是類型 但Integer------>Double 任何類型基本數(shù)據(jù)類型intdoubleintIntegerit=newInteger(i); int<---->Integer<---->String轉(zhuǎn)換時String類型必須為全數(shù)字字符串。如 ”;1,memberinner 能直接的什么:能外部類的所有靜態(tài)和非靜態(tài)的屬性或方法怎么創(chuàng)建對象:在外部類內(nèi)的方法內(nèi):Outer.Innerinner=newOuter().new在外部類外的類的方法內(nèi):Outer.Innerinner=newOuter().newInner在OutergetInner靜態(tài)內(nèi)部類能直接的什么:只能外部類的靜態(tài)屬性和方法怎么創(chuàng)建對象:在外部類內(nèi)的方法里:Outer.Innerinner=new Outer.Innerinner=new3,localinnerclass 1)定義的位置:方法里面的類,前面不能用public或static修飾。能直接的什么:能方法內(nèi)用final修飾的局部變量(不能與該類內(nèi)的變量名相同能外部類的所有靜態(tài)和非靜態(tài)的屬性或方法怎么創(chuàng)建對象:只能在方法內(nèi)創(chuàng)建對象,如:Innerinner=newInner4,annonymousinnerclass 如:Teachertc=newTeacher(){ publicvoidteach(){...} 或者一個類 除了沒有名字外,看內(nèi)部類所在的位置,他的定義和將和成員內(nèi)部類、靜態(tài)內(nèi)部類、局部內(nèi)部類一樣。一般像局部內(nèi)部類的定義和比較多。當試圖創(chuàng)建接口或者抽象類對象的時候,用內(nèi)部類 作用:1,不破 權限的情況下,內(nèi)部類可以使用外部類的私有成員變量和方法2,將接口公開,將實現(xiàn)類(實現(xiàn)公開的接口)作成內(nèi)部類隱,強制要求使用者使用接口,強制降低偶合度 等 1)拋出異常(消極的處理如:publicvoidm1()throwsException{.}如:thrownewFileNotFoundException();方法覆蓋:名相同,參數(shù)相同,返回類型相同,權限不能更小,子類拋棄的異常不能比父類 一個trycatch;catchxxxxxxxxxx;(1)xxxxxxxxxx;(2)}catch(Exception1//當trycatchxxxxxxxxx;}catch(Exception2e2){xxxxxxxxx;xxxxxxxxx;(5)}xxxxxxxxx;}執(zhí)行catch(5)執(zhí)行,最后再執(zhí)行(6),如果異常類型都不一致,將導至語法問題。如:classMyExceptionextendsException{publicMyException(Stringstr);}1、如果程序用了System.exit(0finally2、在程序returnfinallychecked處理方式二、用uncheckedException(runtime}catch(exception1e1){dosomething;}catch(exception2e2){dosomething;e1課外考題:12、final,finally,finalizefinal用于屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承finallyfinalize是Object類的一個方法,在收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋 Collection是一個接口:是以對象為單位來管理元素的?;静僮鳎篴ddremovesize,有兩個子接口:ListSet1,List接口:元素是有順序(下標),可以重復。有點像數(shù)組??梢杂玫鳎↖ List接口里本身有自己的方法,還有從父接口Collection里繼承的方法。remove(int)刪除某一位置的對象、add(int,Objectget(int)查詢某一位置上的元素。遍歷:迭代遍歷、forCollections.sort(list);引入listlist(如:Student)進行排序時,只要在讓對象(類)實現(xiàn)Comparable(compareTo()方法),在compareTo()方法里寫出進行什么樣的方式排序,PublicintcompareTo(Objecto){WorkElseIf(this.age!=w.age){returnw.age-this.age;}else }然后在主函數(shù)里使用Collections.sort(list);,就對list而不用管Collections.sortCollections.sort()方法的實現(xiàn)體。排序規(guī)則:對象實現(xiàn)ComparablecompareTo()方法,Collections.sort(List);ArrayListListget(int)方法多時,Vector集合也實現(xiàn)List(VectorLinkedListList用remove(int)、add(int,Object)方法多時,classprivateLinkedListlist=newLinkedList();publicvoidpush(Objecto){}publicvoidpop(Objecto){2,Set接口:無順序,不可以重復(內(nèi)容不重復,而非地址不重復。只能用迭代器(I Set接口里本身無方法,方法都是從父接口Collection里繼承的,HashSetSet底層是以數(shù)組實現(xiàn)的。HashSet每向HashSetHashSet集合類里add(o)方法,再調(diào)用對象ohashCode如果哈稀碼一樣,再調(diào)用對象oequals集合也可以構造集合,如:List<Object>list=newArrayList<ObjectSet<Object>set=newHashSet<Object>(list);原來在listset Map:對應一個鍵對象和一個值對象,可以根據(jù)key找value,基本操作:put()get()遍歷:鍵遍歷ketSet()返回鍵的集合(Set)(說明mapset)值遍歷values()返回值的集合。HashMap類實現(xiàn)Map接口: Hashtable類實現(xiàn)Map接口:查詢慢,線程安全TreeMapMap:SortedMapItor實StaticvoidprintValue(Mapmap){Collectioncol=map.values();Itorit=col.itor();Object
StaticvoidprintValue(Map<IntegerProduct>map){Set<Integer>s=map.ketSet();For(Integer}注意:如果需要定位,就得用“普通”的for,在列表遍歷課外考題、CollectionCollectionsCollectionSet和CollectionsJPanel:面版,透明的。默認布局是FlowLayout,一般放在窗口里FlowLayoutJTextField:單行文本框JTextArea:多行文本區(qū)4, 模型 三要素:對象 源, 對象 也是一個對象 源:發(fā) 的對象,也是報 的對象(點擊b1按鈕,那么b1按鈕就是源 的對象 發(fā)生時,源就給所有的器發(fā)送一個對象, 器存在一個數(shù)組集合里(如ArrayList集合),由 源,就某種單獨 接口中的每一個方法,都應以對應 對象作為參數(shù)類型所謂 源 器發(fā) 對象,其實就 源以對象為參數(shù),調(diào)用器的方法 對象(EventObject)里的一個方法,用對象e調(diào)用(如:e.getSource(); 對象里的Treadt=newThread當調(diào)用t.startCPUtThreadRunnable接口。在javasynchronized(o對o(o)o才能進入對oosynchronized的同步方法,如:publicsynchronizedvoidfn(){}對該方法的當前對象(this)加鎖;哪個線程能拿到在java在java線程t1(讓)owaitot1o會從ot2,t2當一個現(xiàn)成對象調(diào)用yieldOS是“阻塞”狀態(tài)的特殊情況:這種認識也是正確的,但是將“鎖池”和“等待池”單獨分離出來有利于對程序的理解1,初始狀態(tài),線程創(chuàng)建,線程對象調(diào)用start2,可運行狀態(tài),也就是等待Cpu3,運行狀態(tài),獲得了cpu4,阻塞狀態(tài),也就是讓出cpu線程休眠,線程對象調(diào)用sleep21join216,7,課外問題:71、簡述synchronized和java.util.concurrent.locks.Lock主要相同點:Lock能完成synchronized所實現(xiàn)的所有功能主要不同點:Lock有比synchronizedsynchronized而Lockfinally從句中釋放。InputStream/OutputStream(1)FileInputStream/FileOutputStream文件字節(jié)流 DataInputStream/DataOutputStream讀寫8種基本類型和以UTF-8讀寫StringBufferedInputStream/BufferedOutputStream帶緩沖的輸入/出流PrintStream融合Data和Buffered,System.out所屬的類PipedRandomAccessFile隨機文件Reader/WriterFileReader/FileWriterFileInputStream/FileOutputStream文件流,InputStreamReader/OutputStreamWriter橋轉(zhuǎn)換將字節(jié)流轉(zhuǎn)成字符流在橋轉(zhuǎn)換的過程中,可以制定編方BufferedReader/PrintWriter有緩沖字符流轉(zhuǎn)換為字節(jié)流時,指定編方式是在橋轉(zhuǎn)換時指定的。把對象放在流上傳輸只有實現(xiàn)了Serializable用transientTcpUDPTCP的過程相當于打 UDP的過程相當于寫信的過程。注意:socket是套接字,ip和port(端0~65535個端口,一個端口只能有一個進程3,TCPtcp 利用JDKJ.*;importjava.io.*;publicclassTCPServer2publicstaticvoidmain(String[]args)throwsServerSocketss=newServerSocket(9000);//端Sockets=ss.accept();//連接客戶Threadt=newServerThread(s
}catch(Exceptione){}try}catch(IOExceptione){}}}} import importclassServerThreadextendsThread{//分配線程Sockets;publicServerThread(Sockets){}publicvoidrun(){try{OutputStreamos=s.getOutputStream();//在網(wǎng)絡中PrintWriterout=newPrintWriter(os);for(inti=1;i<=30;i++){out.println("o"+i);//通過網(wǎng)絡發(fā)消息給客端
publicclassTCPpublicstaticvoidmain(String[]args)throws的ipInputStreamis=s.getInputStream();//獲得輸入流,InputStreamReaderir=newInputStreamReader(is);BufferedReaderin=newBufferedReader(ir);for(inti=1;i<=30;i++){}}},import.*;publicclassUDP{publicstaticvoidmain(String[]args)throwsDatagramSocketds=newDatagramSocket();郵Stringtext1="Iambyte[]bs1=text1.getBytes();//轉(zhuǎn)換成字節(jié)用來傳輸DatagramPacketletter1=newDatagramPacket(DatagramPacketletter2=newnew
bytedata=letter2.getData();//得到信的內(nèi)容intoffset=letter2.getOffset();int字符串}}importpublicclassUDPServerpublicstaticvoidmain(String[]args)throwswhile(true){byte[]bs1=newDatagramPacketletter1newDatagramPacket(bs1,0,bs1.length);//制作空信封用來收信InetAddressaddress=
intport=Stringstr="2008年舉行奧運會";byte[]bs2=str.getBytes();DatagramPacketletter2=newDatagramPacket(bs2,0,bs2.length,addressportip和port}}DatagramSocket,相當是郵箱有send(發(fā)消息)receive(收消息)DatagramPacket,相當是信,里面有ip1,m(Strings),3,枚舉enumUNIX("Luxw")publicvoidCOREJAVApublicvoidPublicvoid}classtest{Course[]cs=Course.values();for(Coursec:cs注意的問題:124,泛型List<Integer>l=newArrayList<Integer>();Map<Integer,String>m=new泛型方法:publicstaticTvoidcopy(List<Tl,Tosfor(T<TextendsInteger><?Extends反射①Classc1=ArrayList.class;②Objectl=newArrayList();Class③StringclassName="java.util.ArrayListClassc3=Class.forName(className);Class[]cs=c1.getInterfaces();//獲得接口ClassFieldfs=c.getDeclaredFieldsMethodms=c.getDeclaredMethods();//獲得本類所有公私有的方法,getMethods()獲得父類所有公開的方法Constructor[]cons=c.getDeclaredConstructors();//獲得構造方法的數(shù)組Objecto2=c.newInstancem1.invoke(o2);//調(diào)用m1Methodm2=c.getDeclaredMethod("study",String.class);m2.invoke(o2,"CoreJavam2單值:@注釋名(屬性名=屬性值 importjava.lang.annotation.*;public@interfaceMyType{StringauthorName();StringlastModified();StringbugFixes()default}
importjava.lang.annotation.*;publicclassTest1/**CreatesanewinstanceofTest1*/publicTest1(){}publicvoid}這里我定義了一個的注釋類,方式和接口差不多,只不過在interface前面多了一個@符號.@Retention(Retention.RUNTIME)這句表示它的保存范圍是到RUNTIME,也就是運行時,這樣在類運行的時候,我們也可以@Target(),它可以用在哪里地方,我這里定義的是它可以用在類的定義和方法的定義上 CPU、公司與員工的關系等;java出來的,只能類之間的邏輯關系contains-a數(shù),以及靜態(tài)方法的使用。在AB類的classBbCc=newCPublicA(BPublicvoidect(Ddd.m}classD{void在UML1,關系數(shù)據(jù)庫的三要素:1實 屬 》關 》外2,sqlplushelp可以看到所有令,不會令用:help命令>;例如:help 退出desc表 顯示表的結(jié)show show show 68 打開默認編輯器,Windows系統(tǒng)中默認是edit文件名 中指定的.sql文件調(diào)入編輯器clear SQLPLUSORACLE的運行圖(見筆記本selectcolumnname(列名selectselectselectid,last_name"Name",salary*12selectlast_name||' m為null時,nvl(comm,0)等于0;否則等于selectselectdistinctfrom預定義:作用的時間 所有的叫這個列名的列都生 當次生 當前sql的當前orderselectid,last_name,dept_idfroms_emporderbydept_id;orderbytitle;orderby先按名字升序排,名字相同再按dept_id“,”隔開;orderbylast_name
orderbydept_id,last_namedesc;dept_id升序,last_name降序在oracleorderby2;<=======>orderbylast_nameselect*里面的第二列selectid,last_namenamefroms_emporderby orderselectid,last_name,dept_id,start_datefroms_empwhere wherewheredept_idbetween41andwheredept_idbetween45and41;//小的,如果反了wheredept_idwhere wherecommission_pctiswherelast_namelike'S%'; oracle: _(下劃線查出last_name是以wherelast_namelike >wherelast_namelike'S\_%'escape'\'; //escape表示非!=notbetweenandnotinnotisnotand>wheredept_id=41andid>5;wheredept_id=41orid>5; >whereanddept_id=41or >whereand(dept_id=41ordept_id=42>whereordept_id=42andsalary>1000;whereSingleRownvl('o','world')>' >selectid,last_name,dept_idfroms_empwhereselectid,concat(last_name,first_name),dept_idfroms_emp; -->concat(concat(last_name,first_name),title);selectsubstr('String',-4,3)fromdual;dual:dummytable,為了select的完整selectid,last_name,dept_idfroms_empwherelast_namelike'S%';wheresubstr(last_name,1,1)='S';number:roundtruncselectsysdatefrom標準的日期格式年: twothousandand月: 日: 星期: 小時: am分鐘:mi 秒:ssselectid,last_name,dept_id,to_char(start_date,'yyyy-month-dd,hh24:mi:ss')"sdate"froms_empwhereupdate whereupdatesetstart_date=to_date('19-jun-90','dd-mon-yy')wherelast_name='S_abc';froms_emp;select
from等值連接(內(nèi)連接)條件: selects_emplast_name,s_emp.dept_id,fromwhereoracle:selecte.last_name,e.dept_id,d.id,froms_empe,s_deptdwheresql:selecte.last_name,e.dept_id,d.id,froms_empeinnerjoins_deptdonwhereselectelast_name,e.dept_id,d.id,froms_empejoins_deptdonwhere打印出員工的名字,所在部門的名字,字froms_empe,s_deptd,s_regionrwheree.dept_id=d.idandfroms_empejoins_deptdone.dept_id=didjoins_regionron打印所有的客戶名字,oracle:selectcname,c.sales_rep_id,e.id,e.last_namefroms_customerc,s_empewherecsales_rep_id=e.id(+);sql:selectcfroms_customercleftouterjoins_empeonc.sales_rep_id=e.id;select,c.sales_rep_id,e.id,e.last_namefroms_customerc,s_empewheree.id(+)=c.sales_rep_id;,csales_rep_id,e.id,e.last_namefroms_emperightjoins_customercon全外:都不補空值,c.sales_rep_id,e.id,e.last_namefroms_customercfullouterjoins_empeon自連接:本表的fk打印出員工的和他的經(jīng)理的名字selecte.last_name,m.last_namefroms_empe,s_empmwheree.manager_id=m.id;打印出所有員工的和他的經(jīng)理的名selecte.last_name,m.last_namefroms_empe,s_empmwhere非等值連接(t1和t2沒有pk和fk,還想連接t1,t2)table1:id table2: 請寫出一句sql語句,ABACADBCBDselectt1.value,t2.valuefromtable1t1,table2t2wheret1.id<t2id;請寫出一段sql語句,ABACADBABCBDCACBCDDADBselectt1.value,t2.valuefromtable1t1,table2t2wheret1.id!=t2.id;連接(不給連接條件請寫出一段sql語句,AAABACADBABBBCBDCACBCCCDDADBselectt1.value,t2.valuefromtable1t1,table2請打印出和Smith在同一部門的員工的,selectdept_idfroms_empwhere >selectlast_name,dept_id,start_datefroms_empwhereselectlast_name,dept_id,start_datefroms_empwheredept_id=(selectdept_idfroms_empwhereselect
froms_empwheredept_id=(selectlast_namefroms_empwhereselectlast_name,dept_id,start_datefroms_empwheredept_id=(selectsalaryfromwhereselectlast_name,dept_id,start_datefroms_empwheredept_id=(selectidfroms_regionwhereid=1);selectlast_name,dept_id,start_datefroms_empwhereselectdept_id,last_namefroms_empwhereselectlast_name,dept_id,start_datefroms_empwheredept_id=(selectdept_idfroms_empwherelast_name='Smith'orid=3); selectlast_name,dept_id,start_datefroms_empwheredept_idin(selectfromwherelast_name='Smith'orid=3); csql 可以(selectorderbygroup 可以(where用法一樣selectfrom(selecte.last_name,e.dept_id,d.id,froms_empe,s_deptdwheree.dept_id=d.id)SQL-1.pdfselect*from(selectlast_name,dept_id,start_datefroms_emporderby)whererownumbetween1and不提供,查詢時會默認的提供,只有在select中顯示的寫
desc分頁:selectlast_namedept_id,start_dateselectelast_name,e.dept_id,estart_date,rownumrownumidselectlast_name,dept_id,start_datefroms_emporderby)whererownumbetween1and)地址
select*from
wherea.rownumidbetween6andselectavg(salary),max(salary)froms_emp;selectcount(*)froms_emp;selectcount(id)froms_emp;selectcount(commission_pct)froms_emp;統(tǒng)計commission_pct列不為空的值的個數(shù);number:maxminsumavgcount maxmincount maxminselectdept_id,avg(salary),count(*)froms_empgroupby groupby orderbyselectdept_id,avg(salary)fromwheredept_idin(41,50)groupbydept_id;select里面出現(xiàn)組函數(shù)和單獨的列并存時,要求必須寫groupby子句,groupby里面selectdept_id,avg(salary)froms_empgroupbydept_id;froms_empgroupby如果groupby里出現(xiàn)多列,那么按照列的聯(lián)合分組,selectlast_name,first_name,avg(salary)froms_empgroupby請打印出工資低于公司平均工資的人的,selectlast_name,dept_id,start_datefroms_empwheresalary<(selectavg(salary)froms_emp只要寫groupby,selectgroupbyselectdept_id,last_name,start_datefroms_empgroupbywhere執(zhí)行時數(shù)據(jù)處于獨立狀態(tài),里面不能對組函數(shù)having一定出現(xiàn)groupby后面,此時數(shù)據(jù)處于組的狀態(tài)所以having只能對組函數(shù)或者組的共性進行條件判斷1500id
selectdept_id,avg(salary)froms_empwheregroupby selectdept_id,avg(salary)froms_empgroupbyhavingselectdept_id,avg(salary)froms_empgroupby >having >整個組selectdept_id,avg(salary)froms_empgroupbydept_idhavingdept_id>40;selectdept_id,avg(salary)froms_empwheredept_id>40groupbydept_idorderby列名,2,別名原來對orderby里的列沒有任何限制,select groupbyhavingorder在orderbygroupby,那么orderby里面eg:selectdept_id,avg(salary)froms_empwheredept_id>40groupbydept_idhavingorderby orderby orderby 作業(yè):請打印出工資低于本部門平均工資的員工的,selectdept_id,avg(salary)asalaryfroms_empgroupby selecte.last_name,e.dept_id,e.start_datefroms_empe,a1wheree.dept_id=a1.dept_idande.salary<a1.asalay;>selecte.last_name,e.dept_id,e.start_datefroms_empe,(selectdept_id,avg(salary)froms_empgroupbydept_id)whereande.salary<a1.asalary; Defineselectlast_name,dept_id,start_datefroms_empwheredept_id=&did;wherelast_name=&name;wherelast_name='&name';definevarname=valuedefinedid=41簡單,定義出來的變量都是char不能寫進sql查詢一個數(shù)是否已經(jīng)預定義用define取消用undefineacceptvarnametypeprompt' 'hide 為的是永久性的給varname一個值acceptdidnumberprompt'pleaseinputdept_idvalue:'hideacceptdidprompt'pleaseinputdept_idvalue:' >char比define復雜,可以指定變量的類型,可以寫進
在bash下:1)進入setenvEDITORVIsqlplus進入SQL的用戶名和寫一個要保存進文件令save 進入vi編輯命令在最上面加(acceptvarnametypeprompt' 'hide)語句;startsqlfilesql就可以運行剛才保存令了/*selecte.last_namefroms_empewhereacceptdeptidnumberprompt'pleaseinputdept_idvalue:'define undefinevarname groupbyorderbyselect&col1,&col2,&col3from&tab1whereCreatedb1)table>store > 2createtableluxw1(idnamevarchar2(15),registdatedatecreatetableluxw2(idnumber(7),filmblobcreatetable(idnumber(7)constraintyesq5_id_pkprimarykey,namevarchar2(15)constraintyesq5_name_nnnotnull,agenumber(3)constraintyesq5_age_ck_agecheck(age>18andage<60),varchar2(2)default'M'constraintyesq5__ck_ in('F','M')),birthdaydatedefaultphonevarchar2(15)constraintyesq5_phone_ukunique,idchar(18)constraintyesq5_ id_nnnotnullconstraint id_ukclass_idnumber(7)constraintyesq5_class_id_fkreferencess_dept(id)ondeletecascadecreatetableyesq5(idnumber(7),namevarchar2(15)constraintyesq5_name_nnnotnull,agenumber(3),varchar2(2)default'M',birthdaydatedefaultsysdate,
phoneidchar(18)constraintyesq5_ id_nnnotnull,class_idnumber(7),constraintyesq5_id_pkprimaryconstraintyesq5_age_ckcheck(age>18andage<60),constraintyesq5_ _ckcheck( in('M','F')),constraintyesq5_phone_ukunique(phone),constraintyesq5_ id_ukunique( referencess_dept(id)ondeletecascade五種約束:constraintnotprimaryforeignkeyreferences(ondelete兩種位置定義約束 區(qū)別notnulleg:primaryondeletecascade:該句在子表最后時,說明他的數(shù)據(jù)隨外鍵的而寫了ondeletesql:deletefromfathertablewhere沒寫ondeletesql:deletefromsontableswherefk=1;deletefromfathertablewhereid=1;3createtableluxw04selectfromwheredept_idcreatetableasalaryselectdept_id,avg(salary)froms_empgroupby主sql規(guī)定了列名,列的個數(shù),失createtableasalaryselectdept_id,avg(salary)froms_empgroupbycreatetableluxw06(idprimarykey,dept_idreferencess_dept(id),start_datedefaultsysdate)selectid,last_name,dept_id,start_datefroms_empwheredept_id
insertintoluxw8*2)選擇插入,列的個數(shù),類型,順序必須和指定的相等insertintoluxw8(id,name,)insertintoluxw8(name,id)insertintoluxw8(name,) >error無PK3)insertintoluxw8(id,name) 不能同時添加兩個insertintoluxw8(id,name)子查詢提供值,insertintoluxw8(id,name)selectid,last_namefromwheredept_id=45;updateluxw8setname='sun'whereid=1;updatesetname='fengwang',='m',registdate=sysdatewhereid=2;約束和數(shù)據(jù)的關系誰先進入表,表:dbserver
deletefromwhereidbetween2and5;,由db,user
user:all:dictionary:保存了所有數(shù)據(jù)字典的名字,查出yesq5表 id列上的唯一性約束的名字fromuser_constraintscons,user_cons_columnscolswherecons.constraint_name=cols.constraint_nameandand *1)全表插入,值的順序,類型,insertintoluxw8insertintoluxw8insertinto
5000塊,不能多也不能少;I:性,兩個SQL語句的操作只操作自己的,不能影響D:持久性commitrollback,讓數(shù)據(jù)持久一組不可再分的sql命令組成的集合, insertupdatedeleteupdatedeletecommit;create>autocommit;create>autocommit;insertupdatedeletealtertableluxw8add(agenumber(3)default18刪除一列(在oracle8i)altertableluxw8dropaltertableluxw8dropcolumn更改列名(在oracle9i)altertableluxw8renamecolumnoldnametoaltertableluxw8modify(namevarchar2(20)defaultuser如果表里沒有數(shù)據(jù),如果表里有數(shù)據(jù),altertableluxw8 notnull);非空約束只能用modify聯(lián)合鍵約束加的時候只能用addaltertableaddunique( altertableluxw8addconstraint id_uk APKBFKBPKAFK只能先讓一個表(A表)FKadd以表結(jié)構向該表(A表)添加FK,如下:createtable(idnumber(7)primarykey,namevarchar2(15)notnull,pricenumber,b_idcreatetable(idnumber(7)primaryuseridnumber(7)referencesusers(id),bpricenumber,product_idnumber(7)references
altertabledisableconstraintluxw8_id_pk8)altertableenableconstraintluxw8_ altertableluxw8enableconstraintrenameoldtablenametonewtablename truncatetabletablename;截取表droptabletablenamecascade刪除父表,createsequenceincrementby //startwith //100maxvalue99999 //createsequencesql_seqincrementby1如果有cache取出cache下一個可用的值insertintosql_users(id,name,passwd,phone,) selectseq2.nextvalfromdual;selectseq1.currvalfromselectlast_numberfromwherealtertableaddforeignkey(b_id)referencesaltertabledropconstraintluxw8_ id_nn;altertableluxw8dropprimarykeyaltertabledisableconstraint
altersequenceincrement dropsequenceinsertinsertinsertcreateviewasselectid,last_name,dept_idfroms_emp;select*fromselect語句的復雜度DML(增刪改),只能查詢簡單視圖createviewemp_v3selectdept_id,avg(salary)froms_empgroupbyupdateemp_v3where createviewemp_v4selectid,last_name,dept_idfroms_empwhere
withcheckoptionconstraintemp_v4_ck(emp_v4)createuserusernameidentifiedbypassworddefaulttablespaceuserstemprorytablespacealteruserusernameidentifiedbyne grantresource,connecttousername;grantcreateviewtocksd0804;revokecreateviewfromcksd0804;crud(增刪改查createtable(建表)4)create JDBCtrycatchsocketencapsulationinheritance collectioncreatetablespacesidatafile'/u/oradata/en73/si.dat'size70M defaultstorage(pctincrease2);createuserzhangwfidentifiedbypwddefaulttablespacesitemporarytablespacegrantdba,connect,resource,createtabletocreatetablesi.tbname(col1int,col2修改:alteruserzhangwfidentified JDBCpublicvoid}publicvoidconnectDB2(int}netUnix,Linux:echo$ORACLE_SID UnixLinux下查ORACLEwindows:net 在windows下查看連接的哪個classOracleDriverimplementsDriver{//OracleDriver類的大OracleDriverd=newOracleDriver();}}classDriverManager{ //DriverManager類的大體實現(xiàn)privatestaticList<Driver>dri=newArrayList<Driver>();publicstaticvoidaddDriver(Driverd){}publicstaticConnectiongetConnection(){for(Driverd:dri){if(d!=null)return}}booleanexecute(sql)>allboolean有沒有ResultSet返回 ResultSet >int >insertupdateClassnot >Nosuitable Socket200SQLException>sqltable:jdbc_userssequence:jdbc_users_seqStringStrings=str.split("=");Propertiesinfo=new
(3/ > >Propertiesextendsperties");//為虛擬路徑,第一個/代表classpath //Students=new第一次加載類時,JVMsearchfile 通過classpath >readStudent.class類文Class >獲得Student類詳細信息(類對象Students2=new.class>jdbc.jar 分散代碼集中管理(封裝變化的內(nèi)容寫進文件(配置文件配置文件一般格試:config.xml和.properties(是一種特殊的文本文件 (Hashtable的子類Class.getResourceAsStream(jdbc1)Stringurl="jdbc:oracle:thin:@00:1521:oradb10g";Connectionconn=DriverManager.getConnection(url,"用戶密創(chuàng)建執(zhí)行sql, ResultSetrs=stm.executeQuery(sql); }6)釋放資源if(rs!=null)try{rs.close();}catch(Exceptionee){}if(stm!=null)try{stm.close();}catch(Exceptionee){}if(conn!=null)try{conn.close();}catch(ExceptionDriver的三種方式ClassDriverd=neworacle.jdbc.driver.OracleDriver();ResultSet eg:getString("name");開始時指針指向第一行的上一行,最后指針指向最后一行execute stm.executeQuery(String 結(jié)果集,sql是查詢語句stm.executeUpdate(sql)>int(dbrow)(int,>deleteupdateStatement和Statement是逐條發(fā)送語句(可以執(zhí)行多條語句),PreparedStatement是先sql再一起發(fā)送(在sql需要設值String"insertintojdbc_users(id,name)values(users_seq.nextval,?)";JdbcUtil分散代碼集中管理(封裝 Propertiesextendsproperties文件,load(InputStreamis)4)在程序加載時讀一次文件,靜態(tài)代碼塊,利用jvm的類加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代簡約風格與科技公司辦公環(huán)境的融合
- 現(xiàn)代物流技術與醫(yī)療物資保障體系
- 溝通技巧在教育工作中的創(chuàng)新應用
- 環(huán)保技術在現(xiàn)代城市建設中的應用
- 物流信息技術在商業(yè)領域的應用
- Unit 3 Where did you go?PartB (說課稿)-2023-2024學年人教PEP版英語六年級下冊
- 2《燭之武退秦師》說課稿-2024-2025學年高一語文下學期同步說課稿(統(tǒng)編版必修下冊)
- 2024新教材高中地理 第四章 區(qū)域發(fā)展戰(zhàn)略 第二節(jié) 我國區(qū)域發(fā)展戰(zhàn)略說課稿 湘教版必修第二冊
- Unit3 Amazing animals(說課稿)-2024-2025學年人教PEP版(2024)英語三年級上冊001
- 2024年高中化學 第三章 晶體結(jié)構與性質(zhì) 章末整合說課稿 新人教版選修3
- 2025-2030年中國清真食品行業(yè)運行狀況及投資發(fā)展前景預測報告
- 廣東省茂名市電白區(qū)2024-2025學年七年級上學期期末質(zhì)量監(jiān)測生物學試卷(含答案)
- 《教育強國建設規(guī)劃綱要(2024-2035年)》全文
- 山東省濱州市2024-2025學年高二上學期期末地理試題( 含答案)
- 2025年河南洛陽市孟津區(qū)引進研究生學歷人才50人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年度軍人軍事秘密保護保密協(xié)議與信息安全風險評估合同3篇
- 蛋雞生產(chǎn)飼養(yǎng)養(yǎng)殖培訓課件
- 數(shù)字化轉(zhuǎn)型中的職業(yè)能力重構
- 運用PDCA降低住院患者跌倒-墜床發(fā)生率
- 臨床提高膿毒性休克患者1h集束化措施落實率PDCA品管圈
- 小學生品德發(fā)展水平指標評價體系(小學)
評論
0/150
提交評論