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