面試幫助題目所有課程筆記_第1頁(yè)
面試幫助題目所有課程筆記_第2頁(yè)
面試幫助題目所有課程筆記_第3頁(yè)
面試幫助題目所有課程筆記_第4頁(yè)
面試幫助題目所有課程筆記_第5頁(yè)
已閱讀5頁(yè),還剩168頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Linux/Unixinode:編號(hào)(地址lsk:lsli:顯示當(dāng)前文件的inode last|greppts/13表示查看pts/13find.-mtime-10-print-user0:表示UID0size+400400*0.5K,-400-atime:表示最后一次時(shí)間后面,表示對(duì)|前面的輸出做查找。如:catetc/passwd|gredliu|sort前臺(tái)就是終端,就是服務(wù)器man對(duì)你熟悉或不熟悉令提供幫助解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改變當(dāng) pwd查看當(dāng)前所 完整路eg:pwd//查看當(dāng)前所在 cdnetseek//進(jìn)入netseek這個(gè)cd//退出當(dāng)前件內(nèi)容一直打印出來(lái),而moreegcat>1.c1.ccat1.c或more1.cgcc-o11.c1.cexeod命令權(quán)限修改用法:od一位8進(jìn)制eg:odu+xfilenmame//只想給自己運(yùn)行,別人只能//ug表示文件文件所在組。o表示其他人;r表可讀,w表可寫,x表可以運(yùn)行odg+xfilenameclear:清屏,相當(dāng)與DOScls;date

mount用法:mounteg:mountcdmnt/cdromsu在不退出登陸的情況下,切換到另外一個(gè)人的sulrooteg:sulnetseeknetseek 以及幫助文檔所 (類似//id:打印出自己的UID以及GID。(UID:用戶唯一標(biāo)識(shí)。GID:用戶組唯一標(biāo)識(shí)每一個(gè)用戶只能有一個(gè)唯一的UID和GID)egwhoamiwhereisbin顯示bin所在 ,將顯示為whichbin eg:grepsuccess* 面含有success字符的文件killdesteg;pspasswdhistory用戶用過eg:history//可以顯示用戶過去使用!!執(zhí)行最近一次egmkdirnetseek//創(chuàng)建netseektareg:tar-zxvfnmap-3.45.tgz//將這個(gè)解壓到nmap-這 fingeregfingerfingerrootrootftp上傳ftp1921681用戶:xiangfPwdPutmput上傳多個(gè)Getmget多個(gè)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運(yùn)行。Class文–

CoreJava2,classjava執(zhí)行效率低。可移植性好。---->對(duì)硬件要求高。(源文件)--->(編譯器javac.exe)--->中間碼--->(java.exe)--->機(jī)器指令(編譯)(解釋.javaclass JAVA_HOME:指定JDK的安裝 CLASSPATH:指定(jar文件)中間字節(jié)碼文件在什么地方。由多個(gè) 讓虛擬機(jī)可以找到中間字節(jié)碼文件。就是可以找到.class文件服務(wù)器上csh:.cshrc1#.bash_profile3#Getthealiasesand4if[-f~/.bashrc];5.6fi//if8Userspecificenvironmentandstartupprograms//#代表注釋。9 JDKJDKJRE{JVM(硬件)+編譯器()10 //系統(tǒng)定義的 啟動(dòng)命 13exportPATHCLASSPATH Sourcebash_profile..bash_profile。只能經(jīng)過這條命令之后,才會(huì)讓修改的變量生效 javaversion)pbulicclass ,程序從main函數(shù)的第一條語(yǔ)句開始執(zhí)行,執(zhí)行到main函數(shù)結(jié)束為止publicstaticvoidmain(String} ,然后進(jìn)行以下步驟運(yùn)行編譯:javac命令。如:javac-d.oWorld.java-->生成oWorld.class類文件啟動(dòng)虛擬機(jī)(java),運(yùn)行類文件。如:javacom.work.core.oWorld后面的.class省略,無(wú)需寫成javacom.work.core.1,packagecom.kettas.corejava;//包 中 下運(yùn)行java命令例如:com(s界面里運(yùn)行)javacom.kettas.corejava. 已經(jīng)被配置到CLASSPATH中的話可以在任 中啟動(dòng)java命令2,javac-d. 運(yùn)行命令javaxxxx類的名 (一)語(yǔ)言:適合于internet 加密的源如果不一樣了,經(jīng)過Hash(二)如:學(xué)生,,1,變量:給變量起名,是給變量選擇一種數(shù)據(jù)類型。如:int簡(jiǎn)單數(shù)據(jù)類型(原始數(shù)據(jù)類型 整數(shù):byte(1字節(jié))-short(2字節(jié))-int(在內(nèi)存中占4個(gè)字節(jié))-long(8個(gè)字節(jié))小數(shù):float(4個(gè)字節(jié),單精度浮點(diǎn)型)-double(8個(gè)字節(jié),雙精度浮點(diǎn)型)字符:char(一個(gè)字符=2charcc布爾:boolean(true,false)00StringStrings=newString(“abc”);1,在字符串池中創(chuàng)建一個(gè)對(duì)象(此對(duì)象是不能重復(fù)的)2,new出一個(gè)對(duì)象。Java運(yùn)行環(huán)境有一個(gè)字符串池,由String類。執(zhí)行語(yǔ)句Strings="abc"時(shí),首先查看字符串池中是否存在字符串"abc",如果存在則直接將"abc"賦給s,如果不存在則先在字符串池中新建一個(gè)字符串"abc",然后再將其賦給s。執(zhí)行語(yǔ)句Strings=newString("abc")時(shí),不管字符串池中是否存在字符串"abc",直接新建一個(gè)字符串"abc"(注意:新建的字符串"abc"不是在字符串池中),s。2,初始化(局部變量而言,必須初始化才能使用 如 如:intage=1;longl=10;BigDecimaldoubleJava1,只能是字母,數(shù)字,_,$2 標(biāo)識(shí)符的名字應(yīng)當(dāng)具有含義, age,簡(jiǎn)單表達(dá)式 前++:++a;a+1,再返回a+1后++:a++;先返回a的值,然后對(duì)a1。 -->(booleanexpress)?AB;如:char?前面的布爾表達(dá)式如果為真就執(zhí)行A,B .....jarcvfabc.jar解壓命令:jarxvfabc.jarabc.jar 下的東打包一般從頂層包開始打。如:[java@localhostyesq]$jarcvffirst.jar//當(dāng) (yesq)下的com文件夾開始1,獲得別人提供的jar2,將jarCLASSPATH3,使用import語(yǔ)句,將其他包的內(nèi)容導(dǎo)入到本文件中,如:引入 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申請(qǐng)內(nèi)存空間如:array=new只要有new在,就要為變量分配內(nèi)存。 //表示數(shù)組array的長(zhǎng)度arrayarray二,數(shù)組的顯示初始化:int三,intarray=newpublicstaticint[]expand(int[]a){int[]b=newint[a.length*2];/*for(inti=0;i<a.length;i++){}//從a0b0a.length(areturnb;//返回?cái)U(kuò)展后的數(shù)組b。bb}二維數(shù)組(數(shù)組的數(shù)組)-->:三種方二維數(shù)組的第二個(gè)[]在時(shí)可以留空,如:int[][]array=new一,:int[][]array=newint[3][4];//一個(gè)三行四列的整型二維數(shù)組。二,int[][]array={{1,2,3},{2,3,4},{2,5,7},{2,3,6}};三,intarray=new有什么:屬 》實(shí)例變做什么:方 》函2,編寫出來(lái)的代碼比較合理。如:可擴(kuò)展性,可性,可讀性等等(存在就是合理貼近生活3,4,5,可復(fù)用性 不要重造面向?qū)ο螅簩?duì)象所共有的功能和屬性進(jìn)行抽像,成為了類??陀^事物在人腦中的反映。在程序里類是創(chuàng)建對(duì)象的模板 publicclasspublicstaticvoidmain(String[]//新建對(duì)象stu;stu存的是新建對(duì)象stu的地址。stu的專業(yè)術(shù)語(yǔ):/對(duì)象變量/變量/實(shí)例變Studentstu=new stunameclass //用 類型,如:Student//實(shí)例變量(成員變量)--->屬性??赏ㄟ^新建對(duì)象的來(lái)類的實(shí)例變量。如,;Stringname;intage; } 方法名(參數(shù)列表)異常怎么做:方法的實(shí)現(xiàn){******}修飾符(如:public)返回類型(如:int)(參數(shù)表--形參)publicvoideat(String }好處:對(duì)使用者因?yàn)閰?shù)不同造成方法間的差異。找方法時(shí)如果沒有合適的,采取自上擴(kuò)展原則。3,子類方法的權(quán)限不能更嚴(yán)格,只能等于或更加寬松如果程序沒有顯示的提供構(gòu)造方法,JVM,public類型的屬性賦值就是用new:Studentstu=newStudent();如:Studentstu=newStudent();2,初始化實(shí)例變量;沒顯示值的話就用默認(rèn)值1,在普通方法里,指代當(dāng)前對(duì)象(哪個(gè)對(duì)象調(diào)用該方法,this就指向該對(duì)象(和this2,super父類的變量和方法,及super代表父類的對(duì)象3,基本類型數(shù)據(jù)傳遞的是本身的值,類型數(shù)據(jù)傳遞的是xx(Animalanimal)(地址,對(duì)象變量本身的值)資源就能達(dá)到他的目的。(封裝是把過程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的只能通過已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過一個(gè)受保護(hù)的接口其他對(duì)象。)2.對(duì)外提供一致的公共的接口――間接隱藏?cái)?shù) 3.可(可以范圍(可修飾)下面的類(指外部類1,屬性:隱藏所有屬性,用private。隱藏后屬性只能在類以內(nèi)。程序可以根據(jù)需要提供get和ObjectObject且在創(chuàng)建該子類對(duì)象的時(shí)候初始化屬性(包括父類所有屬性和該子類所有屬性對(duì)于父類里的屬性和方法,子類有權(quán)的,我們稱為可以繼承用new,JVM:Dogd=newDog();為dclassDogextends執(zhí)行順序:子類(2)--->父類(2-->3-->4-->5)---> (創(chuàng)建是先執(zhí)行父類的構(gòu)造方法,在執(zhí)行子類的構(gòu)造方法,時(shí)先子類自己的特殊屬性和方法再父類的屬性和方法)用super指代的是在創(chuàng)建子類對(duì)象過程中,由JVM:super.方法名()/屬性用super:super(形參);1,在子類的構(gòu)造方法里如果沒有指明調(diào)用哪一個(gè)父類的構(gòu)造方法(super(形參)語(yǔ)句JVM2,顯示的寫super,JVM3,有this用父類類型子類之間的差異所有的子類對(duì)象都可以當(dāng)父類對(duì)象來(lái)用,一個(gè)父類型的可能指向的是一個(gè)子類對(duì)象如:把狗(對(duì)象)看作動(dòng)物(類型。Animala=new 編譯看前面,運(yùn)行看后面(編譯時(shí)類型 (運(yùn)行時(shí)類型2,對(duì)一個(gè),只能調(diào)用編譯時(shí)類型里的已知方法instanceof類 //結(jié)果為boolean值Subsu=(Sub) Animala=newDog instanceof類 >ainstanceofAnimal> ainstanceofCat> ainstanceofDogEmployeee=neweinstanceof einstanceof >classsetget(設(shè)置和獲得屬性)業(yè)務(wù)方法(做什么}static:staticint類的所有對(duì)象共同擁有的一個(gè)屬性;可以用類名直接,又稱為類變量,(也就是會(huì)先執(zhí)行staticstatic,static:publicstaticvoid可以用類名直接去調(diào)用,不需要對(duì)象所以不能直接(在沒有對(duì)象的情況下)實(shí)例變量thissuper,類的所有對(duì)象共同擁有的一個(gè)方法;跟類創(chuàng)建了多少對(duì)象無(wú)關(guān)。(的是父類的靜態(tài)方法static:classstaticint }}靜態(tài)初始華塊:用staticJVM。類加載:JVMclasspath并讀進(jìn)JVMjvm二,final(最后的,最終的)final用于屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼finalfinalclass對(duì)虛擬機(jī)的正常運(yùn)行有重要作用的類通常用final修飾,如:String,System,Math...等類final方法:如:publicfinalvoidsleep(){} finalfinalstatic)int該變量是常量能被繼承( 常量final修飾類型數(shù)據(jù),指的是(地址)不能變, 里的數(shù)據(jù)不受限制實(shí)例變量 的同時(shí)或構(gòu)造方法里賦值靜態(tài)變量 的同時(shí)或在靜態(tài)代碼塊里賦值 class抽象類,不能創(chuàng)建對(duì)象(如一些父類),但是可以一個(gè)抽象類型的(可以父類類型子類對(duì)象,編譯時(shí)利用多態(tài)調(diào)用抽象方法。 void好處:允許方法的定義分開publicprotecteddefaultprivatestaticpublicprivatestaticpublicfinalpublicstatic不可以 finalvoid void void不能和final,private,static四,interface:interfaceintnum=3;voideat();}但可以一個(gè)接口類型的(m是接口類型實(shí)現(xiàn)類對(duì)象,如:Mm=newN();)就要實(shí)現(xiàn)接口里面所有的抽象方法,實(shí)現(xiàn)過程中注意權(quán)限用implements:classNimplementspublicvoid}接口里面的常量默認(rèn)都是publicstaticfinal的;接口里面的方法默認(rèn)都是public 接口本身支持多繼承,繼承了父接口里功能的定義,如,interfaceAextendsB,C,D{} 如:classAAextendsBBimplementsCC,DD,EE{}//AA,BB 如:蜘蛛俠,擁有人和蜘蛛的屬性,但主要類型是人,次要類型(接口)但沒有被實(shí)現(xiàn)),接口將標(biāo)準(zhǔn)的制定者,標(biāo)準(zhǔn)的實(shí)現(xiàn)者以及標(biāo)準(zhǔn)的使用者分離開,java接口可以不同實(shí)現(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自反性 對(duì)稱性:a.equals(b傳遞性 b.equals(c);--->則:a.equals(c);//為封裝類(Wrapper //Integer是類型 但I(xiàn)nteger------>Double 任何類型基本數(shù)據(jù)類型intdoubleintIntegerit=newInteger(i); int<---->Integer<---->String轉(zhuǎn)換時(shí)String類型必須為全數(shù)字字符串。如 ”;1,memberinner 能直接的什么:能外部類的所有靜態(tài)和非靜態(tài)的屬性或方法怎么創(chuàng)建對(duì)象:在外部類內(nèi)的方法內(nèi):Outer.Innerinner=newOuter().new在外部類外的類的方法內(nèi):Outer.Innerinner=newOuter().newInner在OutergetInner靜態(tài)內(nèi)部類能直接的什么:只能外部類的靜態(tài)屬性和方法怎么創(chuàng)建對(duì)象:在外部類內(nèi)的方法里:Outer.Innerinner=new Outer.Innerinner=new3,localinnerclass 1)定義的位置:方法里面的類,前面不能用public或static修飾。能直接的什么:能方法內(nèi)用final修飾的局部變量(不能與該類內(nèi)的變量名相同能外部類的所有靜態(tài)和非靜態(tài)的屬性或方法怎么創(chuàng)建對(duì)象:只能在方法內(nèi)創(chuàng)建對(duì)象,如:Innerinner=newInner4,annonymousinnerclass 如:Teachertc=newTeacher(){ publicvoidteach(){...} 或者一個(gè)類 除了沒有名字外,看內(nèi)部類所在的位置,他的定義和將和成員內(nèi)部類、靜態(tài)內(nèi)部類、局部?jī)?nèi)部類一樣。一般像局部?jī)?nèi)部類的定義和比較多。當(dāng)試圖創(chuàng)建接口或者抽象類對(duì)象的時(shí)候,用內(nèi)部類 作用:1,不破 權(quán)限的情況下,內(nèi)部類可以使用外部類的私有成員變量和方法2,將接口公開,將實(shí)現(xiàn)類(實(shí)現(xiàn)公開的接口)作成內(nèi)部類隱,強(qiáng)制要求使用者使用接口,強(qiáng)制降低偶合度 等 1)拋出異常(消極的處理如:publicvoidm1()throwsException{.}如:thrownewFileNotFoundException();方法覆蓋:名相同,參數(shù)相同,返回類型相同,權(quán)限不能更小,子類拋棄的異常不能比父類 一個(gè)trycatch;catchxxxxxxxxxx;(1)xxxxxxxxxx;(2)}catch(Exception1//當(dāng)trycatchxxxxxxxxx;}catch(Exception2e2){xxxxxxxxx;xxxxxxxxx;(5)}xxxxxxxxx;}執(zhí)行catch(5)執(zhí)行,最后再執(zhí)行(6),如果異常類型都不一致,將導(dǎo)至語(yǔ)法問題。如:classMyExceptionextendsException{publicMyException(Stringstr);}1、如果程序用了System.exit(0finally2、在程序returnfinallychecked處理方式二、用uncheckedException(runtime}catch(exception1e1){dosomething;}catch(exception2e2){dosomething;e1課外考題:12、final,finally,finalizefinal用于屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承finallyfinalize是Object類的一個(gè)方法,在收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋 Collection是一個(gè)接口:是以對(duì)象為單位來(lái)管理元素的?;静僮鳎篴ddremovesize,有兩個(gè)子接口:ListSet1,List接口:元素是有順序(下標(biāo)),可以重復(fù)。有點(diǎn)像數(shù)組。可以用迭代器(I List接口里本身有自己的方法,還有從父接口Collection里繼承的方法。remove(int)刪除某一位置的對(duì)象、add(int,Objectget(int)查詢某一位置上的元素。遍歷:迭代遍歷、forCollections.sort(list);引入listlist(如:Student)進(jìn)行排序時(shí),只要在讓對(duì)象(類)實(shí)現(xiàn)Comparable(compareTo()方法),在compareTo()方法里寫出進(jìn)行什么樣的方式排序,PublicintcompareTo(Objecto){WorkElseIf(this.age!=w.age){returnw.age-this.age;}else }然后在主函數(shù)里使用Collections.sort(list);,就對(duì)list而不用管Collections.sortCollections.sort()方法的實(shí)現(xiàn)體。排序規(guī)則:對(duì)象實(shí)現(xiàn)ComparablecompareTo()方法,Collections.sort(List);ArrayListListget(int)方法多時(shí),Vector集合也實(shí)現(xiàn)List(VectorLinkedListList用remove(int)、add(int,Object)方法多時(shí),classprivateLinkedListlist=newLinkedList();publicvoidpush(Objecto){}publicvoidpop(Objecto){2,Set接口:無(wú)順序,不可以重復(fù)(內(nèi)容不重復(fù),而非地址不重復(fù)。只能用迭代器(I Set接口里本身無(wú)方法,方法都是從父接口Collection里繼承的,HashSetSet底層是以數(shù)組實(shí)現(xiàn)的。HashSet每向HashSetHashSet集合類里add(o)方法,再調(diào)用對(duì)象ohashCode如果哈稀碼一樣,再調(diào)用對(duì)象oequals集合也可以構(gòu)造集合,如:List<Object>list=newArrayList<ObjectSet<Object>set=newHashSet<Object>(list);原來(lái)在listset Map:對(duì)應(yīng)一個(gè)鍵對(duì)象和一個(gè)值對(duì)象,可以根據(jù)key找value,基本操作:put()get()遍歷:鍵遍歷ketSet()返回鍵的集合(Set)(說(shuō)明mapset)值遍歷values()返回值的集合。HashMap類實(shí)現(xiàn)Map接口: Hashtable類實(shí)現(xiàn)Map接口:查詢慢,線程安全TreeMapMap:SortedMapItor實(shí)StaticvoidprintValue(Mapmap){Collectioncol=map.values();Itorit=col.itor();Object

StaticvoidprintValue(Map<IntegerProduct>map){Set<Integer>s=map.ketSet();For(Integer}注意:如果需要定位,就得用“普通”的for,在列表遍歷課外考題、CollectionCollectionsCollectionSet和CollectionsJPanel:面版,透明的。默認(rèn)布局是FlowLayout,一般放在窗口里FlowLayoutJTextField:單行文本框JTextArea:多行文本區(qū)4, 模型 三要素:對(duì)象 源, 對(duì)象 也是一個(gè)對(duì)象 源:發(fā) 的對(duì)象,也是報(bào) 的對(duì)象(點(diǎn)擊b1按鈕,那么b1按鈕就是源 的對(duì)象 發(fā)生時(shí),源就給所有的器發(fā)送一個(gè)對(duì)象, 器存在一個(gè)數(shù)組集合里(如ArrayList集合),由 源,就某種單獨(dú) 接口中的每一個(gè)方法,都應(yīng)以對(duì)應(yīng) 對(duì)象作為參數(shù)類型所謂 源 器發(fā) 對(duì)象,其實(shí)就 源以對(duì)象為參數(shù),調(diào)用器的方法 對(duì)象(EventObject)里的一個(gè)方法,用對(duì)象e調(diào)用(如:e.getSource(); 對(duì)象里的Treadt=newThread當(dāng)調(diào)用t.startCPUtThreadRunnable接口。在javasynchronized(o對(duì)o(o)o才能進(jìn)入對(duì)oosynchronized的同步方法,如:publicsynchronizedvoidfn(){}對(duì)該方法的當(dāng)前對(duì)象(this)加鎖;哪個(gè)線程能拿到在java在java線程t1(讓)owaitot1o會(huì)從ot2,t2當(dāng)一個(gè)現(xiàn)成對(duì)象調(diào)用yieldOS是“阻塞”狀態(tài)的特殊情況:這種認(rèn)識(shí)也是正確的,但是將“鎖池”和“等待池”單獨(dú)分離出來(lái)有利于對(duì)程序的理解1,初始狀態(tài),線程創(chuàng)建,線程對(duì)象調(diào)用start2,可運(yùn)行狀態(tài),也就是等待Cpu3,運(yùn)行狀態(tài),獲得了cpu4,阻塞狀態(tài),也就是讓出cpu線程休眠,線程對(duì)象調(diào)用sleep21join216,7,課外問題:71、簡(jiǎn)述synchronized和java.util.concurrent.locks.Lock主要相同點(diǎn):Lock能完成synchronized所實(shí)現(xiàn)的所有功能主要不同點(diǎn):Lock有比synchronizedsynchronized而Lockfinally從句中釋放。InputStream/OutputStream(1)FileInputStream/FileOutputStream文件字節(jié)流 DataInputStream/DataOutputStream讀寫8種基本類型和以UTF-8讀寫StringBufferedInputStream/BufferedOutputStream帶緩沖的輸入/出流PrintStream融合Data和Buffered,System.out所屬的類PipedRandomAccessFile隨機(jī)文件Reader/WriterFileReader/FileWriterFileInputStream/FileOutputStream文件流,InputStreamReader/OutputStreamWriter橋轉(zhuǎn)換將字節(jié)流轉(zhuǎn)成字符流在橋轉(zhuǎn)換的過程中,可以制定編方BufferedReader/PrintWriter有緩沖字符流轉(zhuǎn)換為字節(jié)流時(shí),指定編方式是在橋轉(zhuǎn)換時(shí)指定的。把對(duì)象放在流上傳輸只有實(shí)現(xiàn)了Serializable用transientTcpUDPTCP的過程相當(dāng)于打 UDP的過程相當(dāng)于寫信的過程。注意:socket是套接字,ip和port(端0~65535個(gè)端口,一個(gè)端口只能有一個(gè)進(jìn)程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)絡(luò)中PrintWriterout=newPrintWriter(os);for(inti=1;i<=30;i++){out.println("o"+i);//通過網(wǎng)絡(luò)發(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é)用來(lái)傳輸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);//制作空信封用來(lái)收信InetAddressaddress=

intport=Stringstr="2008年舉行奧運(yùn)會(huì)";byte[]bs2=str.getBytes();DatagramPacketletter2=newDatagramPacket(bs2,0,bs2.length,addressportip和port}}DatagramSocket,相當(dāng)是郵箱有send(發(fā)消息)receive(收消息)DatagramPacket,相當(dāng)是信,里面有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();//獲得構(gòu)造方法的數(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}這里我定義了一個(gè)的注釋類,方式和接口差不多,只不過在interface前面多了一個(gè)@符號(hào).@Retention(Retention.RUNTIME)這句表示它的保存范圍是到RUNTIME,也就是運(yùn)行時(shí),這樣在類運(yùn)行的時(shí)候,我們也可以@Target(),它可以用在哪里地方,我這里定義的是它可以用在類的定義和方法的定義上 CPU、公司與員工的關(guān)系等;java出來(lái)的,只能類之間的邏輯關(guān)系contains-a數(shù),以及靜態(tài)方法的使用。在AB類的classBbCc=newCPublicA(BPublicvoidect(Ddd.m}classD{void在UML1,關(guān)系數(shù)據(jù)庫(kù)的三要素:1實(shí) 屬 》關(guān) 》外2,sqlplushelp可以看到所有令,不會(huì)令用:help命令>;例如:help 退出desc表 顯示表的結(jié)show show show 68 打開默認(rèn)編輯器,Windows系統(tǒng)中默認(rèn)是edit文件名 中指定的.sql文件調(diào)入編輯器clear SQLPLUSORACLE的運(yùn)行圖(見筆記本selectcolumnname(列名selectselectselectid,last_name"Name",salary*12selectlast_name||' m為null時(shí),nvl(comm,0)等于0;否則等于selectselectdistinctfrom預(yù)定義:作用的時(shí)間 所有的叫這個(gè)列名的列都生 當(dāng)次生 當(dāng)前sql的當(dāng)前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標(biāo)準(zhǔn)的日期格式年: twothousandand月: 日: 星期: 小時(shí): 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全外:都不補(bǔ)空值,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: 請(qǐng)寫出一句sql語(yǔ)句,ABACADBCBDselectt1.value,t2.valuefromtable1t1,table2t2wheret1.id<t2id;請(qǐng)寫出一段sql語(yǔ)句,ABACADBABCBDCACBCDDADBselectt1.value,t2.valuefromtable1t1,table2t2wheret1.id!=t2.id;連接(不給連接條件請(qǐng)寫出一段sql語(yǔ)句,AAABACADBABBBCBDCACBCCCDDADBselectt1.value,t2.valuefromtable1t1,table2請(qǐng)打印出和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不提供,查詢時(shí)會(huì)默認(rèn)的提供,只有在select中顯示的寫

desc分頁(yè):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)計(jì)commission_pct列不為空的值的個(gè)數(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ù)和單獨(dú)的列并存時(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請(qǐng)打印出工資低于公司平均工資的人的,selectlast_name,dept_id,start_datefroms_empwheresalary<(selectavg(salary)froms_emp只要寫groupby,selectgroupbyselectdept_id,last_name,start_datefroms_empgroupbywhere執(zhí)行時(shí)數(shù)據(jù)處于獨(dú)立狀態(tài),里面不能對(duì)組函數(shù)having一定出現(xiàn)groupby后面,此時(shí)數(shù)據(jù)處于組的狀態(tài)所以having只能對(duì)組函數(shù)或者組的共性進(jìn)行條件判斷1500id

selectdept_id,avg(salary)froms_empwheregroupby selectdept_id,avg(salary)froms_empgroupbyhavingselectdept_id,avg(salary)froms_empgroupby >having >整個(gè)組selectdept_id,avg(salary)froms_empgroupbydept_idhavingdept_id>40;selectdept_id,avg(salary)froms_empwheredept_id>40groupbydept_idorderby列名,2,別名原來(lái)對(duì)orderby里的列沒有任何限制,select groupbyhavingorder在orderbygroupby,那么orderby里面eg:selectdept_id,avg(salary)froms_empwheredept_id>40groupbydept_idhavingorderby orderby orderby 作業(yè):請(qǐng)打印出工資低于本部門平均工資的員工的,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簡(jiǎn)單,定義出來(lái)的變量都是char不能寫進(jìn)sql查詢一個(gè)數(shù)是否已經(jīng)預(yù)定義用define取消用undefineacceptvarnametypeprompt' 'hide 為的是永久性的給varname一個(gè)值acceptdidnumberprompt'pleaseinputdept_idvalue:'hideacceptdidprompt'pleaseinputdept_idvalue:' >char比define復(fù)雜,可以指定變量的類型,可以寫進(jìn)

在bash下:1)進(jìn)入setenvEDITORVIsqlplus進(jìn)入SQL的用戶名和寫一個(gè)要保存進(jìn)文件令save 進(jìn)入vi編輯命令在最上面加(acceptvarnametypeprompt' 'hide)語(yǔ)句;startsqlfilesql就可以運(yùn)行剛才保存令了/*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í),說(shuō)明他的數(shù)據(jù)隨外鍵的而寫了ondeletesql:deletefromfathertablewhere沒寫ondeletesql:deletefromsontableswherefk=1;deletefromfathertablewhereid=1;3createtableluxw04selectfromwheredept_idcreatetableasalaryselectdept_id,avg(salary)froms_empgroupby主sql規(guī)定了列名,列的個(gè)數(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)選擇插入,列的個(gè)數(shù),類型,順序必須和指定的相等insertintoluxw8(id,name,)insertintoluxw8(name,id)insertintoluxw8(name,) >error無(wú)PK3)insertintoluxw8(id,name) 不能同時(shí)添加兩個(gè)insertintoluxw8(id,name)子查詢提供值,insertintoluxw8(id,name)selectid,last_namefromwheredept_id=45;updateluxw8setname='sun'whereid=1;updatesetname='fengwang',='m',registdate=sysdatewhereid=2;約束和數(shù)據(jù)的關(guān)系誰(shuí)先進(jìn)入表,表: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:性,兩個(gè)SQL語(yǔ)句的操作只操作自己的,不能影響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)合鍵約束加的時(shí)候只能用addaltertableaddunique( altertableluxw8addconstraint id_uk APKBFKBPKAFK只能先讓一個(gè)表(A表)FKadd以表結(jié)構(gòu)向該表(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下一個(gè)可用的值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語(yǔ)句的復(fù)雜度DML(增刪改),只能查詢簡(jiǎn)單視圖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下查看連接的哪個(gè)classOracleDriverimplementsDriver{//OracleDriver類的大OracleDriverd=newOracleDriver();}}classDriverManager{ //DriverManager類的大體實(shí)現(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");//為虛擬路徑,第一個(gè)/代表classpath //Students=new第一次加載類時(shí),JVMsearchfile 通過classpath >readStudent.class類文Class >獲得Student類詳細(xì)信息(類對(duì)象Students2=new.class>jdbc.jar 分散代碼集中管理(封裝變化的內(nèi)容寫進(jìn)文件(配置文件配置文件一般格試: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");開始時(shí)指針指向第一行的上一行,最后指針指向最后一行execute stm.executeQuery(String 結(jié)果集,sql是查詢語(yǔ)句stm.executeUpdate(sql)>int(dbrow)(int,>deleteupdateStatement和Statement是逐條發(fā)送語(yǔ)句(可以執(zhí)行多條語(yǔ)句),PreparedStatement是先sql再一起發(fā)送(在sql需要設(shè)值String"insertintojdbc_users(id,name)values(users_seq.nextval,?)";JdbcUtil分散代碼集中管理(封裝 Propertiesextendsproperties文件,load(InputStreamis)4)在程序加載時(shí)讀一次文件,靜態(tài)代碼塊,利用jvm的類加

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論