freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-光纖網(wǎng)絡(luò)光信號實(shí)時(shí)監(jiān)測系統(tǒng)項(xiàng)目報(bào)告(參考版)

2025-05-23 04:44本頁面
  

【正文】 四年的大學(xué)生活 將要畫上 一個(gè)完美的 句號 , 感謝那些 曾經(jīng) 幫助過我 和鼓勵(lì) 過我的朋友們 ,是你們 的關(guān)懷, 讓我 這顆小樹苗 更加 茁壯 成長 ,讓我在面對 風(fēng)雨時(shí),更能昂首挺胸。 在文佳老師的辛苦教育和幫助下,我將要度過 四年的大學(xué)的生活,在大學(xué)的成長離不開文佳老師。 在開發(fā)過程中,硬件方面問題迎刃而解。 陳小波老師,在 C++方面幫助我很多,在解決 JNI 上 離 不開小波老師的幫助。遇到問題是可喜的,因?yàn)檫@代表要解決這些問題,解決這些問題之后,我的解決問題的能力又得到了鍛煉。 除此之外, 29 DLL 文件放置的位置和普通 java 項(xiàng)目也有很大的不同 除了類加載路徑存放 一份 DLL,啟動(dòng) TOMCAT 的目錄也必須存放一份 DLL。 但是,使用類似普通 java 項(xiàng)目加載 DLL 文件的方法不能解決問題, sqlite數(shù)據(jù)庫仍然無法使用。 當(dāng)我在 Web 服務(wù)器端使用 sqlite 文本文件數(shù)據(jù)庫的時(shí)候,遇到了項(xiàng)目中最經(jīng)典的一個(gè)難題 調(diào)用 DLL 文件。 但是,當(dāng)我真正使用 pushlet 的時(shí)候,有些問題更難解決了。但是,老師常說: “ 內(nèi)事找百度,外事找谷歌 “ 。 在開發(fā) Web 界面時(shí),我遇到的第一個(gè)問題是: GPS 坐標(biāo)和百度的經(jīng)緯度坐標(biāo)怎么轉(zhuǎn)化?查閱了一些資料,最后發(fā)現(xiàn),百度地圖 API 本身提供的有GPS、谷歌坐標(biāo)與百度地圖坐標(biāo)之間的轉(zhuǎn)化 工具 類。首頁,我面臨的第一個(gè)問題是: Java 調(diào)用 C++的 DLL 文件。 在拿到項(xiàng)目的需求分析文檔后,我明白了自己的任務(wù)。 IDE 工具的使用技巧提高我們的開發(fā)效率,IDE 的幫助減少代碼書寫的錯(cuò)誤, IDE 工具的使用更能自動(dòng)生成關(guān)鍵代碼,減少開發(fā)時(shí)間、縮短開發(fā)周期、 節(jié) 約開 發(fā)成本。在實(shí)訓(xùn)過程中, 鞏固了理論基礎(chǔ),把從書本上學(xué)到的理論性知識用實(shí)戰(zhàn) 來 鞏固 、消化,從而提高理解能力和感悟力 。一路走來,也不覺得多么累??粗鴿M地的泛黃的落葉,不禁感嘆時(shí)間滄桑與無奈。 (7) 項(xiàng)目中大量使用封裝 和設(shè)計(jì)模式 等思想 ,避免重復(fù)造車輪子,重用代碼, 提高 開發(fā)效率,較少開發(fā)周 期 。 (5) 項(xiàng)目中使用了日志管理功能,使用日志管理方便后期維護(hù)和故障排查。 (4) JNI 的使用使得 Java 可以調(diào)用 C/C++。 (2) 使用百度地圖 API( javascript 版本),熟悉了百度地圖 API 的使用,在一次開發(fā)的基礎(chǔ)上,方便開發(fā)者進(jìn)行二次開發(fā), 節(jié)約開發(fā)成本,提高開發(fā)效率。 JCL 提供的接口,對其它一些日志工具,包括 Log4J, Avalon LogKit, and JDK 等,進(jìn)行了簡單的包裝,此接口更接近于 Log4J 和 LogKit 的實(shí)現(xiàn) 。 它提供給中間件 /日志工具開發(fā)者一個(gè)簡單的日志操作抽象,允許程序開發(fā)人員使用不同的具體日志實(shí)現(xiàn)工具。基于對 HTTP 協(xié)議良好的支持和擴(kuò)展的設(shè)計(jì), HttpComponents 也許會(huì)被正在構(gòu)建 HTTP 客戶端或者服務(wù)器端應(yīng)用的人所感興趣:比如 WEB 瀏覽器、 網(wǎng)頁蜘蛛(爬蟲)、 HTTP 代理、 WEB 服務(wù)庫、或是基于調(diào)整或擴(kuò)展 HTTP 協(xié)議的分布式通信系統(tǒng)。 ( 4) HttpComponents: HTTP 協(xié)議(超文本傳輸協(xié)議)也許是當(dāng)前互聯(lián)網(wǎng)領(lǐng)域最重要的協(xié)議。 ( 3) SQLite: SQLite,是一款輕型的數(shù)據(jù)庫,是遵守 ACID 的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百 K 的內(nèi)存就夠了。從 開始, Java Native Interface(JNI)標(biāo)準(zhǔn)成為 java 平臺(tái)的一部分,它允許 Java 代碼和其他語言寫的代碼進(jìn)行交互。各個(gè)用戶請求被激活成單個(gè)程序中的一個(gè)線程,而無需創(chuàng)建單獨(dú)的進(jìn)程,這意味著服務(wù)器端處理請求的系統(tǒng)開銷將明顯降低。然而,在服務(wù)器上運(yùn)行 Java,這種程序可使用 Java 編程語言 實(shí)現(xiàn)。服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的程序。 服務(wù)器 和 桌面 客戶端 技術(shù) ( 1) Servlet: servlet 是在服務(wù)器上運(yùn)行的小程序。 使用 jquery這個(gè) 開源 的 js 框架,減少開發(fā)成本 、 提高開發(fā)效率 、 降低 js 代碼的復(fù)雜度和 減少 js 腳本的 書寫量。 本次開發(fā)過程中,大量使用百度地圖的 API,開發(fā)項(xiàng)目之前大致了解百度地圖 API 類的使用 。 在 js 腳本中 使用 jquery 的 ajax 函數(shù) 定時(shí)向服務(wù)器發(fā)送請求,請求事件列表,服務(wù)器接收到請求之后,查詢 sqlite 數(shù)據(jù)庫中的 event 表(存放事件信息) 。 上位機(jī)軟件 采用 Apache組織的 開源工具 HTTPCLIENT 發(fā)送 HTTP POST 請求 。 } return 0。 25 } } } return flag。 Event lastEvent = (i)。 i ()。 }else if(() != ()){ //故障點(diǎn)個(gè)數(shù)發(fā)生變化 flag = 1。amp。 () != 0){ //上次測試沒故障點(diǎn)發(fā)生,當(dāng)前測試有故障點(diǎn)發(fā)生 flag = 1。 //0 沒發(fā)生變化 1 變化 if(() == 0 amp。 import 。 關(guān)鍵代碼如下: package 。完成事件的分析,如果事件發(fā)生變化(對比上次事件),則 上位機(jī)軟件 ( Java 開發(fā) ) 負(fù)責(zé)向下位機(jī)發(fā)送最新事件信息 ; 否則 , 不發(fā)送 。 24 } return list。 (解析事件時(shí)發(fā)生錯(cuò)誤! )。 //默認(rèn)衰減 } } (event)。 (formatFloat2(loss))。 (formatFloat2(distance))。 ()。 }else if(len == 2){ //故障距離(單位:米) float distance = (msgContent[1])*1000。 } int len = 。 Event event = new Event()。 i++){ //如果是最后一個(gè)事件,跳出循環(huán) if(flag){ break。amp。 //標(biāo)志是否是最后一個(gè)故障點(diǎn) try{ for(int i = 20。 return list。 try{ arr = (\n)。 加載 DLL 文件: 關(guān)鍵代碼: 圖 335( 1) DLL 文件: 圖 335( 2) DLL 文件 解析數(shù)據(jù)成 List: public static ListEvent decodeString(String msg){ //存放故障點(diǎn)的集合 ListEvent list = new ArrayListEvent()。 } } 從 OTDR設(shè)備采集數(shù)據(jù) 上位機(jī)軟件( Java) 使用 Java 本地方法( JNI)調(diào)用 DLL 文件,從而驅(qū)動(dòng) OTDR 設(shè)備獲取 OTDR 設(shè)備 中保存的 事件信息。 0xff | (b[0] amp。 return b。 b[0] = (byte) (num 8 amp。 b[1] = (byte) (num amp。 0xff)。 } return byteArray。 0xFF).byteValue()。 i8。 } public static byte[] longtoBytes(long l){ byte[] byteArray = new byte[8]。 0x000000ff)) (8 * i)。 i++) { bLoop = b[i]。 for (int i = 0。 } 21 public static long bytes2Long(byte[] b) { long iOute = 0。// 1 字節(jié) b[6] = int2OneByte(day)。// 1 字節(jié) (int2TwoBytes(year), 0, b, 3, 2)。 // 1 字節(jié) b[1] = int2OneByte(minute)。 int second = ()。 int hour = ()。 int month = ()。 (date)。 } // 時(shí) 1 字節(jié),分 1字節(jié),秒 1 字節(jié),年 2字節(jié),月 1 字節(jié),日 1字節(jié) , 預(yù)留 1字節(jié) /** * 日期轉(zhuǎn)成 8字節(jié) byte[] * param date * return */ public static byte[] date2Bytes(Date date) { byte[] b = new byte[8]。 dest[len i 1] = temp。 ++i) { temp = dest[i]。 for (int i = 0。 (b, 0, dest, 0, len)。 20 } int len = 。 i 4。 byte[] b = new byte[4]。 0xff) 24。 0xff) 8 | (b[1] amp。 } /** * byte[] convert int * param b * return */ public static int bytes2Int(byte b[]) { return b[3] amp。 0xff)。 0xff)。 0xff)。 0xff)。 /** * 字節(jié)工具類 * author jingxuan */ public class ByteUtils { /** * int convert byte[] * param n * return */ public static byte[] int2Bytes(int n) { byte[] b = new byte[4]。 import 。 事件 n,距離 : 4 字節(jié), float 事件 n,衰減 : 4 字節(jié), float 字節(jié)工具類: 本次 項(xiàng)目中 上位機(jī)軟件 ( Java 開發(fā)) 使用到的數(shù)據(jù)類型和特定字節(jié) 大小 的轉(zhuǎn)換。 。 上位機(jī) 軟件 ( Java 開發(fā) ) 與 下位機(jī)( C++開發(fā) ) 采用最底層 的 數(shù)據(jù)類型 字節(jié)進(jìn)行通信。 關(guān)鍵 代碼如 圖 333 所示:
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1