




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JNI學習積累之一 - 常用函數大全轉至:最近一段時間,在工作方面比較閑,分配的Bug不是很多,于是好好利用這段時間就著源代碼看了些許模塊, 主要方式還是看代碼, 同時利用燒機的便利,加Log觀看,基本上都能弄個臉熟 。心里想著該寫點什么了?可是水平不夠,再加上包括很多真正實現地方-中間層,基本上沒看。于是乎,也就不好賣弄了?;藥滋鞎r間研究了下JNI,基本上知道如何使用了。照我的觀點JNI還是不難的,難得只是我們一份嘗試的心。 學習過程中, 發(fā)現關于JNI函數資料真的很少,所謂“工欲善其事,便先利其器”,整理出了這份資料,希望能幫助你克服JNI學習的坎。
2、0; 主要資料來源: 百度文庫的JNI常用函數 。 同時對其加以了補充 。 要素 :1、 該函數大全是基于C語言方式的,對于C+方式可以直接轉換 ,例如,對于生成一個jstring類型的方法轉換分別如下: C編程環(huán)境中使用方法為:(*env) ->NewStringUTF(env , "123") ;C+編程環(huán)境中(例如,VC下)則: env ->NewStringUTF(
3、 "123") ; (使用起來更簡單) 2、關于下列有些函數中:*isCopy 的說明,例如,如下函數: const char* GetStringUTFChars(JNIEnv*env, jstring string,
4、0;jboolean *isCopy); 對第三個參數 jboolean *isCopy說明如下: 當從JNI函數GetStringUTFChars函數中返回得到字符串B時,如果B是原始字符串java.lang.String的一份拷貝,則isCopy 被賦值為JNI_TRUE。如果B是和原始字符串指向的是JVM中的同一份數據,則isCopy 被賦值為JNI_FALSE。 當isCopy 為JNI_FALSE時,本地代碼絕不能修改字符串的內容,否則J
5、VM中的原始字符串也會被修改,這會打破Java語言中字符串不可變的規(guī)則。通常,我們不必關心JVM是否會返回原始字符串的拷貝,只需要為isCopy傳遞NULL作為參數 。- 以上內容來自 JNI編程指南一、類操作jclass DefineClass (JNIEnv *env, jobject loader, const jbyte *buf , jsize bufLen); 功能:從原始類數據的緩沖區(qū)中加載類。
6、;參數: env JNI 接口指針。 loader 分派給所定義的類的類加載器。 buf 包含 .class 文件數據的緩沖區(qū)。 bufLen 緩沖區(qū)長度。
7、60; 返回值:返回 Java 類對象。如果出錯則返回NULL。 拋出: ClassFormatError 如果類數據指定的類無效。 ClassCircularityError 如果類或接口是自身的超類或超接口。 OutOfMemoryError 如果系統(tǒng)內存不足。 jclass FindClass (JNIEnv *env,
8、 const char *name);功能: 該函數用于加載本地定義的類。它將搜索由CLASSPATH 環(huán)境變量為具有指定名稱的類所指定的目錄和 zip文件。 參數:env JNI 接口指針。 name 類全名(即包名后跟類名,之間由"/"分隔).如果該名稱以“(數組簽名字符)打頭,則返回一個數組類。
9、160; 返回值:返回類對象全名。如果找不到該類,則返回 NULL。 拋出: ClassFormatError 如果類數據指定的類無效。ClassCircularityError 如果類或接口是自身的超類或超接口。 NoClassDefFoundError 如果找不到
10、所請求的類或接口的定義。 OutOfMemoryError 如果系統(tǒng)內存不足。 jclass GetObjectClass (JNIEnv *env, jobject obj); 功能:通過對象獲取這個類。該函數比較簡單,唯一注意的是對象不能為NULL,否則獲取的class肯定返回也為NULL。 參數:
11、 env JNI 接口指針。 obj Java 類對象實例。 jclass GetSuperclass (JNIEnv *env, jclass clazz);
12、; 功能:獲取父類或者說超類 。 如果 clazz 代表類class而非類 object,則該函數返回由 clazz 所指定的類的超類。 如果 clazz 指定類 object 或代表某個接口,則該函數返回NULL。 參數: env JNI 接口指針。 clazz Java 類對象。
13、60; 返回值: 由 clazz 所代表的類的超類或 NULL。jboolean IsAssignableFrom (JNIEnv *env, jclass clazz1, jclass clazz2); 功能:確定 clazz1 的對象是否可安全地強制轉換為clazz2。 參數: env JNI 接口指針。
14、160; clazz1 第一個類參數。 clazz2 第二個類參數。 返回值: 下列某個情況為真時返回 JNI_TRUE: 1、 第一及第二個類參數引用同一個 Java 類。 2、 第一個類是第二個類的子類。
15、60; 3、 第二個類是第一個類的某個接口。 /二、異常操作 jint Throw(JNIEnv *env, jthrowable obj); 功能:拋出 java.lang.Throwable 對象。 參數: env JNI 接口指針。 obj java.lang.Throwable 對象。
16、;返回值: 成功時返回 0,失敗時返回負數。 拋出: java.lang.Throwable 對象 obj。 jint ThrowNew (JNIEnv *env , jclass clazz, const char *message); 功能:利用指定類的消息(由
17、message 指定)構造異常對象并拋出該異常。 參數: env JNI 接口指針。clazz java.lang.Throwable 的子類。 message 用于構造java.lang.Throwable對象的消息。 返回值: 成功時返回 0,失敗時返回負數。 拋出: 新構造的 java.lang.Thr
18、owable 對象。jthrowable ExceptionOccurred (JNIEnv *env); 功能:確定是否某個異常正被拋出。在平臺相關代碼調用 ExceptionClear() 或 Java 代碼處理該異常前,異常將始終保持拋出狀態(tài)。參數: env JNI 接口指針。返回值: 返回正被拋出的異常對象,如果當前無異常被拋出,則返回NULL。void Ex
19、ceptionDescribe (JNIEnv *env); 功能:將異常及堆棧的回溯輸出到系統(tǒng)錯誤報告信道(例如 stderr)。該例程可便利調試操作。 參數:env JNI 接口指針。void ExceptionClear (JNIEnv *env);功能:清除當前拋出的任何異常。如果當前無異常,則此例程不產生任何效果。參數: env JNI 接口指針。void FatalError (JNIEnv
20、*env, const char *msg); 功能:拋出致命錯誤并且不希望虛擬機進行修復。該函數無返回值。 參數: env JNI 接口指針。 msg 錯誤消息。/三、全局及局部引用 jobject NewGlobalRef (JNIEnv *env, jobject obj); 功能:創(chuàng)建 obj 參數所
21、引用對象的新全局引用。obj 參數既可以是全局引用,也可以是局部引用。全局引用通過調用DeleteGlobalRef() 來顯式撤消。 參數:env JNI 接口指針。 obj 全局或局部引用。 返回值: 返回全局引用。如果系統(tǒng)內存不足則返回 NULL。void DeleteGlobalRef (JNIEnv *env, jobject globalRef);
22、 功能: 刪除 globalRef 所指向的全局引用。 參數: env JNI 接口指針。 globalRef 全局引用。 void DeleteLocalRef (JNIEnv *env, jobject localRef);
23、 功能: 刪除 localRef所指向的局部引用。 參數: env JNI 接口指針。 localRef 局部引用。 /四、對象操作 jobject AllocObject (JNIEnv *env, jclass
24、 clazz); 功能:分配新 Java 對象而不調用該對象的任何構造函數。返回該對象的引用。clazz 參數務必不要引用數組類。 參數: env JNI 接口指針。 clazz Java 類對象。 返回值: 返回 Java 對象。如果無法構造該對象,則返回NULL。 拋
25、出: InstantiationException:如果該類為一個接口或抽象類。OutOfMemoryError:如果系統(tǒng)內存不足。 jobject NewObject (JNIEnv *env , jclass clazz, jmethodID methodID, .); /參數附加在函數后面 jobject NewObjectA (JNIEnv *env , jclassclazz, jmethodID methodID, jvalue
26、*args); /參數以指針形式附加 jobjec tNewObjectV (JNIEnv *env , jclassclazz, jmethodID methodID, va_list args); /參數以"鏈表"形式附加 功能:構造新 Java 對象。方法 ID指示應調用的構造函數方法。注意:該 ID特指該類class的構造函數ID , 必須通過調用 GetMe
27、thodID() 獲得,且調用時的方法名必須為 <init>,而返回類型必須為 void (V)。clazz參數務必不要引用數組類。 參數: env JNI 接口指針。 clazz Java 類對象。 methodID 構造函數的方法 ID。 NewObject 的其它參數: 傳給構造函數的參數,可以為空 。
28、; NewObjectA 的其它參數: args:傳給構造函數的參數數組。 NewObjectV 的其它參數: args:傳給構造函數的參數 va_list。 返回值: 返回 Java 對象,如果無法構造該對象,則返回NULL。 拋出: InstantiationException 如果該類為接口或抽象類。 OutOfMemoryError
29、 如果系統(tǒng)內存不足。 構造函數拋出的任何異常。 jclass GetObjectClass (JNIEnv *env, jobject obj); 功能:返回對象的類。 參數: env JNI 接口指針。 obj Java 對象(不能為 NULL)。 返回值: 返回
30、 Java 類對象。 jboolean IsInstanceOf (JNIEnv *env, jobject obj, jclass clazz); 功能:測試對象是否為某個類的實例。 參數: env JNI 接口指針。 obj Java 對象。
31、; clazz Java 類對象。 返回值:如果可將 obj 強制轉換為 clazz,則返回 JNI_TRUE。否則返回 JNI_FALSE。NULL 對象可強制轉換為任何類。jbooleanIsSameObject (JNIEnv *env, jobjectref1, jobject ref2); 功能:測試兩個引用是否引用同一Java 對象。
32、60; 參數: env JNI 接口指針。 ref1 Java 對象。 ref2 Java 對象。 返回值: 如果 ref1 和 ref2 引用同一 Java 對象或均為 NULL,則返回 JNI_TRUE。否則返回 JNI
33、_FALSE。/五、 字符串操作 jstring NewString (JNIEnv *env, const jchar *unicodeChars, jsize len); 功能:利用 Unicode 字符數組構造新的 java.lang.String 對象。 參數: env:JNI 接口指針。
34、 unicodeChars:指向 Unicode 字符串的指針。 len:Unicode 字符串的長度。 返回值: Java 字符串對象。如果無法構造該字符串,則為NULL。 拋出: OutO
35、fMemoryError:如果系統(tǒng)內存不足。 jsize GetStringLength (JNIEnv *env, jstring string); 功能:返回 Java 字符串的長度(Unicode 字符數)。 參數: env:JNI 接口
36、指針。 string:Java 字符串對象。 返回值: Java 字符串的長度。 const jchar * GetStringChars (JNIEnv*env, jstring string, jboolean *isCopy); 功能:返回指向字符串的
37、Unicode 字符數組的指針。該指針在調用 ReleaseStringchars() 前一直有效。如果 isCopy 非空,則在復制完成后將 *isCopy 設為 JNI_TRUE。如果沒有復制,則設為JNI_FALSE。 參數: env:JNI 接口指針。 string:Java 字符串對象。 isCopy:指向布爾值的指針。
38、0;返回值: 指向 Unicode 字符串的指針,如果操作失敗,則返回NULL。 void ReleaseStringChars (JNIEnv *env, jstring string, const jchar *chars); 功能:通知虛擬機平臺相關代碼無需再訪問 chars。參數chars 是一個指針,可通過 GetStringChars() 從 string 獲得。 參數: env:JNI 接口指針。
39、60; string:Java 字符串對象。 chars:指向 Unicode 字符串的指針。 jstring NewStringUTF (JNIEnv *env, const char *bytes); 功能:利用 UTF-8 字符數組構造新 java.l
40、ang.String 對象。 參數: env:JNI 接口指針。如果無法構造該字符串,則為 NULL。 bytes:指向 UTF-8 字符串的指針。 返回值:Java 字符串對象。如果無法構造該字符串,則為NULL。 拋出: OutOfMemoryError:如果系統(tǒng)內存不足。 jsize GetStrin
41、gUTFLength (JNIEnv *env, jstring string); 功能:以字節(jié)為單位返回字符串的 UTF-8 長度。 參數: env:JNI 接口指針。 string:Java 字符串對象。 返回值: 返回字符串的 UTF-8 const char* GetStringUTFChars (JNIEnv*env,
42、 jstring string, jboolean *isCopy);功能:返回指向字符串的 UTF-8 字符數組的指針。該數組在被ReleaseStringUTFChars() 釋放前將一直有效。如果 isCopy不是 NULL,*isCopy 在復制完成后即被設為 JNI_TRUE。如果未復制,則設為JNI_FALSE。 參數: env:JNI 接口指針。 string:Java 字符串對象。
43、160;isCopy:指向布爾值的指針。 返回值: 指向 UTF-8 字符串的指針。如果操作失敗,則為 NULL。 void ReleaseStringUTFChars (JNIEnv *env, jstring string, const char *utf); 功能:通知虛擬機平臺相關代碼無需再訪問 utf。utf 參數是一個指針,可利用 GetStringUTFChars() 獲得。 參數: env:JNI 接口指針。
44、 string:Java 字符串對象。 utf:指向 UTF-8 字符串的指針。/六、數組操作 jsize GetArrayLength (JNIEnv *env, jarray array); 功能:返回數組中的元素數。 參數:env:JNI 接口指針。 &
45、#160; array:Java 數組對象。 返回值: 數組的長度。jarray NewObjectArray (JNIEnv *env, jsize length, jclass elementClass, jobject initialElement); 功能:構造新的數組,它將保存類 elementClass 中的對象。所有元素初始值均設為 initialElement。 參數: env:JN
46、I 接口指針。 length:數組大小。 elementClass:數組元素類。 initialElement:初始值。 可以為NULL 。 返回值:Java 數組對象。如果無法構造數組,則為 NULL。 拋出: OutOfMemoryError:如果系統(tǒng)內存不足。
47、60;說明: 使用該函數時,為了便于易操作性,我們一般可以用jobjectArray數組類型或得返回值,例如:jobjectArray objArray = env->NewObjectArray ( ); /操作該對象 env->GetObjectArrayElement (objArray, 0);/獲得該object數組在索引0處的值 ,(可以強制轉換類型). jobject GetObjectArrayElement (JNIEnv *env, jobjectArray
48、array, jsize index); 功能:返回 Object 數組的元素。 參數: env:JNI 接口指針。 array:Java 數組。 index:數組下標。 返回值: Java 對象。 拋出: A
49、rrayIndexOutOfBoundsException:如果 index 不是數組中的有效下標。void SetObjectArrayElement (JNIEnv *env, jobjectArray array, jsize index, jobject value); 功能:設置 Object 數組的元素。 參數: env:JNI 接口指針。
50、 array:Java 數組。 index:數組下標。 value:新值。 拋出: ArrayIndexOutOfBoundsException:如果 index 不是數組中的有效下標。 ArrayStoreException:如果 value 的類不是數組元素類的子類。New&
51、lt;PrimitiveType>Array方法類型 NativeType New<PrimitiveType>Array (JNIEnv *env, ArrayType array, jboolean*isCopy); 說明: 用于構造新基本類型數組對象的一系列操作。下表說明了特定的基本類型數組構造函數。用戶應把 New<PrimitiveType>Array 替換為某個實際的基本類型數組構造函數例程
52、名(見下表),然后將 ArrayType替換為該例程相應的數組類型。 參數: env : JNI 接口指針。 length:數組長度。 返回值: Java 數組。如果無法構造該數組,則為 NULL。New<PrimitiveType>Array 方法組
53、0; 數組類型 NewBooleanArray() jbooleanArray NewByteArray()
54、 jbyteArrayNewCharArray() jcharArray NewShortArray()
55、; jshortArray NewIntArray() jintArray NewLongArray() &
56、#160; jlongArray NewFloatArray() jfloatArray
57、 NewDoubleArray() jdoubleArray Get<PrimitiveType>ArrayElements 方法類型
58、 NativeType *Get<PrimitiveType>ArrayElements (JNIEnv *env, ArrayType array, jboolean*isCopy); 說明:一組返回基本類型數組體的函數。結果在調用相應的Release<PrimitiveType>ArrayElements()函數前將一直有效。 由于返回的數組可能是 Java 數組的副本,因此對返回數組的更改不必在基本類型數
59、組中反映出來,直到調用了 Release<PrimitiveType>ArrayElements()。 如果 isCopy 不是 NULL,*isCopy 在復制完成后即被設為 JNI_TRUE。如果未復制,則設為JNI_FALSE。 使用說明: 將 Get<PrimitiveType>ArrayElements 替換為表中某個實際的基本類型元素訪問器例程名。 將 ArrayType 替換為對應的數組類型。
60、; 將 NativeType 替換為該例程對應的本地類型。 參數: env:JNI 接口指針。 array:Java 字符串對象。 isCopy:指向布爾值的指針。 返回值:
61、; 返回指向數組元素的指針,如果操作失敗,則為 NULL。 不管布爾數組在 Java 虛擬機中如何表示,GetBooleanArrayElements() 將始終返回一個 jbooleans 類型的指針,其中每一字節(jié)代表一個元素(開包表示)。內存中將確保所有其它類型。Get<PrimitiveType>ArrayElements 例程 數組類型 本地類型GetBooleanArrayElements()
62、 jbooleanArray jbooleanGetByteArrayElements() jbyteArray jbyteGetCharArrayElements() j
63、charArray jcharGetShortArrayElements() jshortArray jshortGetIntArrayElements() jintArray
64、 jintGetLongArrayElements() jlongArray jlongGetFloatArrayElements() jfloatArray
65、; jfloatGetDoubleArrayElements() jdoubleArray jdoubleRelease<PrimitiveType>ArrayElements 方法類型void Release<PrimitiveType>ArrayElements (JNIEnv *env, ArrayType a
66、rray, NativeType *elems,jint mode); 功能:通知虛擬機平臺相關代碼無需再訪問 elems 的一組函數。elems 參數是一個通過使用對應的Get<PrimitiveType>ArrayElements() 函數由 array 導出的指針。必要時,該函數將把對 elems 的修改復制回基本 類型數組。mode參數將提供有關如何釋放數組緩沖區(qū)的信息。如果elems 不是 array 中數組元素的副本,mode將無
67、效。否則,mode 將具有下表所述的功能: 模式 動作
68、; 0 復制回內容并釋放elems 緩沖區(qū)
69、0; JNI_COMMIT 復制回內容但不釋放elems 緩沖區(qū)
70、; JNI_ABORT 釋放緩沖區(qū)但不復制回變化 多數情況下,編程人員將把“0”傳給 mode 參數以確保固定的數組和復制的數組保持一致。其它選項可以使編程人員進一步控制內存管理,但使用時務必慎重。 使用說明:
71、0; 將 ArrayType 替換為對應的數組類型。 將 NativeType 替換為該例程對應的本地類型。 參數: env:JNI 接口指針。
72、160; array:Java 數組對象。 elems:指向數組元素的指針。
73、 mode:釋放模式。 Release<PrimitiveType>ArrayElements方法組 數組類型 本地類型ReleaseBooleanArrayElements() jbooleanArray &
74、#160; jbooleanReleaseByteArrayElements() jbyteArray jbyteReleaseCharArrayElements() jcharA
75、rray jcharReleaseShortArrayElements() jshortArray jshortReleaseIntArrayElements()
76、0; jintArray jintReleaseLongArrayElements() jlongArray &
77、#160; jlongReleaseFloatArrayElements() jfloatArray jfloatReleaseDoubleArrayElements() jdoubleArra
78、y jdoubleGet<PrimitiveType>ArrayRegion 方法類型void Get<PrimitiveType>ArrayRegion (JNIEnv *env, ArrayType array, jsize start, jsize len, NativeType *buf); 功能:將基本類型數組某一區(qū)域復制到緩沖區(qū)中的一組函數。使用說明:
79、160; 將 Get<PrimitiveType>ArrayRegion 替換為下表的某個實際基本類型元素訪問器例程名。將 ArrayType 替換為對應的數組類型。 將 NativeType 替換為該例程對應的本地類型。 參數:&
80、#160; env:JNI 接口指針。 array:Java 指針。
81、60; start:起始下標。
82、60; len:要復制的元素數。 buf:目的緩沖區(qū)。
83、60; 拋出: ArrayIndexOutOfBoundsException:如果區(qū)域中的某個下標無效。 方法族如下: Get<PrimitiveType>ArrayRegion方法 數組類型
84、160; 本地類型GetBooleanArrayRegion() jbooleanArray jbooleanGetByteArrayRegion()
85、0; jbyteArray jbyteGetCharArrayRegion()
86、160; jcharArray jcharGetShortArrayRegion()
87、; jshortArray jhortGetIntArrayRegion()
88、0; jintArray jintGetLongArrayRegion()
89、 jlongArray jlongGetFloatArrayRegion()
90、60; jfloatArray jloatGetDoubleArrayRegion()
91、; jdoubleArray jdoubleSet<PrimitiveType>ArrayRegion 方法類型 void Set<PrimitiveType>ArrayRegion (JNIEnv *env, ArrayType array, jsize start, jsize len, NativeType *bu
92、f); 功能:將基本類型數組的某一區(qū)域從緩沖區(qū)中復制回來的一組函數。 使用說明: 將 Set<PrimitiveType>ArrayRegion 替換為表中的實際基本類型元素
93、訪問器例程名。 將 ArrayType 替換為對應的數組類型。
94、 將 NativeType 替換為該例程對應的本地類型。
95、60; 參數: env:JNI 接口指針。 array: Java 數組。
96、60; start:起始下標。 len:要復制的元素
97、數。 buf:源緩沖區(qū)。 拋出:
98、0;ArrayIndexOutOfBoundsException:如果區(qū)域中的某個下標無效。 Set<PrimitiveType>ArrayRegion 方法族 數組類型 本地類型SetBooleanArrayRegion()
99、60; jbooleanArray jbooleanSetByteArrayRegion() &
100、#160; jbyteArray jbyteSetCharArrayRegion()
101、 jcharArray jcharSetShortArrayRegion()
102、0; jshortArray jshortSetIntArrayRegion() &
103、#160;jintArray jintSetLongArrayRegion() jl
104、ongArray jlongSetFloatArrayRegion() jfloatArray
105、 jfloatSetDoubleArrayRegion() jdoubleArray jdouble /六、
106、訪問對象的屬性和方法1、實例屬性的訪問 jfieldID GetFieldID (JNIEnv *env, jclass clazz, const char *name, const char *sig); 功能:返回類的實例(非靜態(tài))域的屬性 ID。該域由其名稱及簽名指定。訪問器函數的Get<type>Field 及 Set<type>Field 系列使用域 ID 檢索對象域。GetFie
107、ldID() 不能用于獲取數組的長度域。應使用GetArrayLength()。 參數: env:JNI 接口指針。 clazz:Java 類對象。 name: 該屬性的Name名稱
108、160; sig: 該屬性的域簽名。 返回值:屬性ID。如果操作失敗,則返回NULL。 拋出:NoSuchFieldError:如果找不到指定的域。 ExceptionInInitializerErr
109、or:如果由于異常而導致類初始化程序失敗。 OutOfMemoryError:如果系統(tǒng)內存不足。 Get<type>Field 例程 NativeType Get<type>Field (JNIEnv*env, jobject obj, jfieldID fieldID);
110、; 功能:該訪問器例程系列返回對象的實例(非靜態(tài))域的值。要訪問的域由通過調用GetFieldID() 而得到的域 ID 指定。 參數: env:JNI 接口指針。 obj:Java 對象(不能為 NULL)。
111、 fieldID:有效的域 ID。 返回值: 屬性的內容。 Get<type>Field 例程名 本地類型
112、160; GetObjectField() jobject Ge
113、tBooleanField() jboolean GetByteField()
114、60; jbyte GetCharField()
115、 jchar GetShortField() jshort
116、 GetIntField() jint
117、; GetLongField() jlong
118、60; GetFloatField() jfloat
119、60; GetDoubleField() jdouble Set<type>Field 方法族 void Set<type>Field (JNIEnv *env, jobject obj, jfieldID fieldID, NativeType value); 功能: 該訪問器例程系列設置對象的實例(非靜態(tài))屬性
120、的值。要訪問的屬性由通過調用SetFieldID() 而得到的屬性 ID指定。 參數: env:JNI 接口指針。 obj:Java 對象(不能為 NULL)。 fieldID:有效的域 ID。 value:域的新值。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度餐飲業(yè)節(jié)能減排入股協議
- 2025年度購房定金支付及違約責任協議
- 二零二五年度商業(yè)地產市場調研評估委托合同
- 二零二五年度餐飲行業(yè)掛靠合作經營合同
- 二零二五年度三年期勞動合同漲薪與績效考核體系合同
- 二零二五年度自來水供應與用水戶信息公開合同
- 二零二五年度個人債權轉讓合同模板(智能穿戴設備債權整合)
- 二零二五年度新能源汽車企業(yè)職工招聘與產業(yè)鏈整合合同
- 二零二五年度手房銀行按揭購房服務合同
- 2025年吉林市貨運車從業(yè)考試題
- 約定工資結清協議書(2篇)
- 天津地區(qū)高考語文五年高考真題匯編-語言文字應用
- 湖北省荊州市英語初一上學期期末試題與參考答案(2024年)
- 鶴壁海格龍升3萬噸溴系列新材料產品環(huán)評資料環(huán)境影響
- 電梯日管控、周排查、月調度內容表格
- 道路運輸企業(yè)兩類人員安全考核試題及答案
- 衛(wèi)生技術人員準入制度
- 2024屆全國新高考英語復習-讀后續(xù)寫微寫作
- 顳下頜關節(jié)疾?。谇活M面外科學課件)
- 2025屆福建廈門雙十中學高一數學第一學期期末經典模擬試題含解析
- 中考語文一輪專題復習:詩歌鑒賞中常見的意象(共32張課件)
評論
0/150
提交評論