- 相關(guān)推薦
java程序員實(shí)習日記
java程序員實(shí)習是一次把體驗融入自己的知識的機會(huì )。java程序員實(shí)習日記是小編想跟大家分享的,歡迎大家瀏覽。
java程序員實(shí)習日記 篇1
java程序員實(shí)習日記(一)
今天就簡(jiǎn)單聊聊上面的Struts+Spring+Hibernate吧。
Struts 代表:表示層;Spring代表:業(yè)務(wù)邏輯層;Hibernate則代表持久層。他們是目前在Java Web編程開(kāi)發(fā)中用得最多的框架,其實(shí)這樣區分是為了適應軟件開(kāi)發(fā)過(guò)程中各個(gè)分工部門(mén)之間保持一致性的需要。說(shuō)得簡(jiǎn)單點(diǎn)就是大家都在一個(gè)模式下寫(xiě)代碼,這樣就能保證寫(xiě)出來(lái)的程序能被每一個(gè)人都能夠讀懂,而且有些基本的東西它可以自動(dòng)幫你生成,不用你自己一個(gè)一個(gè)的敲了,達到了代碼復用。這樣保證可讀性的同時(shí)也提高了開(kāi)發(fā)效率,從而降低了成本。Struts這個(gè)框架其實(shí)就是Java MVC設計模式中(簡(jiǎn)稱(chēng)Model1與Model2)Model2的一個(gè)具體實(shí)現,Spring 則通過(guò)提供ICO(控制反轉,也稱(chēng)依賴(lài)注入)實(shí)現了對對象甚至事務(wù)(如聲明式事務(wù))的集中管理,此外還引入了AOP(對向切面編程),當然也完全兼容其它框架。Hibernate嗎,就是一個(gè)實(shí)現對象與關(guān)系映射的中間件,大家知道,現在的主流數據庫還是關(guān)系型的,但編程卻已經(jīng)采用了面向對象的思想,如何讓編程人員能像操作對象一樣,操縱數據庫里的數據呢?Hibernate就是這樣一種框架。以前Java程序員與數據庫打交道都是通過(guò)JDBC,還要寫(xiě) SQL語(yǔ)句,不過(guò)Hibernate徹底改變了這一切,它在JDBC之上又作了一次封裝,從而實(shí)現了不用寫(xiě)SQL語(yǔ)句就可以實(shí)現操作數據庫。
值得提醒的是,這三個(gè)框架都是輕量級的,沒(méi)有侵入性或者侵入性很低,不像EJB這樣的重量級框架,它們都能最大限度的實(shí)現代碼的可復用。
java程序員實(shí)習日記(二)
又是一個(gè)雨天,早上上班時(shí)間還下得很大,就沒(méi)起床了。直接電話(huà)向經(jīng)理請了假,說(shuō)是頭痛下午再過(guò)去了,還好經(jīng)理爽快的答應了,要不一去就會(huì )露餡現出原形的!
上午上網(wǎng),下載了三個(gè)網(wǎng)站源碼,本想找個(gè)部署運行看下效果,結果一看,后臺數據庫全不一樣:分別使用了三個(gè)不同的數據庫(SQL Server2000、Oracle、Mysql),很是無(wú)奈。 個(gè)人比較熟悉微軟的SQL Server2000,可那個(gè)好一點(diǎn)源碼用的卻是MySQL,突然有種把數據庫重建的想法,因為數據庫之間相互轉換的軟件好像一般都不好使,這可能是數據庫廠(chǎng)商之間的競爭造成的兼容性差所至。由于時(shí)間有限,這活便暫且被擱置下來(lái)。
java程序員實(shí)習日記(三)
我們在使用tooltip的時(shí)候,有以下幾個(gè)關(guān)鍵點(diǎn):
1,創(chuàng )建CToolTipCtrl對象,Create()函數實(shí)現。
2,使用AddTool()函數向這個(gè)tooltip中加入tools,這也是綁定tool到某個(gè)控件的過(guò)程,從中我們可以知道在這個(gè)CToolTipCtrl對象中應該存在著(zhù)不止一個(gè)tool,而是一系列的tool,通過(guò)函數DelTool實(shí)現刪除,AddTool實(shí)現添加,UpdateTipText實(shí)現更新tool的文本。
3,最關(guān)鍵的是我們需要一個(gè)觸發(fā)tooltip的關(guān)鍵點(diǎn),這個(gè)關(guān)鍵點(diǎn)控制著(zhù)何時(shí)顯示這個(gè)tooltip,一般情況下我們在PreTranslateMessage()函數中進(jìn)行處理,這也是我們攔截WM_MOUSEMOVE的地方,攔截之后,我們調用tooltip的RelayEvent向toolTip對象傳遞這個(gè)消息用以表示tooltip可以被顯示或者更新。
靜態(tài)鏈接MFC DLL模塊的時(shí)候,由于MFC總是使用它所練級額的DLL模塊狀態(tài),所以不存在模塊管理的問(wèn)題。
調試DLL的時(shí)候,我們需要exe文件的配合,所以先要生成exe測試文件,然后將DLL工程設置成active ,這時(shí)候會(huì )出現exe路徑提示對話(huà)框,我們將測試用的exe路徑填入就可以了。
java程序員實(shí)習日記(四)
今天下班后回宿舍上機調試程序,一個(gè)java網(wǎng)站,用Tomcat作服務(wù)器, 在被瀏覽器加載的時(shí)候總是無(wú)法顯示出來(lái),頁(yè)面提示出錯信息:500錯誤。到服務(wù)器日志查找原因,有一個(gè)“數據加載失敗”的提示。數據庫用的是SQL Server2000,原以為是Tomcat配置文件的問(wèn)題,到網(wǎng)上查了很多相關(guān)資料,改了又改一直沒(méi)搞定,頭都大了,一直到12點(diǎn)才郁悶的關(guān)機睡覺(jué)!
java程序員實(shí)習日記(五)
ListCtrl中LVITEM lpara有很廣泛的用處,我們可以通過(guò)這個(gè)參數實(shí)現list控件的排序功能,這里需要注意的是使用LVITEM中的`LPARAM,但是SetItemData 函數似乎又是對LVITEM 的lPara進(jìn)行設置的,這里的關(guān)系似乎很微妙,但是我們一定要注意 不能混淆。類(lèi)中的成員函數可以單獨的聲明為模板函數,但是模板函數的實(shí)現要放在頭文件中。GDI+中沒(méi)有提供繪制圓角方的函數,我們需要通過(guò)GraphicPath類(lèi)進(jìn)行模擬來(lái)實(shí)現。
鼠標跟蹤消息的要點(diǎn):響應消息WM_MOUSEMOVE WM_MOUSELEAVE WM_MOUSEHOVER 在WM_MOUSEMOVE消息中處理__TrackMouseEvent()函數。
java程序員實(shí)習日記(六)
最近到網(wǎng)上找了些視頻資料,看后很過(guò)癮,可看歸看,一動(dòng)手寫(xiě)代碼就傷神了。忘說(shuō)內容了,其實(shí)看的就幾個(gè)與Java編程相關(guān)的開(kāi)源框架 (Struts+Spring+Hibernate)而已,不過(guò)涉及到的東西就多了,開(kāi)發(fā)平臺用的是Eclipse+MyEclipse,這個(gè)還好應付,裝上設一下環(huán)境變量就搞定,跟JDK差不多。難的是在這之上的插件的應用,要知道開(kāi)源的東西特多,很多其實(shí)多差不多,但你卻不得不花時(shí)間去了解,而且版本的兼容性問(wèn)題有時(shí)會(huì )讓你不知從哪處理是好。開(kāi)源而且集成的東西用起來(lái)是好,感覺(jué)就是復雜了一點(diǎn)!尤其是面對一大堆英文文檔或者官方英文指導手冊時(shí)候,砸電腦的沖動(dòng)都有呀!
java程序員實(shí)習日記 篇2
實(shí)習日記1
第一次是來(lái)面試,當時(shí)感覺(jué)不怎么好,面試的人問(wèn)了一些問(wèn)題有些沒(méi)回答上來(lái),這并不奇怪,C#自己學(xué)習了2個(gè)月,然后就沒(méi)怎么用,回答不上我覺(jué)得可以理解。沒(méi)想到還能第二次來(lái)到公司,由于對環(huán)境還比較陌生,所以今天大概熟悉了一點(diǎn),成都這邊有50多個(gè)員工,屬于研發(fā)中心,主要從事無(wú)線(xiàn)微波得較大型的設備的再加工,聽(tīng)同事說(shuō)以前在北京,但由于北京人力資源太貴所以來(lái)到成都,這聽(tīng)起來(lái)怎么像是在壓榨的感覺(jué)啊,沒(méi)關(guān)系,只是來(lái)實(shí)習而已。
對于今天的第一個(gè)小任務(wù),要求:界面、數據壓入堆棧、簡(jiǎn)單冒泡排序實(shí)現數據有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺都得到了加強,此外在實(shí)現過(guò)程中對用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實(shí)現。
實(shí)習日記2
今天對昨天的實(shí)例進(jìn)行了改進(jìn)和提高,將堆排序和冒泡排序封裝在一個(gè)動(dòng)態(tài)鏈接庫中,提供函數調用和事件委托。此外加入XML進(jìn)行配置,在XML中存入相關(guān)配置信息,提供一個(gè)單獨的XmlClass對其進(jìn)行操作,加深了對xml的理解。為增加程序的性能,采用簡(jiǎn)單工廠(chǎng)模式對其客戶(hù)端和算法操作進(jìn)行分離,有很好的可擴展性,對于C#的動(dòng)態(tài)鏈接庫和XML配置不怎么熟悉,花了很長(cháng)一段時(shí)間看書(shū)和網(wǎng)上查資料,才開(kāi)始動(dòng)手寫(xiě)代碼,不過(guò)感覺(jué)還是很快,因為自己有編程的能力,可以說(shuō)掌握了一種快速編程的方法,所以就能駕輕就熟。
實(shí)習日記3
今天采用抽象工廠(chǎng)模式對實(shí)例進(jìn)行改進(jìn),以達到動(dòng)態(tài)加載算法實(shí)例,抽象工廠(chǎng)模式屬于設計模式中的內容,自己在學(xué)習視頻的時(shí)候注意到了,所以之前就買(mǎi)了本大話(huà)設計模式來(lái)學(xué)習,可以說(shuō)了解了大部分設計模式。今天遇到后自己心里也有底,溫故一下書(shū)就知道怎么做了,可以說(shuō)這是我學(xué)習的方法。
針對以上,在dll中提供一個(gè)接口,兩個(gè)算法都繼承了該接口,對于該dll的操作都通過(guò)接口ISort進(jìn)行,此外,修改工廠(chǎng)為抽象工廠(chǎng),提供一個(gè)接口創(chuàng )建算法,在算法中返回ISort實(shí)例,在主函數中使用該實(shí)例進(jìn)行對應的排序算法操作,充分顯示了抽象工廠(chǎng)的作用,本例子將反射和抽象工廠(chǎng)模式結合,增加了程序的可擴展性和可維護性。
實(shí)習日記4
由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開(kāi)始做一些這次項目的東西,說(shuō)了一句“我可是沒(méi)把你當實(shí)習生哦!,這話(huà)一聽(tīng)當時(shí)感覺(jué)還好,不過(guò)后來(lái)一想,我卻是吃虧了,他不把我當實(shí)習生但給我的卻是實(shí)習生工資,這點(diǎn)有點(diǎn)想不過(guò)去,不過(guò)沒(méi)關(guān)系,實(shí)習嘛就是學(xué)習,有基本工資也不錯了,關(guān)鍵的公司提供的條件那是在學(xué)校里所得不到的:商業(yè)性的問(wèn)題。
今天將上述實(shí)例的方法用到本次項目中,開(kāi)始項目中的一些任務(wù)。仍然使用抽象工廠(chǎng)模式,將自定義窗體封裝到類(lèi)庫中,將窗體的控件預留到外部進(jìn)行實(shí)施定義;在XML文件中配置窗體的實(shí)際參數,利用反射按從XML中讀出的參數動(dòng)態(tài)加載窗體。將上述的實(shí)例方法運用到了實(shí)際項目中。
實(shí)習日記5
昨天的任務(wù)基本已完成,今天溫習了一下加深了對知識的理解,可以說(shuō)掌握得比較牢固了,今天又有新的任務(wù),可以說(shuō)每天都在進(jìn)步。
按組長(cháng)要求編寫(xiě)RankStyle=Group時(shí)的窗體排列方式,在XML中配置控件或窗體的參數,利用XML讀接口從XML中讀出參數,為了使程序具有靈活性,在組長(cháng)的提示下將窗體的配置按照窗體的Name屬性進(jìn)行配置,之前是利用字段的方式寫(xiě)在XML中,但是組長(cháng)說(shuō)這樣的話(huà)在程序中查找不方便,可我覺(jué)得沒(méi)什么啊,當然了,對于我這個(gè)沒(méi)有工作經(jīng)驗的人來(lái)說(shuō)看什么都是可以的,所以要多學(xué)習學(xué)習。在FormControl中利用雙層循環(huán)將控件容器中的控件按Name與讀出的配置進(jìn)行匹配,如果在XML中配置了該窗體,就設置該窗體的一些屬性。個(gè)人感覺(jué)實(shí)現了該功能吧,最后經(jīng)過(guò)組長(cháng)看了一下審核基本通過(guò)。要求:
根據Group,從XML中讀取控件配置信息,動(dòng)態(tài)設置控件在主窗體中的`顯示。
實(shí)習日記6
每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將DLL中的控件更換成窗體,方法仍然采用反射+抽象工廠(chǎng)模式。
雖然自己有一定編程經(jīng)驗,但是遇到問(wèn)題是不可避免的,今天在編寫(xiě)過(guò)程中遇到了一個(gè)問(wèn)題,就是當窗體接口和窗體類(lèi)庫放在一起的時(shí)候,在工廠(chǎng)中創(chuàng )建的實(shí)例無(wú)法裝換成接口類(lèi)型,經(jīng)過(guò)多次測試和上網(wǎng)查閱相關(guān)資料,發(fā)現控件類(lèi)實(shí)現接口,不能將接口放在同一個(gè)類(lèi)庫中,針對以上問(wèn)題在網(wǎng)上查閱相關(guān)資料,結果還是沒(méi)有相同的主題,沒(méi)辦法,只有硬著(zhù)頭皮在網(wǎng)上找,沒(méi)有主題就找有沒(méi)有相關(guān)的例子,結果還是沒(méi)有,差點(diǎn)就無(wú)語(yǔ)了,突然看到有類(lèi)似方法的一個(gè)例子,真是柳暗花明又一村啊,仔細看了看,發(fā)現他和我的結構有些差異,所以調了一下結構,一編譯果然痛過(guò)了,就是將兩個(gè)類(lèi)庫分離,再在接口中加入工廠(chǎng)便可創(chuàng )建實(shí)例并轉換成接口。在主窗體中只需要引用該接口類(lèi)庫便可達到要求,使程序耦合性降低了。
實(shí)習日記7
由于黎甫對DLL的要求發(fā)生變化,今天就不斷修正DLL程序,并驗收,再結合Group的窗口排列方式對DLL中的窗體進(jìn)行測試。我現在才明白,編寫(xiě)代碼是一件很容易的事,但是編寫(xiě)好的代碼卻是很難的事情,好的代碼要有可維護性、可擴展性,這樣在修改的話(huà)就很簡(jiǎn)單,可不能像我昨天寫(xiě)得代碼,根本談不上藝術(shù),所以一旦面對客戶(hù)的要求,改動(dòng)就很困難,這一點(diǎn)值得我繼續學(xué)習。
至于可擴展性也是對維護的擴充,因為顧客的要求有可能隨時(shí)都在改變,我們也得適應客戶(hù)的要求,如果軟件有了可擴展性,那么它的改動(dòng)就比較小,就能適應顧客的要求。所有上面說(shuō)的這些都是自己要學(xué)習的地方,這樣在以后的商業(yè)開(kāi)發(fā)中才能游刃有余,應對自如。
實(shí)習日記8
回顧前幾天所做的練習,對遇到的問(wèn)題進(jìn)行解決,在網(wǎng)上查閱相關(guān)資料獨立解決,并對之前的一些項目練習做好備份。將這幾天練習中所用的編程方法都串聯(lián)了一遍,形成了固定的模式,以便在今后可以快速的使用。
實(shí)習日記9
今天算是正式開(kāi)始做公司的項目,上午黎甫和秦陽(yáng)在會(huì )議室給我講解了項目的一些功能并進(jìn)行討論,大致理解了項目后,分配了自己的一部分任務(wù),整理過(guò)后在多次與秦陽(yáng)的溝通請教下明白了自己的任務(wù),下午秦陽(yáng)建好VSS,我拷貝項目進(jìn)行框架整合和測試。在編寫(xiě)代碼的過(guò)程中也涉及了一些問(wèn)題,通過(guò)看MSDN和上論壇,基本得到解決,同時(shí)也了解了一些C#其它的相關(guān)知識。
實(shí)習日記10
今天繼續昨天的任務(wù),做一個(gè)小測試,將現今做的項目所有代碼進(jìn)行整合測試,測試要求是在數據庫中配置菜單項,動(dòng)態(tài)添加幾項菜單項,在不同點(diǎn)擊下動(dòng)態(tài)從DLL中加載窗體讀取配置文件進(jìn)行排列,順利完成。
【java程序員實(shí)習日記】相關(guān)文章:
Java程序員實(shí)習總結04-05
java程序員實(shí)習的目的03-14
java程序員簡(jiǎn)歷11-07
java程序員面試指南11-26
Java程序員面試寶典12-14
如何面試java程序員04-04
java程序員自我介紹04-17
java程序員辭職信08-24