- 相關推薦
java項目收獲總結
總結是對過去一定時期的工作、學習或思想情況進行回顧、分析,并做出客觀評價的書面材料,它可以提升我們發(fā)現(xiàn)問題的能力,讓我們來為自己寫一份總結吧。那么總結應該包括什么內容呢?以下是小編為大家整理的java項目收獲總結,供大家參考借鑒,希望可以幫助到有需要的朋友。
java項目收獲總結1
這是一次比較完整的團隊合作項目,它要求團隊各成員對系統(tǒng)的主體設計搭成一定的共識,這包括數(shù)據(jù)庫設計,需求分析,以及其它一些細節(jié),因此在編碼之前的準備工作一定要充分。
在設計之前,我們兩組對于數(shù)據(jù)庫的設計進行了激烈的討論,最后在一些關鍵的問題上統(tǒng)一了意見。接下來的工作便是需求分析,具體結構設計,并制訂小組項目詳細計劃,項目的進行將嚴格按照所制訂的計劃執(zhí)行。然后小組成員對各自的數(shù)據(jù)庫進行了設計,并且以數(shù)據(jù)字典的形式進行了共享。
企業(yè)級人力資源系統(tǒng)分為十個子系統(tǒng):機構編制管理、人員信息管理、人事檔案管理、考勤管理、薪資福利管理、社會保障管理、招聘管理、合同管理、查詢統(tǒng)計管理、系統(tǒng)管理。
我負責人員信息管理子系統(tǒng),這方面需要處理的業(yè)務邏輯比較少,表單比較多,要把握好與其它子系統(tǒng)的關聯(lián)。員工基本信息表是與其它子系統(tǒng)關聯(lián)的橋梁,大部分表都涉及到與基本信息表的外鍵關聯(lián)。其中,職員編號(employeeId)是作為外鍵關聯(lián)的字段,我給它設置了自增長。有人認為在企業(yè)里,職員編號應該是有一定規(guī)律的數(shù)字,而不應該設置自增長。這樣的是想法很符合實際情況,后來我和兩個組長討論,認為自增長可以保證數(shù)據(jù)的唯一性,非自增長的主鍵在增加時可能遇到不可知的問題,并且其他組員的數(shù)據(jù)庫已經設計好,改起來就麻煩了。因此最終職員編號采用了自增長。
有了上面的共識,接下來的重要工作便是依次完成表的增刪改查、數(shù)據(jù)校驗。其中,分頁和批量刪除是我計劃最后完成的部分,并且一定要完成。
基本數(shù)據(jù)校驗按各數(shù)據(jù)格式進行,例如手機號、e-mail等。另一方面要對職員編號與姓名的一致性,職員編號的.存進行驗證,這些通過DAO里面的方法實現(xiàn),針對出錯,用JS給出友好的提示。
在做好基本功能的前提下,爭取做出特色。我嘗試寫了Hibernate分頁、批量刪除的代碼,最后都測試成功。同時加入了JS控件,對于一些有特殊格式要求的字段,防止用戶填寫錯誤(比如日期的填寫格式為yyyy-mm-dd),使系統(tǒng)更加人性化。經過討論,對員工基本信息主表及與其關聯(lián)的所有表,配置級聯(lián)刪除。當主表信息被刪除時,與之外鍵關聯(lián)的子表信息同時被刪除。
回顧這段歷程,遇到了一些瓶頸,例如批量刪除時如何有效的處理選中的id,要明白它得到的是一個String[],需要轉化成int[]就好辦了。關于分頁,我也是琢磨了好久。在網上看了不少實例,具體實現(xiàn)起來還是一頭霧水。就在項目驗收的前兩天晚上,我決定自己寫的試試。第一個方法是需要獲取表里面總記錄數(shù)count,按照套路執(zhí)行hql,我這樣處理了結果:
count = list.size();結果出了問題。數(shù)據(jù)庫里有6條記錄,結果打印出count為1。在這里折騰了好久,后來打印list為[6],這下才明白list.size()得到的是list里元素的個數(shù),這個元素是6 ,我需要獲取的是元素的是值(基礎知識薄弱)。明白這點就好辦了,最后我是這樣處理的
String a = list.get(0).toString(); //獲取list第一個元素(對象),并轉換成String
count = Integer.parseInt(a); //將a轉換成int,得到count 這樣做分頁的第一步就完成了。第二天早上比較順利的完成了剩下的代碼并測試成功。 相比網上的分頁代碼,總的來說我寫的很容易看懂,至于它有什么問題目前還不知道。
通過這次項目經驗,我明白了只要想到了,就一定可以做到。不要畏懼,困難并不像想像中的那么可怕。一味的逃避將得不到真正的鍛煉。要時刻和隊友交流,分享成果。兩個人總比一個人知道的多。
java項目收獲總結2
本次培訓分為兩個階段。前五天是第一階段。我們學習了理論知識,鞏固和深化了所學的編程知識。下面說說個人感受和經歷:
一、我學習理論知識
在最初的五天實踐培訓中,我們學習了java編程的理論課程。班主任幽默嚴謹。在老師的指導和啟發(fā)下,我們鞏固了以前在學校學過的編程知識,加深了它,澄清了一些以前對編程技術了解的錯誤或模糊的概念。
在課堂上,我們還以java中GUI編程常用的swing框架和JAVA的容器系統(tǒng)為切入點。在此期間,框架不僅學習了一般的編程知識和技能。在對框架全面系統(tǒng)的了解中,我也學到了框架中的泛型技術和架構思想的知識。在企業(yè)的實際編碼過程中,每一個框架都構成了軟件的基石。只有掌握幾個框架知識,我們才能在實踐中高效發(fā)展,才能使我們的產品立足于市場敗之地。
在理論課的學習過程中,我們也暴露了一些問題,比如在學校上課學習時,對所學知識只是知其然而不知其所以然,不太愿意深鉆,和超前學習一些知識。
二、項目開發(fā)實戰(zhàn)練習
在結束了理論知識的學習之后,后五天我們在實訓基地進行了項目開發(fā)的實戰(zhàn)練習。
項目的名稱是superVCD,是由海輝曾經所接的一個遠程音樂唱片管理軟件項目的精簡版。雖然有所精簡,但是其內容對我們學習仍具有相當?shù)膬r值,對我們了解真實的軟件的設計規(guī)范,編碼規(guī)范,文檔規(guī)范以及客戶對軟件的需求很有參考價值。該內容囊括了GUI設計和編碼,容器與泛型的知識,規(guī)范文檔編寫,測試及日志系統(tǒng),甚至要求我們實現(xiàn)一個專用的輕量級數(shù)據(jù)庫系統(tǒng),這無疑是對我們很好的一次歷練機會,同時可以積累豐富的知識。
平時我們很少有機會能夠完成一個如此規(guī)模的項目,所以在這次項目實戰(zhàn)訓練中,我的收獲也有很多。
第一,我學會了如何規(guī)范的編寫代碼和文檔。文檔和代碼是團隊各成員在項目開發(fā)交流合作中的紐帶,風格隨意混亂的代碼和缺失或語義不明的文檔會讓團隊中的其他成員不能理解和使用自己寫的程序,我在平時編寫代碼比較隨意,并不注重這一點,經歷這次實戰(zhàn)演練之后,我一定會嚴格的遵守編碼規(guī)范。
第二,我學會了如何理解和分析客戶的需求。軟件為客戶而生,只有理解了客戶的需求才有寫出優(yōu)秀的軟件的.可能,在這次實戰(zhàn)演練中,老師教會了我們如何組織團隊正確的理解和分析客戶的需求,并寫出完善的需求分析,并用于項目開發(fā)。
第三,我學會了對按照需求對軟件架構進行設計,這點我想是我們許多同學之前都非常欠缺的,因為我們在學校的時編寫代碼篇幅短小,功能單一,所以設計思路通常只留于腦內,非常模糊。而在這次項目開發(fā)演練中,老師手把手的教會我如何從需求中抽象出問題,并將之模塊化,然后逐步求精,就如同為高樓大廈搭建棟梁。
第四,我學會了如何團隊合作,共同開發(fā)。作為項目開發(fā)小組的組長,我的體會更加深刻。獨木難支,光靠一個人的力量是遠遠不夠的。只有管理組織好一個團隊,才能夠最終完成項目的開發(fā),或許在編程技術水平上團隊成員有高有低,但是,每個人都有自己的閃光點,總可以在團隊的找到適合自己的位置,每個人在自己的團隊中做的貢獻,創(chuàng)造出不可磨滅的重大價值。
第五,我學會了如何與客戶溝通并展示自己的項目,軟件項目的開發(fā)最終需要的是客戶的認可,讓客戶了解并認可自己的產品最好的辦法就是用言語將自己的項目的最好的一面展示出來,在最后一天里,實訓的老師組織了項目的答辯,給我們提供了鍛煉自己的表達能力,展示自己的項目的舞臺。
在實戰(zhàn)的過程中,我對項目開發(fā)流程有了切實的體會:學會了如何編寫規(guī)范合格的代碼和文檔;學會了了正確理解分析客戶需求并設計項目的方法;體會到了團隊合作精神的重要性,明白了組織團隊進行項目開發(fā)的具體流程,還了解到了向客戶展示產品以及與客戶進行溝通的技巧。
經歷過這次實習實訓,我們不僅在編程的理論知識上有所鞏固和深化,更重要的是有了實戰(zhàn)進行項目開發(fā)鍛煉動手能力的機會,積累了一筆寶貴的經驗。實訓雖已結束,但我們的不斷學習的征途才剛剛邁出第一步。今后的路還很長,還有很多機會去實習提高,我們要以更加積極的姿態(tài)去充實自己,學習,不斷地迎接挑戰(zhàn)。
java項目收獲總結3
在通過將近一個月的項目中,使我學到咯很多的東西,也讓我看到了我自己的一些在知識上不足,也將使我在后面java web的學習中還要更加努力,以便在以后能找到自己適意的工作,也不枉費在朗沃9個多月的學習,在這次項目中讓我學到了很多的東西,不只是代碼上的知識,也學諜咯java框架上的一些基本東西,還有層次結構的好處和又來,比如:MVC思想,MVC的又來有開始的兩層結構到三成結構的過度以及兩層結構的優(yōu)缺點,以及現(xiàn)在流行的三層結構的優(yōu)缺點,DAO模式的應用,對象的封裝,socket通信的原理以及用socket發(fā)送對象等很多的知識點,怎樣實現(xiàn)封裝使得更好的保護數(shù)據(jù),實現(xiàn)java的三大特點,使代碼的耦合度降低提高內聚力類和類之間的依賴性降低使模塊和模塊之間的層次分明,實現(xiàn)代碼的復用和實現(xiàn)結構的復用使得開發(fā)一個系統(tǒng)的性能更加的優(yōu)異。
在這次項目中使我對java面向對象的認識有了更時刻的印象,對“萬物皆為對象岜整個理念有更深層次的理解,通過和老師的'交流和上網了解的一些知識,其實搞軟件的實質并不使在代碼上實現(xiàn)一個什么什么的功能,你只要愿意去著你用你所學的知識肯定能夠實現(xiàn)某一個功能,但學軟件的最根本使分析和設計,所以現(xiàn)在市面上會設計的人才使最來錢的人,在軟件開發(fā)的生命周期中編碼其實使占很小一部分工作,數(shù)據(jù)庫設計人員和java的框架技術人員使很賺錢的,也只有對在對象上有更多的了解你才能從代碼層次上上升為另一種理念過后你才能在以后的編碼中設計出更加優(yōu)異和性能更高的代碼,也只有這樣那么你將來才有可能成為一個合格的程序員(不時編碼高手),在二個項目中的開發(fā)中使我團隊開發(fā)軟件上有了了解,也使我了解了在團隊開發(fā)軟件的時候的一些注意點,不能隨便更改類名,方法名悻變量及其修飾符,如果你一時興起該了的話那么在項目融合的時候問題機會層出不窮,就有可能使你的項目失敗,所以規(guī)范時很重要的,代碼的規(guī)范將很大層次上的說明你對代碼的熟念度。
在這次項目中使我對層次模型有了了解,在你那到一個項目文檔的時候你比不使馬上就開始編碼而是,找到每個層次上類,找到邊界類,根據(jù)相應的業(yè)務設計出數(shù)據(jù)庫原型,在數(shù)據(jù)庫原型出來之后在設計數(shù)據(jù)庫的表和表之間的關系,只有層次模型在你腦海中有深刻的印象的時候那么你的編碼當然也就很順利的實現(xiàn),層次模型一旦建立那么你代碼上實現(xiàn)就圍繞這個架構來寫,那么你的系統(tǒng)才有可能成功,這樣在添加業(yè)務或者使更改業(yè)務時才很方便更改一個地方不會影響到其他的層次,這樣才有可能提高你系統(tǒng)的靈活性和擴展性,這也時衡量一個系統(tǒng)好壞的標準,在這次項目開發(fā)中用到咯大量的配置文件比如:用屬性文件來建立socket連接,用xml文件在找業(yè)務類,這樣有使我對配置文件的好處又有了一定的了解:合理的使用配置文件時提高代碼靈活性的一個方面,在建立套節(jié)字連接的時候用配置文件可以很方便的更改我在那個端口號上建立連接,在看不到源代碼的時候我也可以更改在其他端口上建立socket連接,在業(yè)務的時候用xml文件來找相應的業(yè)務類,這樣就可以在還要添加業(yè)務的時候只需要在xml文件中在添加業(yè)務,在寫起相應的代碼就可以實現(xiàn),用配置文件找業(yè)務還又一個好處就是在調用業(yè)務的時候不用對業(yè)務類靜態(tài)的創(chuàng)建一個對象,而是用反射的方式找到調用那個方法,而是在程序執(zhí)行的時候在創(chuàng)建對象在對象用完之后在釋放資源,這樣就可以減少電腦內存的消耗,使得程序的性能更加優(yōu)異。
同時也增強了代碼的靈活性。
在用JDBC獲去數(shù)據(jù)庫連接對象的時候,其實時很有學文的咯,你如果在用連接對象的時候就要數(shù)據(jù)庫建立連接對象,在用完諸后就關閉連接對象,在很多用戶同時來運行你的系統(tǒng)的時候,就將產生很多的連接對象,這樣有使得你的系統(tǒng)性能降低,很好的解決辦法就是用數(shù)據(jù)庫連接池:在程序啟動的時候就建立最大連接和最小連接,當多用戶請求的時候只需從數(shù)據(jù)庫連接池中那出連接對象,這樣就可以減少多次連接對象,開始在最大連接對象和最小領接對象的選擇上又有了問題,創(chuàng)建最大連接時多少呢?最小連接有是多少呢?如果一開始最大連接數(shù)過多,而用戶有很少那么就浪費資源,并且系統(tǒng)啟動將會很慢,如果最大連接數(shù)過少那么程序啟動很快但在啟動后運行程序時有會很慢,最小連接數(shù)如果很小,那么在很多客戶訪問的時候將會很慢,合理利用數(shù)據(jù)庫連接池將會很大部分的提高程序的性能、在這次項目還用到了日志文件來記錄錯誤信息,在這次項目中還用到了很多的知識點我就不一一的在這里列舉了。
順便給大家?guī)椎烂嬖囶}(是前面部的同學給我說的):
1、談談final、 finally、 finalize的區(qū)別。
2、HashMap和Hashtable的區(qū)別。
3、說說你對ejb的認識。
4、GC是什么? 為什么要有GC?
5、談談你對抽象類與接口認識?
java項目收獲總結4
Java有三個體系,JavaSE、JavaME、JavaEE。JavaSE是桌面應用;JavaME屬于企業(yè)級應用,用于網絡編程,是對JavaSE 的拓展;JavaEE即移動設備,是手機類嵌入式編程,是對JavaSE的縮減。一上來肯定先接觸Java最基礎的技術JavaSE,學完JavaSE之后覺得基礎夠扎實了,就可以往JavaME、Android移動領域發(fā)展,也可以往Java Web、JavaEE方向去發(fā)展。但是前提一定要對JavaSE知識學扎實,要不然到了后面學起來會很困難。我們主要學習JavaSE。
一、JavaSE體系的知識:
1、基礎語法:Java關鍵字,類型轉換、循環(huán)語句、方法、運算符、遞歸。
2、面向對象編程(重中之重):面向對象設計思想、對象與內存(重點)、方法重載、對象創(chuàng)建使用、this的使用、final的使用、super的使用、 static的使用、package和import的運用、對象轉型、多態(tài)、抽象類、接口等基本的知識點。其中重點掌握有封裝、繼承、多態(tài)、抽象類、接口。
3、異常處理:try{...}catch(Exception e){...}、異常的分類、finally的使用、方法異常的拋出、自定義異常。
4、數(shù)組:基本的數(shù)組操作。二維數(shù)組的使用。
5、常用類:String類、StringBuffer類、Math類、File類等等。
6、容器:Java.util 包下,有三個接口List、Set、Map,List下面有ArrayList、Vector、LinkedList,Set下有HashSet、 TreeSet,Map下有HashMap、HashSet,當然了,還有Dictionary下的HashTable,HashTable下的子類 Properties,容器就這么一點東西。
7、Java.IO包:學過繼承、多態(tài)、接口之后,容器和這一節(jié)就要用上,一開始是比較難理解,一旦理解了,通過觸類旁通,其他也就是這樣子學,這個IO里面最典型的設計模式是:裝飾設計模式,大家學習的時候也可以結合這個設計模式來學。
8、線程:線程的兩種實現(xiàn)方式,Synchronized關鍵字——同步,死鎖等問題。
9、 GUI:現(xiàn)在用的不多, MVC,在swing中體現(xiàn)的淋漓盡致。
10、日期 處理、正則表達式。
二、java特點
1、面向對象的語言;
2、一種與平臺無關的語言,提供程序運行的解釋環(huán)境;
3、一種健壯的語言(語法上沒有指針,內存的申請與釋放)。
面向對象的特點:封裝性、繼承性、多態(tài)性。
三、java語法基礎
1、標識符,對大小寫敏感,長度不限,包括字母、數(shù)字、下劃線、美元符號;
2、關鍵字,全為小寫;
3、java基本數(shù)據(jù)類型
(1)基本:數(shù)值型、字符型、布爾型(邏輯);
(2)引用:類、接口、數(shù)組。
數(shù)據(jù)類型轉換時要注意布爾型不能轉換為其他數(shù)據(jù)類型。容量小到容量大的轉化為自動轉化,反之為強制類型轉化。
4、運算符,new也是一種運算符。
5、表達式和語句
6、分支即選擇,雙分支、多分枝可用switch
7、方法,方法的重載表示一個類中定義相同名字不同參數(shù)的多個方法,構造方法也可以重載。重寫需注意:(1)繼承是重寫的前提;(2)重寫只能改變方法體中的內容,方法名,參數(shù)列表、返回值類型都不能改變;(3)方法重寫不能使用比被重寫的方法更嚴格的訪問權限。
8、變量的作用
9、遞歸的調用
四、心得體會:
1.我感覺學習java應該是循環(huán)漸進,有始有終,按部就班,腳踏實地.java是一門有著階梯性的語言,如果要學習它.我覺得最好還是按照java的學習體系,先學習什么,在學習什么,只有這樣,我們在學習中才會遇到更少的麻煩.java是一門更傾向于網絡的語言.不要上來就學習JSP,這樣不好,因為這沒有基礎.在以后的學習中很可能遇到很多的麻煩。
2.信心,恒心,毅力是最重要的,這是我們必須具備的心理素質。要是學習這門語言開始的時候很有興趣,遇到苦難就退縮,從而最終會放棄學習java。沒有經歷風雨怎么見彩虹,編程有的時候就是那么折磨人,會遇到很多的'困惑。但是一旦你弄懂了,或者是你把問題解決了,你會感到很興奮,編程的快樂就在此 了。
3.多看看一些資料,多多的向高手請教,這樣才好.要學會總結和領會。當然,學習java一個人有一個人的想法,也有自己的獨特學習方法,總之適合自己的就是最好的。
4.之前我覺得學習Java只需理解Java的語法,多練就可以,但是卻缺少去背,所以學過了很容易就忘記了,其實還是要多點背。不是什么都背,比如背背那些語法,背得多記得熟用起來就順手,有時候覺得能看懂Java的知識點,但是在寫項目的時候卻寫不出來,背Java的基本知識還是很有必要,以前我總是認為學技術就靠你的動手能力,沒必要像文科那樣去背,從此對背東西有了陰影,到現(xiàn)在都不喜歡背,所以記得東西不多。 因此很多基本的東西是務必要背,務必要記的。
java項目收獲總結5
這段時間,在領導和同事們的關懷和指導下,我通過不懈努力,各方面均取得一定的進步,現(xiàn)將我的工作情況做如下匯報:
一、通過理論學習和日常工作積累經驗我的各方面有了很大的進步。
剛到公司不久,我便開始負責.NET方面的網站開發(fā)和廣告平臺開發(fā)和維護,剛開始的時候對我來說確實壓力很大,因為各方面都還不熟悉,而且與之前的公司相比,節(jié)奏也有點快,不過我慢慢的習慣了環(huán)境,和同事相處的比較融洽,領導對我也比較關心,在公司里工作就像是在一個幸福的大家庭里一樣,我很快喜歡上了這里。
我到公司不久,第一個項目是xxx公司網站,做這個項目的時候我遇到了幾個問題,我在以前公司做的時候沒有在這么短的時候完成一個項目的,在效率上提高了我的能力。做這個項目的時候我也遇到了許多以前沒有遇到過的'問題,我請教同事和朋友,還有借助網絡一一解決了難題。
之后,我將B2B廣告招商平臺進行了改版,開發(fā)了xxx智能建站廣告平臺以及以后網站的維護工作。
接下來,我又做了一個比較棘手的項目――xxx在線咨詢系統(tǒng)。為什么說棘手呢,因為我以前沒有做過這方面的項目,而且我問遍了所有認識的朋友,搜遍了網絡也沒有找到如何解決的方法,之后我翻書籍,接著搜索網絡。功夫不負有心人,終于我找到一個聊天室的小例子,但是功能差的太遠,于是我把這個示例一點點的研究,從一點也不懂到后來慢慢看懂,從對AJAX技術一無所知到基本熟練運用。接下來我就開始自己開發(fā),到最后終于把它開發(fā)了出來,雖然不是很完美,功能不是很強大,但是它是我辛苦的勞動結晶,我相信以后會把它開發(fā)的更強大,更完美。
二、明確崗位職能,認識個人技術能力不足。
經過三個多月的工作,雖然完成了一些項目的開發(fā),我的技能也提高了很多,但是感覺我的技術還有待提高,所以我會在以后的工作中更加努力,努力提高自己的技術和各種不足,努力使自己成為一名稱職的職員。
三、提出自己努力計劃
1、學無止鏡,時代的發(fā)展瞬息萬變,各種學科知識日新月異。
我將堅持不懈地努力學習各種技術知識,并用于指導實踐。
2、“業(yè)精于勤而荒于嬉”,在以后的工作中不斷學習知識,通過多看、多學、多練來不斷的提高自己的各項技能。
3、不斷鍛煉自己的膽識和毅力,提高自己解決實際問題的能力,并在工作過程中慢慢克服急躁情緒,積極、熱情、細致地的對待每一項工作。
4、努力提高自己的日常交際能力。
時光流轉間,我已到公司工作三個多月。非常感謝公司領導對我的信任,給予我體現(xiàn)自我、提高自我的機會。這三個多月的試用期工作經歷,使我的工作能力得到了由校園步入社會后最大幅度的提高。