版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何用如何用JavaJava進(jìn)展高性能網(wǎng)站開發(fā)進(jìn)展高性能網(wǎng)站開發(fā)Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧生成對(duì)象時(shí),合理分配空間和大小:生成對(duì)象時(shí),合理分配空間和大?。篔ava中的很多類都有它的默認(rèn)的空間分配大小,對(duì)于一些有大小的對(duì)象的初始化,應(yīng)該預(yù)計(jì)對(duì)象的大小,然后使用進(jìn)展初始化。例如:我們?cè)谑褂美纾何覀冊(cè)谑褂肰ector,當(dāng)聲明,當(dāng)聲明Vector vectnew Vector時(shí),系統(tǒng)調(diào)用:時(shí),系統(tǒng)調(diào)用:public Vector / 缺省構(gòu)造函數(shù)缺省構(gòu)造函數(shù)this10; / 容量是容量是 10;缺省分配缺省分配10個(gè)對(duì)象大小容量。當(dāng)執(zhí)行個(gè)對(duì)象大小容量。當(dāng)執(zhí)行add方法時(shí),可以看到詳細(xì)
2、實(shí)現(xiàn)為:方法時(shí),可以看到詳細(xì)實(shí)現(xiàn)為:.public synchronized boolean addObject o modCount+;ensureCapacityHelperelementCount+1;elementDataelementCount+ =o;return true;Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧生成對(duì)象時(shí),合理分配空間和大小:生成對(duì)象時(shí),合理分配空間和大?。簆rivate void ensureCapacityHelperint minCapacity int oldCapacity = elementData.length;if minCapacity old
3、Capacity Object oldData = elementData;int newCapacity = capacityIncrement 0 ? oldCapacity + capacityIncrement :oldCapacity * 2;if newCapacity minCapacity newCapacity = minCapacity;elementData = new ObjectnewCapacity;System.arraycopyoldData, 0, elementData, 0, elementCount;我們可以看到,當(dāng)Vector大小超過原來的大小時(shí),一些
4、代碼的目的就是為了做容量的擴(kuò)大,在預(yù)先知道該Vector大小的話,可以指定其大小,防止容量擴(kuò)大的開銷。 Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧優(yōu)化循環(huán)體:優(yōu)化循環(huán)體:循環(huán)是比較重復(fù)運(yùn)行的地方,假如循環(huán)次數(shù)很大,循環(huán)體內(nèi)不好的代碼對(duì)效率的影響就會(huì)被放大而變的突出。讓我們看看下面的代碼片:.Vector vect = new Vector1000;.for inti=0; ivect.size; i+.for循環(huán)部分改寫成:循環(huán)部分改寫成:int size = vect.size;for int i=0; isize; i+.假如size=1000,就可以減少1000次size的系統(tǒng)調(diào)用開銷,防
5、止了循環(huán)體重復(fù)調(diào)用。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧優(yōu)化循環(huán)體:優(yōu)化循環(huán)體:再看如下的代碼片:再看如下的代碼片:.for int i = 0;i 100000;i+if i%10 = 9 . / 每十次執(zhí)行一次每十次執(zhí)行一次改寫成也可以進(jìn)步效率:改寫成也可以進(jìn)步效率:.forinti =0,j =10; i100000; i+,j-ifj = 0. / 每十次執(zhí)行一次每十次執(zhí)行一次j = 10;所以,當(dāng)有較大的循環(huán)時(shí),應(yīng)該檢查循環(huán)內(nèi)是否有效率不高的地方,尋找更優(yōu)的方案加以改進(jìn)。 Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧少用少用newnew初始化一個(gè)實(shí)例:初始化一個(gè)實(shí)例:盡量少用new來
6、初始化一個(gè)類的實(shí)例,當(dāng)一個(gè)對(duì)象是用new進(jìn)展初始化時(shí),其構(gòu)造函數(shù)鏈的所有構(gòu)造函數(shù)都被調(diào)用到,所以new操作符是很消耗系統(tǒng)資源的,new一個(gè)對(duì)象耗時(shí)往往是部分變量賦值耗時(shí)的上千倍。同時(shí),當(dāng)生成對(duì)象后,系統(tǒng)還要花時(shí)間進(jìn)展垃圾回收和處理。當(dāng)new創(chuàng)立對(duì)象不可防止時(shí),注意防止屢次的使用new初始化一個(gè)對(duì)象。盡量在使用時(shí)再創(chuàng)立該對(duì)象。如:NewObject object = new NewObject;int value;ifi0 value =object.getValue;Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧少用少用newnew初始化一個(gè)實(shí)例:初始化一個(gè)實(shí)例:上面一段代碼可以修改為:上面一段代碼
7、可以修改為:int value;ifi0 NewObject object = new NewObject;Value =object.getValue;另外,應(yīng)該盡量重復(fù)使用一個(gè)對(duì)象,而不是聲明新的同類對(duì)象。一個(gè)重用對(duì)象的方法是改變對(duì)象的值,如可以通過setValue之類的方法改變對(duì)象的變量到達(dá)重用的目的。 Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧選擇適宜的方法調(diào)用:選擇適宜的方法調(diào)用:在Java中,一切都是對(duì)象,假如有方法Method調(diào)用,處理器先要檢查該方法是屬于哪個(gè)對(duì)象,該對(duì)象是否有效,對(duì)象屬于什么類型,然后選擇適宜的方法并調(diào)用。可以減少方法的調(diào)用,同樣一個(gè)方法:public void
8、 CallMethodint i if i =0 return;. / 其他處理其他處理假如直接調(diào)用,假如直接調(diào)用,int i = 0;.CallMethodi;Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧選擇適宜的方法調(diào)用:選擇適宜的方法調(diào)用:上面的代碼,就應(yīng)該寫成:int i = 0;.if i =0 CallMethodi;不影響可讀性等情況下,可以把幾個(gè)小的方法合成一個(gè)大的方法。另外,在方法前加上final,private關(guān)鍵字有利于編譯器的優(yōu)化。 Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧異常處理技巧:異常處理技巧:異常是Java的一種錯(cuò)誤處理機(jī)制,對(duì)程序來說是非常有用的,但是異常對(duì)性能不
9、利。拋出異常首先要?jiǎng)?chuàng)立一個(gè)新的對(duì)象,并進(jìn)展相關(guān)的處理,造成系統(tǒng)的開銷,所以異常應(yīng)該用在錯(cuò)誤處理的情況,不應(yīng)該用來控制程序流程,流程盡量用while,if等處理。在不是很影響代碼強(qiáng)健性的前提下,可以把幾個(gè)try/catch塊合成一個(gè)。盡量使用部分變量和靜態(tài)變量:盡量使用部分變量和靜態(tài)變量:盡量使用部分變量,調(diào)用方法時(shí)傳遞的參數(shù)以及在調(diào)用中創(chuàng)立的臨時(shí)變量都保存在棧Stack 中,速度較快。其他變量,如靜態(tài)變量、實(shí)例變量等,都在堆Heap中創(chuàng)立,速度較慢。盡量使用靜態(tài)變量,即加修飾符static,假如類中的變量不會(huì)隨他的實(shí)例而變化,就可以定義為靜態(tài)變量,從而使他所有的實(shí)例都共享這個(gè)變量。 同步處理技
10、巧:同步處理技巧:同步主要出如今多線程的情況,為多線程同時(shí)運(yùn)行時(shí)提供對(duì)象數(shù)據(jù)平安的機(jī)制,多線程是比較復(fù)雜話題,應(yīng)用多線程也是為了獲得性能的提升,應(yīng)該盡可能減少同步。另外,假如需要同步的地方,可以減少同步的代碼段,如只同步某個(gè)方法或函數(shù),而不是整個(gè)代碼。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧盡可能的使用盡可能的使用JavaJava自身提供的自身提供的APIAPI:Java的API一般都做了性能的考慮,假如完成一樣的功能,優(yōu)先使用API而不是自己寫的代碼,如數(shù)組復(fù)制通常的代碼如下:int size = 1000;String strArray1 = new Stringsize;String s
11、trArray2 = new Stringsize;forinti=0;isize;i+ / 賦值賦值strArray1 = new StringArray: + i;forinti=0;isize;i+ / 復(fù)制復(fù)制strArray2=new StringStringa;Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧盡可能的使用盡可能的使用JavaJava自身提供的自身提供的APIAPI:上面那段代碼,假如使用Java提供的API,就可以進(jìn)步性能:int size = 1000;String strArray1 = new Stringsize;String strArray2 = new Str
12、ingsize;forinti=0;isize;i+ / 賦值strArray1 = new StringArray: + i;System.arraycopystrArray1,0,strArray2,0,size; / 復(fù)制同樣的一個(gè)規(guī)那么是,當(dāng)有大量數(shù)據(jù)的復(fù)制時(shí),應(yīng)該使用System.arraycopy。 Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧盡量減少盡量減少I/OI/O操作:操作: 輸入/輸出I/O包括很多方面,我們知道,進(jìn)展I/O操作是很消耗系統(tǒng)資源的。程序中應(yīng)該盡量少用I/O操作。使用時(shí)可以注意: . 合理控制輸出函數(shù)System.out.println對(duì)于大多時(shí)候是有用的,特別
13、是系統(tǒng)調(diào)試的時(shí)候,但也會(huì)產(chǎn)生大量的信息出如今控制臺(tái)和日志上,同時(shí)輸出時(shí),有序列化和同步的過程,造成了開銷。特別是在發(fā)行版中,要合理的控制輸出,可以在工程開發(fā)時(shí),設(shè)計(jì)好一個(gè)Debug的工具類,在該類中可以實(shí)現(xiàn)輸出開關(guān),輸出的級(jí)別,根據(jù)不同的情況進(jìn)展不同的輸出的控制。盡量使用緩存:盡量使用緩存:讀寫內(nèi)存要比讀寫硬盤上的文件要快很多,應(yīng)盡可能使用緩沖,以便直接從內(nèi)存中讀取數(shù)據(jù)。盡可能使用帶有Buffer的類代替沒有Buffer的類,如可以用BufferedReader 代替Reader,用BufferedWriter代替Writer來進(jìn)展處理I/O操作。同樣可以用BufferedInputStrea
14、m代替InputStream都可以獲得性能的進(jìn)步 Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧盡量不使用同步:盡量不使用同步:Servlet是多線程的,以處理不同的懇求,基于前面同步的分析,假如有太多的同步就失去了多線程的優(yōu)勢(shì)了。不用保存太多的信息在不用保存太多的信息在 Session中中很多時(shí)候,存儲(chǔ)一些對(duì)象在 Session中是有必要的,可以加快系統(tǒng)的開發(fā),如網(wǎng)上商店系統(tǒng)會(huì)把購物車信息保存在該用戶的Session中,但當(dāng)存儲(chǔ)大量的信息或是大的對(duì)象在會(huì)話中時(shí),是有害的,特別是當(dāng)系統(tǒng)中用戶的訪問量很大,對(duì)內(nèi)存的需求就會(huì)很高。詳細(xì)開發(fā)時(shí),在這兩者之間應(yīng)作好權(quán)衡。Java程序性能優(yōu)化技巧程序性能優(yōu)化技
15、巧去除去除SESSIONSESSION:通常情況,當(dāng)?shù)竭_(dá)設(shè)定的超時(shí)時(shí)間時(shí),同時(shí)有些Session沒有了活動(dòng),效勞器會(huì)釋放這些沒有活動(dòng)的Session,. 不過這種情況下,特別是多用戶并訪時(shí),系統(tǒng)內(nèi)存要維護(hù)多個(gè)的無效Session。當(dāng)用戶退出時(shí),應(yīng)該手動(dòng)釋放,回收資源,實(shí)現(xiàn)如下:. Session theSession = request.getSession;/ 獲取當(dāng)前SessioniftheSession != nulltheSession.invalidate; / 使該Session失效。緩存緩存HomeHome接口:接口:EJB庫使用Enterprise Bean 的客戶端通過它的H
16、ome接口創(chuàng)立它的實(shí)例??蛻舳四芡ㄟ^JNDI訪問它。效勞器通過Lookup方法來獲取。JNDI是個(gè)遠(yuǎn)程對(duì)象,通過RMI方式調(diào)用,對(duì)它的訪問往往是比較費(fèi)時(shí)的。所以,在設(shè)計(jì)時(shí)可以設(shè)計(jì)一個(gè)類專門用來緩存Home接口,在系統(tǒng)初始化時(shí)就獲得需要的Home接口并緩存,以后的引用只要引用緩存即可。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用快速度的使用快速度的JdbcJdbc驅(qū)動(dòng):驅(qū)動(dòng):JDBC API包括兩種實(shí)現(xiàn)接口形式,一種是純Java實(shí)現(xiàn)的驅(qū)動(dòng),一種利用ODBC驅(qū)動(dòng)和數(shù)據(jù)庫客戶端實(shí)現(xiàn),詳細(xì)有四種驅(qū)動(dòng)形式: 第一類:JDBC-ODBC橋,再加上ODBC驅(qū)動(dòng)程序。第一類JDBC驅(qū)動(dòng)程序是JDBC-ODBC
17、橋再加上一個(gè)ODBC驅(qū)動(dòng)程序。建議第一類驅(qū)動(dòng)程序只用于原型開發(fā),而不要用于正式的運(yùn)行環(huán)境。橋接驅(qū)動(dòng)程序由Sun提供,它的目的是支持傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)。Sun為該軟件提供關(guān)鍵問題的補(bǔ)丁,但不為該軟件的最終用戶提供支持。一般地,橋接驅(qū)動(dòng)程序用于已經(jīng)在ODBC技術(shù)上投資的情形,例如已經(jīng)投資了Windows應(yīng)用效勞器。盡管Sun提供了JDBC-ODBC橋接驅(qū)動(dòng)程序,但由于ODBC會(huì)在客戶端裝載二進(jìn)制代碼和數(shù)據(jù)庫客戶端代碼,這種技術(shù)不適用于高事務(wù)性的環(huán)境。另外,第一類JDBC驅(qū)動(dòng)程序不支持完好的Java命令集,而是局限于ODBC驅(qū)動(dòng)程序的功能,這種驅(qū)動(dòng)方式也叫胖客戶,主要用于低并發(fā)懇求,大數(shù)據(jù)量傳輸?shù)膽?yīng)用
18、。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用快速度的使用快速度的JdbcJdbc驅(qū)動(dòng):驅(qū)動(dòng):第二類:本機(jī)API,部分是Java的驅(qū)動(dòng)程序。第二類JDBC驅(qū)動(dòng)程序是本機(jī)API的部分Java代碼的驅(qū)動(dòng)程序,用于把JDBC調(diào)用轉(zhuǎn)換成主流數(shù)據(jù)庫API的本機(jī)調(diào)用。這類驅(qū)動(dòng)程序也存在與第一類驅(qū)動(dòng)程序一樣的性能問題,即客戶端載入二進(jìn)制代碼的問題,而且它們被綁定了特定的平臺(tái)。第二類驅(qū)動(dòng)程序要求編寫面向特定平臺(tái)的代碼,主流的數(shù)據(jù)庫廠商,例如Oracle和IBM,都為它們的企業(yè)數(shù)據(jù)庫平臺(tái)提供了第二類驅(qū)動(dòng)程序,使用這些驅(qū)動(dòng)程序的開發(fā)者必須及時(shí)跟進(jìn)不同數(shù)據(jù)庫廠商針對(duì)不同操作系統(tǒng)發(fā)行的各個(gè)驅(qū)動(dòng)程序版本。另外,由于第二
19、類驅(qū)動(dòng)程序沒有使用純Java的API,把Java應(yīng)用連接到數(shù)據(jù)源時(shí),往往必須執(zhí)行一些額外的配置工作。很多時(shí)候,第二類驅(qū)動(dòng)程序不能在體系構(gòu)造上與大型主機(jī)的數(shù)據(jù)源兼容;即使做到了兼容,效果也是比較差。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用快速度的使用快速度的JdbcJdbc驅(qū)動(dòng):驅(qū)動(dòng):第一類和第二類驅(qū)動(dòng)的比較Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用快速度的使用快速度的JdbcJdbc驅(qū)動(dòng):驅(qū)動(dòng):第三類:面向數(shù)據(jù)庫中間件的純Java驅(qū)動(dòng)程序。第三類JDBC驅(qū)動(dòng)程序是面向數(shù)據(jù)庫中間件的純Java驅(qū)動(dòng)程序,JDBC調(diào)用被轉(zhuǎn)換成一種中間件廠商的協(xié)議,中間件再把這些調(diào)用轉(zhuǎn)換到數(shù)據(jù)庫API。第三類J
20、DBC驅(qū)動(dòng)程序的優(yōu)點(diǎn)是它以效勞器為根底,也就是不再需要客戶端的本機(jī)代碼,這使第三類驅(qū)動(dòng)程序要比第一、二兩類快。另外,開發(fā)者還可以利用單一的驅(qū)動(dòng)程序連接到多種數(shù)據(jù)庫。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用快速度的使用快速度的JdbcJdbc驅(qū)動(dòng):驅(qū)動(dòng):第四類:直接面向數(shù)據(jù)庫的純Java驅(qū)動(dòng)程序。 第四類JDBC驅(qū)動(dòng)程序是直接面向數(shù)據(jù)庫的純Java驅(qū)動(dòng)程序,即所謂的“瘦thin驅(qū)動(dòng)程序,它把JDBC調(diào)用轉(zhuǎn)換成某種直接可被DBMS使用的網(wǎng)絡(luò)協(xié)議,這樣,客戶機(jī)和應(yīng)用效勞器可以直接調(diào)用DBMS效勞器。對(duì)于第四類驅(qū)動(dòng)程序,不同DBMS的驅(qū)動(dòng)程序不同。因此,在一個(gè)異構(gòu)計(jì)算環(huán)境中,驅(qū)動(dòng)程序的數(shù)量可能會(huì)比
21、較多。但是,由于第四類驅(qū)動(dòng)程序具有較高的性能,可以直接訪問DBMS,所以這一問題就不那么突出了, 這種驅(qū)動(dòng)方式,主要用于高并發(fā),低數(shù)據(jù)量懇求的應(yīng)用中。Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用快速度的使用快速度的JdbcJdbc驅(qū)動(dòng):驅(qū)動(dòng):第三類和第四類驅(qū)動(dòng)的比較Java程序性能優(yōu)化技巧程序性能優(yōu)化技巧使用Jdbc鏈接池為了進(jìn)步訪問數(shù)據(jù)庫的性能,我們還可以使用JDBC 2.0的一些標(biāo)準(zhǔn)和特性,JDBC是占用資源的,在使用數(shù)據(jù)庫連接時(shí)可以使用連接池Connection Pooling,防止頻繁翻開、關(guān)閉Connection。而我們知道,獲取Connection是比較消耗系統(tǒng)資源的。Connec
22、tion緩沖池:當(dāng)一個(gè)應(yīng)用程序關(guān)閉一個(gè)數(shù)據(jù)庫連接時(shí),這個(gè)連接并不真正釋放而是被循環(huán)利用,建立連接是消耗較大的操作,循環(huán)利用連接可以顯著的進(jìn)步性能,因?yàn)榭梢詼p少新連接的建立。一個(gè)通過DataSource獲取緩沖池獲得連接,并連接到一個(gè)CustomerDB數(shù)據(jù)源的代碼演示如下:Context ctx = new InitialContext;DataSource dataSource = DataSource ctx.lookupjdbc/CustomerDB;Connection conn = dataSource.getConnectionpassword,username;Java程序性能優(yōu)
23、化技巧程序性能優(yōu)化技巧緩存緩存DataSorceDataSorce一個(gè)DataSource對(duì)象代表一個(gè)實(shí)際的數(shù)據(jù)源。這個(gè)數(shù)據(jù)源可以是從關(guān)系數(shù)據(jù)庫到表格形式的文件,完全依賴于它是怎樣實(shí)現(xiàn)的,一個(gè)數(shù)據(jù)源對(duì)象注冊(cè)到JNDI名字效勞后,應(yīng)用程序就可以從JNDI效勞器上獲得該對(duì)象,并使用之和數(shù)據(jù)源建立連接。通過上面的例子,我們知道DataSource是從連接池獲得連接的一種方式,通過JNDI方式獲得,是占用資源的。為了防止再次的JNDI調(diào)用,可以系統(tǒng)中緩存要使用的DataSource。即時(shí)關(guān)閉使用過的資源即時(shí)關(guān)閉使用過的資源互聯(lián)網(wǎng)應(yīng)用系統(tǒng)一般是并發(fā)的系統(tǒng),在每次申請(qǐng)和使用完資源后,應(yīng)該釋放供別人使用,使
24、用完成后應(yīng)該保證徹底的釋放。如何利用如何利用Java開發(fā)高性能、高并發(fā)開發(fā)高性能、高并發(fā)Web應(yīng)用應(yīng)用架構(gòu)選型架構(gòu)選型在網(wǎng)站W(wǎng)eb應(yīng)用開發(fā)中,系統(tǒng)的整體架構(gòu)是決定網(wǎng)站性能、穩(wěn)定性、并發(fā)、可擴(kuò)展性的關(guān)鍵因素。下面以世界著名網(wǎng)站應(yīng)用軟件提供商CoreMediaCMS系統(tǒng)為例,進(jìn)展架構(gòu)分析如何利用如何利用Java開發(fā)高性能、高并發(fā)開發(fā)高性能、高并發(fā)Web應(yīng)用應(yīng)用架構(gòu)選型架構(gòu)選型CoreMediaCMS將整個(gè)應(yīng)用分成四成架構(gòu),每一層都可以獨(dú)立于其他層而正常運(yùn)行,每一層都可以分布式布署,極大的進(jìn)步了應(yīng)用系統(tǒng)的穩(wěn)定性、可擴(kuò)展性、支持高并發(fā)的要求,每一次之前通過中間件Corba進(jìn)展穩(wěn)定的傳輸數(shù)據(jù)。如何利用如
25、何利用Java開發(fā)高性能、高并發(fā)開發(fā)高性能、高并發(fā)Web應(yīng)用應(yīng)用開發(fā)框架的選型開發(fā)框架的選型充分利用開源框架,可以大大進(jìn)步開發(fā)效率。很多初級(jí)開發(fā)者,都采用DB+JavaBean+JSP這種初級(jí)的開發(fā)形式,而如今主要使用Struts、Spring等MVC開發(fā)框架。常用開發(fā)框架構(gòu)選型有:Struts、Spring、Webwork等。天極傳媒選擇的開發(fā)框架是:Struts+Spring+iBatis,在這個(gè)開發(fā)框架里,充分利用了Struts、Spring各自己的優(yōu)點(diǎn),可以選擇StutsMVC,也可以選擇Spring MVC。如何利用如何利用Java開發(fā)高性能、高并發(fā)開發(fā)高性能、高并發(fā)Web應(yīng)用應(yīng)用分級(jí)存儲(chǔ)分級(jí)存儲(chǔ)數(shù)據(jù)庫數(shù)據(jù)分級(jí)存儲(chǔ):將經(jīng)常訪問的數(shù)據(jù)和訪問頻度低的數(shù)據(jù),分別存放到不同的分區(qū),甚至存放到不同的數(shù)據(jù)庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遠(yuǎn)程故障診斷-洞察分析
- 醫(yī)療健康大數(shù)據(jù)應(yīng)用-洞察分析
- 太陽能熱水器性能提升-洞察分析
- 語義消歧與文本分析-洞察分析
- 血液凈化過程中微生物污染控制-洞察分析
- 雨季橋梁施工防滑措施-洞察分析
- 引進(jìn)種牛本土化飼養(yǎng)模式探索-洞察分析
- 同源抗原疫苗免疫原性-洞察分析
- 云平臺(tái)安全運(yùn)維策略-洞察分析
- 心理干預(yù)對(duì)移植患者的影響-洞察分析
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 抖音認(rèn)證承諾函
- 南京市2023-2024高一上學(xué)期期末英語試卷及答案
- 《供應(yīng)鏈管理》期末考試復(fù)習(xí)題庫(含答案)
- 2022更新國家開放大學(xué)電大《生產(chǎn)與運(yùn)作管理》2025-2026期末試題及答案(試卷代號(hào):2617)
- (完整版)保溫工藝課件
- 設(shè)計(jì)驗(yàn)證和生產(chǎn)確認(rèn)[福特FORD]
- 工作場(chǎng)所空氣中有害物質(zhì)監(jiān)測(cè)的采樣規(guī)范課件159-2004
- 合同范本之采購合同誰保管
- 國家自然科學(xué)基金進(jìn)展報(bào)告
- 地質(zhì)工作個(gè)人述職報(bào)告三篇
評(píng)論
0/150
提交評(píng)論