九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

《JAVA基礎(chǔ)》PPT課件.ppt

  • 資源ID:14779149       資源大?。?span id="24d9guoke414" class="font-tahoma">699.50KB        全文頁(yè)數(shù):63頁(yè)
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說(shuō)明有答案則都視為沒有答案,請(qǐng)知曉。

《JAVA基礎(chǔ)》PPT課件.ppt

JAVA基礎(chǔ)篇,JAVA優(yōu)點(diǎn),平臺(tái)無(wú)關(guān)性 分布式應(yīng)用 多線程 純面向?qū)ο?應(yīng)用范圍廣 (1)Java的桌面應(yīng)用 (2)Java Web應(yīng)用 (3)Java企業(yè)級(jí)應(yīng)用 (4)Java嵌入式應(yīng)用 ,JAVA編譯原理,Java編譯程序?qū)ava源程序編譯成JVM可執(zhí)行代碼Java字節(jié)碼. JAVA源文件(.java)字節(jié)碼(.class) 運(yùn)行jvm 字節(jié)碼的工作是由解釋器來(lái)完成的。解釋執(zhí)行過(guò)程分三步進(jìn)行: 代碼的裝入、代碼的校驗(yàn)、和代碼的執(zhí)行。 代碼的裝入:類裝載器class loader 代碼的校驗(yàn):被裝入的代碼由字節(jié)碼校驗(yàn)器進(jìn)行檢查 代碼執(zhí)行: 1) 即時(shí)編譯方式:解釋器先將字節(jié)編譯成機(jī)器碼,然后再執(zhí)行該機(jī)器碼。 2)解釋執(zhí)行方式:解釋器通過(guò)每次解釋并執(zhí)行一小段代碼來(lái)完成java字節(jié),J2SE的運(yùn)行環(huán)境設(shè)置,安裝JAVA SDK(Java Software Development Kit) 通常,我們需要設(shè)置三個(gè)環(huán)境變量:JAVA_HOME、PATH 和 CLASSPATH JAVA_HOME:SDK的安裝目錄如:c:java PATH:指定一個(gè)路徑列表,用于搜索可執(zhí)行文件的。如:d:oracleproduct10.1.0Db_2bin;%JAVA_HOME%bin CLASSPATH:也指定一個(gè)路徑列表,是用于搜索 Java 編譯或者運(yùn)行時(shí)需要用到的類。 如:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%librt.jar;,JAVA基本數(shù)據(jù)類型,進(jìn)制二進(jìn)制、八進(jìn)制、十進(jìn)制 整型 byte(1個(gè)字節(jié)) int (4個(gè)字節(jié)) Integer short (2個(gè)字節(jié)) Short long(8個(gè)字節(jié)) 浮點(diǎn)型 float (4個(gè)字節(jié)) double,JAVA基本數(shù)據(jù)類型,字符型 char 布爾型 boolean 數(shù)制: 十進(jìn)制:10 八進(jìn)制:012 十六進(jìn)制:0 x10,String 函數(shù),常用函數(shù) indexOf() substring() lastIndexOf() replace() replaceAll() matches() split() toUpperCase(),char data = a, b, c; String str = new String(data); System.out.println(abc); String cde = cde; System.out.println(abc + cde); String c = abc.substring(2,3); String d = cde.substring(1, 2);,Date,Date類型 DateFormat.format(Date date) Date date =new Date(); /System.out.println(DateFormat.getInstance().format(date); SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); /MM HH hh System.out.println(sdf.format(date); Calendar類型 Calendar cal=Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 20); GregorianCalendar類型 GregorianCalendar gc=new GregorianCalendar(); gc.setTime(date);,數(shù)組,一維組 二維數(shù)組 三維數(shù)組 例子: int intArr=new int1,3,4; charcharArr=new chara,b; ,面向?qū)ο?類(內(nèi)部類) 訪問(wèn)控制符類: public /protected/ 對(duì)象 包 重載(多態(tài)) 繼承 依賴 聚合 繼承,接口,接口聲明 接口實(shí)現(xiàn) 接口多重實(shí)現(xiàn) 接口繼承,抽象,抽象類 抽象方法,集合框架,映射(map)、集(set)、列表(list)、樹(tree)、數(shù)組(array)、散列表(hashtable),集合基類,Collection 接口是一組允許重復(fù)的對(duì)象。 Set 接口繼承 Collection,但不允許重復(fù)。 List 接口繼承 Collection,允許重復(fù),并引入位置下標(biāo)。 Map 接口既不繼承 Set 也不繼承 Collection。,Collection接口,添加、刪除元素 boolean add(Object element) boolean remove(Object element) 查詢操作: int size() boolean isEmpty() boolean contains(Object element) Iterator iterator(),Set 接口,HashSet TreeSet(有序),List 接口,void add(int index, Object element) boolean addAll(int index, Collection collection) Object get(int index) int indexOf(Object element) int lastIndexOf(Object element) Object remove(int index) Object set(int index, Object element) ListIterator listIterator() ListIterator listIterator(int startIndex) List subList(int fromIndex, int toIndex) ArrayList 類和 LinkedList 類,Map 接口,JAVA IO,File對(duì)象 canRead() canWrite() delete() deleteOnExist() Exists() getAbsoluteFile() length() list() getName() getParent() getPath() listFiles() mkdir(),InputStream抽象類及其子類字節(jié)流,AudioInputStream ByteArrayInputStream FileInputStream FilterInputStream ObjectInputStream PipedInputStream SequenceInputStream StringBufferInputStream,OutputStream,ByteArrayOutputStream FileOutputStream FilterOutputStream ObjectOutputStream PipedOutputStream,以字節(jié)為導(dǎo)向的stream,Input和Output InputStream 1) ByteArrayInputStream:把內(nèi)存中的一個(gè)緩沖區(qū)作為InputStream使用2) StringBufferInputStream:把一個(gè)String對(duì)象作為InputStream3) FileInputStream:把一個(gè)文件作為InputStream,實(shí)現(xiàn)對(duì)文件的讀取操作4) PipedInputStream:實(shí)現(xiàn)了pipe的概念,主要在線程中使用5) SequenceInputStream:把多個(gè)InputStream合并為一個(gè)InputStream,OutputStream,1) ByteArrayOutputStream:把信息存入內(nèi)存中的一個(gè)緩沖區(qū)中2) FileOutputStream:把信息存入文件中3) PipedOutputStream:實(shí)現(xiàn)了pipe的概念,主要在線程中使用4) SequenceOutputStream:把多個(gè)OutStream合并為一個(gè)OutStream,以Unicode字符為導(dǎo)向的stream,InputStream1) CharArrayReader:與ByteArrayInputStream對(duì)應(yīng)2) StringReader:與StringBufferInputStream對(duì)應(yīng)3) FileReader:與FileInputStream對(duì)應(yīng)4) PipedReader:與PipedInputStream對(duì)應(yīng)OutStream1) CharArrayWriter:與ByteArrayOutputStream對(duì)應(yīng)2) StringWriter:無(wú)與之對(duì)應(yīng)的以字節(jié)為導(dǎo)向的stream3) FileWriter:與FileOutputStream對(duì)應(yīng)4) PipedWriter:與PipedOutputStream對(duì)應(yīng),線程,進(jìn)程、線程 (單CPU,多CPU) 單線程、多線程,單線程代碼1,多線程代碼,線程,用Thread 類創(chuàng)建線程 用Runnable接口創(chuàng)建線程 start() run() join()線程合并,后臺(tái)線程與聯(lián)合線程,如果我們對(duì)某個(gè)線程對(duì)象在啟動(dòng)(調(diào)用start方法)之前調(diào)用了setDaemon(true)方法,這個(gè)線程就變成后臺(tái)線程。 對(duì)于Java程序來(lái)說(shuō),只要還有一個(gè)前臺(tái)線程在運(yùn)行,這個(gè)進(jìn)程就不會(huì)結(jié)束,如果一個(gè)進(jìn)程中只有后臺(tái)線程在運(yùn)行,這)個(gè)進(jìn)程就會(huì)結(jié)束。 Pp.join()的作用就是把pp所對(duì)于的線程合并到調(diào)用pp.join;語(yǔ)句的線程中。,使用Runnable接口創(chuàng)建多線程,適合多個(gè)相同程序的代碼的線程去處理同一資源的情況,把虛擬的CPU(線程)同程序的代碼、數(shù)據(jù)有效分離,較好體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想 可以避免由于JAVA的繼承特性帶來(lái)的局限。假若一個(gè)類已經(jīng)繼承了另一類,則我們只能使該類實(shí)現(xiàn)Runnable 當(dāng)線程被構(gòu)造時(shí),需要的代碼和數(shù)據(jù)通過(guò)另一個(gè)對(duì)象作為構(gòu)造參數(shù)傳遞時(shí)去,這個(gè)對(duì)象就是實(shí)現(xiàn)了Runnable接口。,多線程的應(yīng)用,網(wǎng)絡(luò)聊天程序 發(fā)送鍵盤的數(shù)據(jù),接收別人發(fā)送的數(shù)據(jù),從鍵盤上讀取輸入,發(fā)送鍵盤的數(shù)據(jù)給對(duì)方,接收對(duì)方的數(shù)據(jù),從鍵盤上讀取輸入,發(fā)送鍵盤的數(shù)據(jù)給對(duì)方,接收對(duì)方的數(shù)據(jù),多線程應(yīng)用2,批量數(shù)據(jù)copy的問(wèn)題 WEB服務(wù)器的請(qǐng)求及處理,多線程同步,例子演示 代碼塊同步 方法塊同步,產(chǎn)生者與消費(fèi)者例子,一個(gè)往消息隊(duì)列中放入消息 一個(gè)往消息隊(duì)列中取出消息 消息內(nèi)容包括產(chǎn)生的ID號(hào)及內(nèi)容 三個(gè)生產(chǎn)者,三個(gè)消費(fèi)者,線程間的通訊,wait() /如隊(duì)列為空,我們可以等待,或隊(duì)列已經(jīng)滿的時(shí)候 notify()/通知由wait()而等待的線程,如我們往某個(gè)列隊(duì)中放數(shù)據(jù)時(shí),這時(shí)可以通知。 notifyAll(),JAVA反射,AWT,Swing,JDBC編程,應(yīng)用程序,JDBC,MySQL Driver,Db2 Driver,Oracle Driver,MySQL,Db2,MySQL,連接數(shù)據(jù)庫(kù)的步驟,注冊(cè)驅(qū)動(dòng)(只做一次) 建立連接(Conntection) 創(chuàng)建執(zhí)行SQL的語(yǔ)句(Statement) 執(zhí)行語(yǔ)句 處理執(zhí)行結(jié)果 釋放資源,注冊(cè)驅(qū)動(dòng),Class.forName(“com.mysql.jdbc.Driver”); 推薦這種方式,不會(huì)對(duì)具體的驅(qū)動(dòng)類產(chǎn)生依賴。 DriverManager.registerDriver(com.mysql.jdbc.Driver); 會(huì)造成DriverManager中產(chǎn)生兩個(gè)一樣的驅(qū)動(dòng),并會(huì)對(duì)具體的驅(qū)動(dòng)類產(chǎn)生依賴。 System.setProperty(“jdbc.drivers”, “driver1:driver2”); 雖然不會(huì)對(duì)具體的驅(qū)動(dòng)類產(chǎn)生依賴;但注冊(cè)不太方便,所以很少使用。 驅(qū)動(dòng)類型(四種類型),建立連接(Connection),Connection conn = DriverManager.getConnection(url, user, password); url格式: JDBC:子協(xié)議:子名稱/主機(jī)名:端口/數(shù)據(jù)庫(kù)名?屬性名=屬性值 st.executeQuery(sql); PreparedStatement String sql = “select * from table_name where col_name=?”; PreparedStatement ps = conn.preparedStatement(sql); ps.setString(1, “col_value”); ps.executeQuery();,處理執(zhí)行結(jié)果(ResultSet),ResultSet rs = statement.executeQuery(sql); While(rs.next() rs.getString(“col_name”); rs.getInt(“col_name”); / ,釋放資源,釋放ResultSet, Statement,Connection. 數(shù)據(jù)庫(kù)連接(Connection)是非常稀有的資源,用完后必須馬上釋放,如果Connection不能及時(shí)正確的關(guān)閉將導(dǎo)致系統(tǒng)宕機(jī)。Connection的使用原則是盡量晚創(chuàng)建,盡量早的釋放。,基本的CRUD(創(chuàng)建、讀取、更新、刪除),模板代碼 Connection conn = null; Statement st=null; ResultSet rs = null; try /獲得Connection /創(chuàng)建Statement /處理查詢結(jié)果ResultSet finally /釋放資源ResultSet, Statement,Connection ,插入記錄,增加對(duì)應(yīng)SQL的INSERT,返回增加成功的行(記錄)數(shù) conn = getConnection(); Statement st = conn.createStatement(); String sql=“insert into user(name, age,regist_date )” + “values(name, 10, now()”; int i = st.executeUpdate(sql); /i為插入的記錄數(shù),讀取記錄,讀取(查詢)對(duì)應(yīng)SQL的SELECT,返回查詢結(jié)果 conn = getConnection(); st = conn.createStatement(); String sql = select id, name, age,regist_date from user; rs = st.executeQuery(sql); while (rs.next() System.out.print(rs.getInt(id) + tt ); System.out.print(rs.getString(name) + tt ); System.out.print(rs.getInt(age) + tt ); System.out.print(rs.getTimestamp(regist_date) + tt ); System.out.println(); ,SQL注入,PreparedStatement和Statement,在SQL中包含特殊字符或SQL的關(guān)鍵字(如: or 1 or )時(shí)Statement將出現(xiàn)不可預(yù)料的結(jié)果(出現(xiàn)異常或查詢的結(jié)果不正確),可用PreparedStatement來(lái)解決。 PreperedStatement(從Statement擴(kuò)展而來(lái))相對(duì)Statement的優(yōu)點(diǎn): 1.沒有SQL注入的問(wèn)題。 2.Statement會(huì)使數(shù)據(jù)庫(kù)頻繁編譯SQL,可能造成數(shù)據(jù)庫(kù)緩沖區(qū)溢出。 3.數(shù)據(jù)庫(kù)和驅(qū)動(dòng)可以對(duì)PreperedStatement進(jìn)行優(yōu)化(只有在相關(guān)聯(lián)的數(shù)據(jù)庫(kù)連接沒有關(guān)閉的情況下有效)。,數(shù)據(jù)類型,詳細(xì)信息見java.sql.Types 幾種特殊且比較常用的類型 1.DATA,TIME,TIMESTAMP date,time,datetime 存:ps.setDate(i,d); ps.setTime(i,t); ps.setTimestamp(i, ts); 取:rs.getDate(i); rs.getTime(i); rs.getTimestamp(i); 2.CLOB text 存:ps.setCharacterStream(index, reader, length); ps.setString(i, s); ?。簉eader = rs. getCharacterStream(i); reader = rs.getClob(i).getCharacterStream(); string = rs.getString(i); 3.BLOB blob 存:ps.setBinaryStream(i, inputStream, length); ?。簉s.getBinaryStream(i); rs.getBlob(i).getBinaryStream();,一個(gè)簡(jiǎn)單用戶相關(guān)的數(shù)據(jù)訪問(wèn)層,J2EE三層架構(gòu)簡(jiǎn)介 表示層 、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層,三層之間用接口隔離。 定義domain對(duì)象User,定義存取用戶的接口 用JDBC實(shí)現(xiàn)接口 用配置文件(properties)和反射實(shí)現(xiàn)與具體類的耦合,事務(wù)(ACID),原子性(atomicity):組成事務(wù)處理的語(yǔ)句形成了一個(gè)邏輯單元,不能只執(zhí)行其中的一部分。 一致性(consistency):在事務(wù)處理執(zhí)行前后,數(shù)據(jù)庫(kù)是一致的(數(shù)據(jù)庫(kù)數(shù)據(jù)完整性約束)。 隔離性(isolcation):一個(gè)事務(wù)處理對(duì)另一個(gè)事務(wù)處理的影響。 持續(xù)性(durability):事務(wù)處理的效果能夠被永久保存下來(lái) 。 connection.setAutoCommit(false);/打開事務(wù)。 mit();/提交事務(wù)。 connection.rollback();/回滾事務(wù)。,事務(wù)(SavePoint),當(dāng)只想撤銷事務(wù)中的部分操作時(shí)可使用SavePoint SavePoint sp = connection.setSavepoint(); connection.rollerbak(sp);mit();,事務(wù)(JTA),跨越多個(gè)數(shù)據(jù)源的事務(wù),使用JTA容器實(shí)現(xiàn)事務(wù)。 分成兩階段提交。 javax.transaction.UserTransaction tx = (UserTransaction)ctx.lookup(“jndiName); tx.begin(); /connection1 connection2 (可能來(lái)自不同的數(shù)據(jù)庫(kù)) mit();/tx.rollback();,隔離級(jí)別多線程并發(fā)讀取數(shù)據(jù)時(shí)的正確性,connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); V:可能出現(xiàn),X:不會(huì)出現(xiàn),存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程 CallableStatement(從PreperedStatement擴(kuò)展來(lái)) cs = connection.prepareCall(“call psname(?,?,?)”); cs.registerOutParameter(index, Types.INTEGER); cs.setXXX(i, xxxx); cs.executeUpdate(); int id=cs.getInt(index);,其他的幾個(gè)API,PreparedStatement.getGeneratedKeys() PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.executeUpdate(); ResultSet rs = st.getGeneratedKeys();rs.getInt(1); 批處理,可以大幅度提升大量增、刪、改的速度。 PreparedStatement.addBatch(); PreparedStatement.executeBatch();,其他的幾個(gè)API,可滾動(dòng)的結(jié)果集 Statement st = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = st.executeQuery(sql); rs.beforeFirst(); rs.afterLast();rs.first();rs.isFirst();rs.last();rs.isLast(); rs.absolute(9);rs.moveToInsertRow(); 可更新的結(jié)果集 conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); rs.updateString(col name, new value); rs.updateRow();,DatabaseMetaData和ParameterMetaData,DatabaseMetaData meta = connection.getMetaData(); 通過(guò)DatabaseMetaData可以獲得數(shù)據(jù)庫(kù)相關(guān)的信息如:數(shù)據(jù)庫(kù)版本、數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)廠商信息、是否支持事務(wù)、是否支持某種事務(wù)隔離級(jí)別,是否支持滾動(dòng)結(jié)果集等。 ParameterMetaData pmd = preparedStatement.getParameterMetaData(); 通過(guò) ParameterMetaData可以獲得參數(shù)信息。,ResultSetMetaData,ResultSetMetaData meta = rs.getMetaData(); 通過(guò)ResultSetMetaData可以獲得結(jié)果有幾列、各列名、各列別名、各列類型等。 可以將ResultSet放入Map(key:列名 value:列值)。 用反射ResultSetMetaData將查詢結(jié)果讀入對(duì)象中(簡(jiǎn)單的O/RMapping) 1)讓SQL語(yǔ)句中列別名和要讀入的對(duì)象屬性名一樣; 2)通過(guò)ResultSetMetaData獲得結(jié)果列數(shù)和列別名; 3)通過(guò)反射將對(duì)象的所有setXxx方法找到; 4)將3)找到的方法setXxx和2)找到的列別名進(jìn)行匹配(即方法中的xxx于列別名相等); 5)由上一步找到的方法和列別名對(duì)應(yīng)關(guān)系進(jìn)行賦值 Method.invoke(obj, rs.getObject(columnAliasName);,數(shù)據(jù)源和連接池,DataSource用來(lái)取代DriverManager來(lái)獲取Connection; 通過(guò)DataSource獲得Connection速度很快; 通過(guò)DataSource獲得的Connection都是已經(jīng)被包裹過(guò)的(不是驅(qū)動(dòng)原來(lái)的連接),他的close方法已經(jīng)被修改。 一般DataSource內(nèi)部會(huì)用一個(gè)連接池來(lái)緩存Connection,這樣可以大幅度提高數(shù)據(jù)庫(kù)的訪問(wèn)速度; 連接池可以理解成一個(gè)能夠存放Connection的Collection; 我們的程序只和DataSource打交道,不會(huì)直接訪問(wèn)連接池;,一個(gè)簡(jiǎn)單的數(shù)據(jù)源實(shí)現(xiàn),使用裝飾模式的Connection(核心代碼) class MyConnection implements Connection private Connection realConn; private LinkedList connPool; MyConnection(Connection rConn, LinkedList cPool) this.realConn=rConn; this.connPool=cPool; public void close() this.connPool.addLast(this); /. ,一個(gè)簡(jiǎn)單的數(shù)據(jù)源實(shí)現(xiàn),DataSource(核心代碼) class MyDataSource implements DataSource private LinkedList connPool = new Vector(); public Connection getConneciton () if(this.connPool.size()0) return this.connPool.removeFirst(0); return createConnection(); private Connection createConnection() Connection realConn = DriverManager.getConnection(); Connection myConn = new MyConnection(realConn,this.connPool); return myConn; /. ,常用的開源實(shí)現(xiàn)DBCP,使用DBCP必須用的三個(gè)包: commons-dbcp-1.2.1.jar, commons-pool-1.2.jar, commons-collections-3.1.jar。 Java API: BasicDataSourceFactory.createDataSource( properties);,

注意事項(xiàng)

本文(《JAVA基礎(chǔ)》PPT課件.ppt)為本站會(huì)員(xt****7)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!