java工作總結(jié)(通用5篇)
java工作總結(jié) 篇1
經(jīng)過(guò)三個(gè)星期的學(xué)習(xí),我們終于把這個(gè)圖書(shū)館管理系統(tǒng)做出來(lái)了,雖然做得不是很完美,但是卻是我們這個(gè)小組的每一個(gè)成員辛苦了三個(gè)星期的成果,我們?yōu)榇烁械介_(kāi)心。
說(shuō)實(shí)話(huà),我們這一組的JAVA都學(xué)得不是很好,上課也聽(tīng)得不是很明白,所以在剛開(kāi)始做的時(shí)候,我們每一個(gè)人都認(rèn)為這是一個(gè)不可能完成的任務(wù),剛開(kāi)始我們也想過(guò)要放棄,想想這么難怎么可能完成呢!可是后來(lái)看到其他組都在認(rèn)真的做任務(wù),我們想想也不能這樣放棄,至少也得試試,如果不會(huì)的話(huà),再去請(qǐng)教會(huì)的人,學(xué)習(xí)不就是從不會(huì)到會(huì)的!
于是第一個(gè)星期我們把任務(wù)分配好了,但是這一周我們把大部分的時(shí)間浪費(fèi)了,也沒(méi)有做出來(lái)什么,只是把一個(gè)簡(jiǎn)單的界面做好了。
不過(guò)我們也很開(kāi)心了,因?yàn)橹辽偈俏覀冏约鹤龀鰜?lái)的,雖然沒(méi)有太完善。
第二個(gè)星期我們開(kāi)始做每一個(gè)版塊的功能模塊,一共要完成三個(gè)版塊,我們六個(gè)人分成兩組我們這組要完成最近一個(gè)系統(tǒng)維護(hù)版塊,這個(gè)版塊包括兩大模塊,更改密碼和用戶(hù)管理,而我個(gè)人主要負(fù)責(zé)的是用戶(hù)管理這個(gè)版塊。
在實(shí)訓(xùn)的過(guò)程中我們還學(xué)到了JAVA的圖形化界面。
這讓我們很輕松的'就能把一個(gè)界面弄出來(lái),而不需要讓我們打很我繁瑣的程序代碼,當(dāng)然我的這個(gè)模塊的界面我花了半天就做出來(lái)了,做出來(lái)之后,接下來(lái)就是接監(jiān)聽(tīng),這對(duì)我來(lái)說(shuō)是一個(gè)難點(diǎn),起初我是一點(diǎn)也不會(huì)的,自己看書(shū)也只是看得懂,但也編不出來(lái),當(dāng)時(shí)我很著急,看到人家都做出來(lái)了。
沒(méi)辦法,我只能去請(qǐng)教其他同學(xué),同學(xué)們還是很友好的,很耐心的講解給我聽(tīng),后來(lái)終于搞得有點(diǎn)明白了,把我們這一部分的監(jiān)聽(tīng)做出來(lái)了。
第三個(gè)星期,是我們大家共同討論難點(diǎn)的時(shí)候,因?yàn)槲覀儼阉薪缑娑甲龀鰜?lái),監(jiān)聽(tīng)弄好了,最主要的是連數(shù)據(jù)庫(kù),這對(duì)我們來(lái)說(shuō)是一個(gè)不小的挑戰(zhàn),第一天我們一點(diǎn)頭緒都沒(méi)有,后來(lái)看到有同學(xué)去問(wèn)老師,我們就去請(qǐng)教那個(gè)同學(xué),最后我們還是弄出來(lái)了,但不是很完美,存在許多的缺陷。
而且我們對(duì)于這一塊還是弄得不太明白,糊里糊涂的。
就這樣,實(shí)訓(xùn)三周的時(shí)間就結(jié)束了,我們也總算把這個(gè)圖書(shū)館管理系統(tǒng)弄出來(lái)了。
在實(shí)訓(xùn)期間,讓我重新認(rèn)識(shí)了JAVA這門(mén)課,在還沒(méi)有實(shí)訓(xùn)的時(shí)候,我是對(duì)他沒(méi)有一點(diǎn)興趣也沒(méi)有了,但是經(jīng)過(guò)三周的實(shí)訓(xùn)讓我對(duì)它產(chǎn)生了濃厚的興趣,我想學(xué)習(xí)以后學(xué)習(xí)JAVA我不會(huì)像以前那樣漫不經(jīng)心的。
java工作總結(jié) 篇2
本次培訓(xùn)分為兩個(gè)階段。前五天是第一階段。我們學(xué)習(xí)了理論知識(shí),鞏固和深化了所學(xué)的編程知識(shí)。下面說(shuō)說(shuō)個(gè)人感受和經(jīng)歷:
一、我學(xué)習(xí)理論知識(shí)
在最初的五天實(shí)踐培訓(xùn)中,我們學(xué)習(xí)了java編程的理論課程。班主任幽默嚴(yán)謹(jǐn)。在老師的指導(dǎo)和啟發(fā)下,我們鞏固了以前在學(xué)校學(xué)過(guò)的編程知識(shí),加深了它,澄清了一些以前對(duì)編程技術(shù)了解的錯(cuò)誤或模糊的概念。
在課堂上,我們還以java中GUI編程常用的swing框架和JAVA的容器系統(tǒng)為切入點(diǎn)。在此期間,框架不僅學(xué)習(xí)了一般的編程知識(shí)和技能。在對(duì)框架全面系統(tǒng)的了解中,我也學(xué)到了框架中的泛型技術(shù)和架構(gòu)思想的知識(shí)。在企業(yè)的實(shí)際編碼過(guò)程中,每一個(gè)框架都構(gòu)成了軟件的基石。只有掌握幾個(gè)框架知識(shí),我們才能在實(shí)踐中高效發(fā)展,才能使我們的產(chǎn)品立足于市場(chǎng)敗之地。
在理論課的學(xué)習(xí)過(guò)程中,我們也暴露了一些問(wèn)題,比如在學(xué)校上課學(xué)習(xí)時(shí),對(duì)所學(xué)知識(shí)只是知其然而不知其所以然,不太愿意深鉆,和超前學(xué)習(xí)一些知識(shí)。
二、項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)練習(xí)
在結(jié)束了理論知識(shí)的學(xué)習(xí)之后,后五天我們?cè)趯?shí)訓(xùn)基地進(jìn)行了項(xiàng)目開(kāi)發(fā)的實(shí)戰(zhàn)練習(xí)。
項(xiàng)目的名稱(chēng)是superVCD,是由海輝曾經(jīng)所接的一個(gè)遠(yuǎn)程音樂(lè)唱片管理軟件項(xiàng)目的精簡(jiǎn)版。雖然有所精簡(jiǎn),但是其內(nèi)容對(duì)我們學(xué)習(xí)仍具有相當(dāng)?shù)膬r(jià)值,對(duì)我們了解真實(shí)的軟件的設(shè)計(jì)規(guī)范,編碼規(guī)范,文檔規(guī)范以及客戶(hù)對(duì)軟件的需求很有參考價(jià)值。該內(nèi)容囊括了GUI設(shè)計(jì)和編碼,容器與泛型的知識(shí),規(guī)范文檔編寫(xiě),測(cè)試及日志系統(tǒng),甚至要求我們實(shí)現(xiàn)一個(gè)專(zhuān)用的輕量級(jí)數(shù)據(jù)庫(kù)系統(tǒng),這無(wú)疑是對(duì)我們很好的一次歷練機(jī)會(huì),同時(shí)可以積累豐富的知識(shí)。
平時(shí)我們很少有機(jī)會(huì)能夠完成一個(gè)如此規(guī)模的項(xiàng)目,所以在這次項(xiàng)目實(shí)戰(zhàn)訓(xùn)練中,我的收獲也有很多。
第一,我學(xué)會(huì)了如何規(guī)范的編寫(xiě)代碼和文檔。文檔和代碼是團(tuán)隊(duì)各成員在項(xiàng)目開(kāi)發(fā)交流合作中的紐帶,風(fēng)格隨意混亂的代碼和缺失或語(yǔ)義不明的文檔會(huì)讓團(tuán)隊(duì)中的其他成員不能理解和使用自己寫(xiě)的程序,我在平時(shí)編寫(xiě)代碼比較隨意,并不注重這一點(diǎn),經(jīng)歷這次實(shí)戰(zhàn)演練之后,我一定會(huì)嚴(yán)格的遵守編碼規(guī)范。
第二,我學(xué)會(huì)了如何理解和分析客戶(hù)的需求。軟件為客戶(hù)而生,只有理解了客戶(hù)的需求才有寫(xiě)出優(yōu)秀的軟件的可能,在這次實(shí)戰(zhàn)演練中,老師教會(huì)了我們?nèi)绾谓M織團(tuán)隊(duì)正確的理解和分析客戶(hù)的需求,并寫(xiě)出完善的需求分析,并用于項(xiàng)目開(kāi)發(fā)。
第三,我學(xué)會(huì)了對(duì)按照需求對(duì)軟件架構(gòu)進(jìn)行設(shè)計(jì),這點(diǎn)我想是我們?cè)S多同學(xué)之前都非常欠缺的,因?yàn)槲覀冊(cè)趯W(xué)校的時(shí)編寫(xiě)代碼篇幅短小,功能單一,所以設(shè)計(jì)思路通常只留于腦內(nèi),非常模糊。而在這次項(xiàng)目開(kāi)發(fā)演練中,老師手把手的教會(huì)我如何從需求中抽象出問(wèn)題,并將之模塊化,然后逐步求精,就如同為高樓大廈搭建棟梁。
第四,我學(xué)會(huì)了如何團(tuán)隊(duì)合作,共同開(kāi)發(fā)。作為項(xiàng)目開(kāi)發(fā)小組的組長(zhǎng),我的體會(huì)更加深刻。獨(dú)木難支,光靠一個(gè)人的力量是遠(yuǎn)遠(yuǎn)不夠的。只有管理組織好一個(gè)團(tuán)隊(duì),才能夠最終完成項(xiàng)目的開(kāi)發(fā),或許在編程技術(shù)水平上團(tuán)隊(duì)成員有高有低,但是,每個(gè)人都有自己的閃光點(diǎn),總可以在團(tuán)隊(duì)的找到適合自己的位置,每個(gè)人在自己的團(tuán)隊(duì)中做的貢獻(xiàn),創(chuàng)造出不可磨滅的重大價(jià)值。
第五,我學(xué)會(huì)了如何與客戶(hù)溝通并展示自己的項(xiàng)目,軟件項(xiàng)目的開(kāi)發(fā)最終需要的是客戶(hù)的認(rèn)可,讓客戶(hù)了解并認(rèn)可自己的產(chǎn)品最好的辦法就是用言語(yǔ)將自己的項(xiàng)目的最好的一面展示出來(lái),在最后一天里,實(shí)訓(xùn)的老師組織了項(xiàng)目的答辯,給我們提供了鍛煉自己的`表達(dá)能力,展示自己的項(xiàng)目的舞臺(tái)。
在實(shí)戰(zhàn)的過(guò)程中,我對(duì)項(xiàng)目開(kāi)發(fā)流程有了切實(shí)的體會(huì):學(xué)會(huì)了如何編寫(xiě)規(guī)范合格的代碼和文檔;學(xué)會(huì)了了正確理解分析客戶(hù)需求并設(shè)計(jì)項(xiàng)目的方法;體會(huì)到了團(tuán)隊(duì)合作精神的重要性,明白了組織團(tuán)隊(duì)進(jìn)行項(xiàng)目開(kāi)發(fā)的具體流程,還了解到了向客戶(hù)展示產(chǎn)品以及與客戶(hù)進(jìn)行溝通的技巧。
經(jīng)歷過(guò)這次實(shí)習(xí)實(shí)訓(xùn),我們不僅在編程的理論知識(shí)上有所鞏固和深化,更重要的是有了實(shí)戰(zhàn)進(jìn)行項(xiàng)目開(kāi)發(fā)鍛煉動(dòng)手能力的機(jī)會(huì),積累了一筆寶貴的經(jīng)驗(yàn)。實(shí)訓(xùn)雖已結(jié)束,但我們的不斷學(xué)習(xí)的征途才剛剛邁出第一步。今后的路還很長(zhǎng),還有很多機(jī)會(huì)去實(shí)習(xí)提高,我們要以更加積極的姿態(tài)去充實(shí)自己,學(xué)習(xí),不斷地迎接挑戰(zhàn)。
java工作總結(jié) 篇3
一、考核期內(nèi)主要業(yè)績(jī),工作創(chuàng)新、工作質(zhì)量及成效:
1、.5.10—.7:聯(lián)通116114站開(kāi)發(fā)
完成116114網(wǎng)站首頁(yè)登錄及注冊(cè)、公告模塊、紅段子短信發(fā)送、地區(qū)二級(jí)聯(lián)動(dòng)、及一些公共代碼的實(shí)現(xiàn),在這個(gè)項(xiàng)目中學(xué)習(xí)了新的知識(shí)freemarker及ibatis,熟悉了jquery的使用,并對(duì)統(tǒng)一框架有了一定的了解。并在規(guī)定時(shí)間內(nèi)完成了開(kāi)發(fā)任務(wù)。
項(xiàng)目描述:
聯(lián)通116114站主要實(shí)現(xiàn)紅段子的定制與包月。紅段子內(nèi)容包括短信和彩信。是由用戶(hù)注冊(cè)成為會(huì)員,自行在網(wǎng)上發(fā)布紅段子,經(jīng)審核后發(fā)布,再由個(gè)人用戶(hù)到網(wǎng)站上包月或點(diǎn)播定制的一個(gè)業(yè)務(wù)。紅段子站建設(shè)目的,就是為了滿(mǎn)足和實(shí)現(xiàn)紅段子發(fā)布,定制流程。
視頻黃頁(yè)個(gè)人定制:個(gè)人用戶(hù)通過(guò)搜索引擎方式查詢(xún)視頻黃頁(yè),不注冊(cè)也可以進(jìn)行查詢(xún)搜索,查詢(xún)時(shí)用戶(hù)可選擇地區(qū),行業(yè),然后輸入關(guān)鍵字進(jìn)行搜索。搜索出結(jié)果后,個(gè)人用戶(hù)可點(diǎn)擊視頻黃頁(yè),進(jìn)行預(yù)覽或定制或包月。
2、.7—.9.15:質(zhì)檢考評(píng)系統(tǒng)0502、0503、0504版本測(cè)試
這段時(shí)間主要熟悉質(zhì)檢系統(tǒng)的業(yè)務(wù)及需求,學(xué)習(xí)一些測(cè)試的基礎(chǔ)知識(shí),如單元測(cè)試、集成測(cè)試、壓力測(cè)試、性能測(cè)試等,并能使用自動(dòng)測(cè)試工具qtp進(jìn)行一些重復(fù)的需要手動(dòng)測(cè)試的功能,使用loadrunner模擬多個(gè)用戶(hù)實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)。熟悉web應(yīng)用在websphere及weblogic服務(wù)器上的部署。在測(cè)試的這段時(shí)間,對(duì)質(zhì)檢系統(tǒng)的所有的功能都有了一定的了解,并發(fā)現(xiàn)了許多系統(tǒng)以前存在的問(wèn)題,項(xiàng)目提交測(cè)試部之后,沒(méi)有太多功能上的問(wèn)題。也為后期參與質(zhì)檢項(xiàng)目開(kāi)發(fā)作好了準(zhǔn)備。
但0504版本與其他版本依賴(lài)關(guān)系比較大,沒(méi)有測(cè)試環(huán)境,許多功能沒(méi)有測(cè)試,這個(gè)版本出現(xiàn)的問(wèn)題比較多。所以在以后工作中需要注意這些問(wèn)題,及時(shí)向上級(jí)反饋工作中的問(wèn)題。
3、.9.15—.11.15:質(zhì)檢考評(píng)系統(tǒng)0505開(kāi)發(fā)
主要負(fù)責(zé)計(jì)劃考評(píng)(人工事后,自動(dòng)事后,輪次)的相關(guān)需求、質(zhì)檢標(biāo)準(zhǔn)等功能的實(shí)現(xiàn)及其他需求的測(cè)試。學(xué)習(xí)了struts1的相關(guān)知識(shí),對(duì)質(zhì)檢系統(tǒng)業(yè)務(wù)有了進(jìn)一步了解。這個(gè)版本的開(kāi)發(fā)都在規(guī)定時(shí)間內(nèi)完成了任務(wù),版本質(zhì)量也沒(méi)有太大的問(wèn)題。
4、.11.16—.1.10:甘肅12580項(xiàng)目開(kāi)發(fā)
主要完成彩信模塊所有的功能的實(shí)現(xiàn),主要用到了jquery、dwr、ibatis、spring、boss驗(yàn)證、uma及webservice等技術(shù)
5、.1.11—.2質(zhì)檢項(xiàng)目0506開(kāi)發(fā)及測(cè)試
二、自我評(píng)價(jià)(包括本人需要向上級(jí)匯報(bào)的其它方面內(nèi)容):
1、在這半年多的時(shí)間里,學(xué)習(xí)了很多新的知識(shí),都是以前沒(méi)有接觸過(guò)的,可能剛工作的時(shí)候有些浮躁,想有新的任務(wù),又害怕做不好,但是最后都能如期的完成領(lǐng)導(dǎo)交付的`任務(wù),并學(xué)到新的技術(shù),所以,事后會(huì)覺(jué)得沒(méi)有什么是做不好的,只要自己動(dòng)手去做,克服急躁情緒,積極、細(xì)致地的對(duì)待每一項(xiàng)任務(wù)。
2、測(cè)試工作,剛做測(cè)試工作的時(shí)候,大家都不太愿意去做,一是覺(jué)得自己不會(huì)這技術(shù),二是覺(jué)得自己的初忠是搞開(kāi)發(fā)這一塊,剛出來(lái)就做測(cè)試,也沒(méi)有什么經(jīng)驗(yàn),總覺(jué)得不合適,但做過(guò)一段時(shí)間后,我深刻感受到開(kāi)發(fā)的做測(cè)試的一個(gè)好處(當(dāng)然是沒(méi)有接觸項(xiàng)目前),根據(jù)項(xiàng)目需求,可以很快的熟悉項(xiàng)目的業(yè)務(wù),不再局限于做開(kāi)發(fā)的只熟悉某一個(gè)模塊的功能,而不了解其他模塊的實(shí)現(xiàn)。并且,在以后做開(kāi)發(fā)的時(shí)候自己會(huì)考慮更全面一些,思維也拓展更開(kāi)一些。
3、在工作中需要不斷的學(xué)習(xí),通過(guò)項(xiàng)目不斷提高自己的各項(xiàng)技能,做到腳踏實(shí)地,不怕多做事、做小事,在點(diǎn)滴實(shí)踐中完善提高自己。
4、在工作中可能會(huì)遇到一些糾結(jié)的小問(wèn)題,自己可能花很多時(shí)間也解決不了,如果多問(wèn)問(wèn)同事可能很快就可以解決問(wèn)題,所以,不用愛(ài)面子,多向同事請(qǐng)教,但也不是有問(wèn)題就問(wèn)。
5、這半年工作時(shí)間里,發(fā)現(xiàn)和解決問(wèn)題的能力,個(gè)人的技術(shù)都有了很大的提高,在項(xiàng)目中遇到問(wèn)題,不會(huì)再像剛開(kāi)始不知道從何下手,不知道如何去定位一個(gè)問(wèn)題,而現(xiàn)在都能較快的處理在工作中遇到的問(wèn)題。
java工作總結(jié) 篇4
中國(guó)有很多精于編碼的人,但是中國(guó)軟件行業(yè),尤其是網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)方面誤區(qū)很大,很難形成有規(guī)模的軟件開(kāi)發(fā)力量和產(chǎn)品能力,不但比美國(guó)差距甚遠(yuǎn),和印度相比也是頗有不如。
這些問(wèn)題不是在于中國(guó)程序員的智商和工作努力狀況,也不是在于國(guó)家和民間對(duì)開(kāi)發(fā)的投入程度,而是很大程度上,有一些對(duì)技術(shù),對(duì)程序開(kāi)發(fā),對(duì)項(xiàng)目設(shè)計(jì)方面的思想誤區(qū),這些誤區(qū),導(dǎo)致了軟件行業(yè)的產(chǎn)品化能力不足,缺乏規(guī)模化和大型復(fù)用系統(tǒng)研發(fā)能力,可以說(shuō),改變認(rèn)識(shí)誤區(qū),是解決軟件行業(yè)小作坊模式和個(gè)體英雄模式所帶來(lái)的局限性的重要工作。
中國(guó)有很多小朋友,他們18,9歲或21,2歲,通過(guò)自學(xué)也寫(xiě)了不少代碼,他們有的代碼寫(xiě)的很漂亮,一些技術(shù)細(xì)節(jié)相當(dāng)出眾,也很有鉆研精神,但是他們被一些錯(cuò)誤的認(rèn)識(shí)和觀點(diǎn)左右,缺乏對(duì)系統(tǒng),對(duì)程序的整體理解能力,這些人,一個(gè)網(wǎng)上的朋友說(shuō)得很好,他們實(shí)際上只是一些Coding fans,壓根沒(méi)有資格稱(chēng)為程序員,但是據(jù)我所知,不少小網(wǎng)絡(luò)公司的CTO就是這樣的coding fans,拿著嚇人的工資,做著嚇人的項(xiàng)目,項(xiàng)目的結(jié)局通常也很?chē)樔恕?/p>
作一個(gè)真正合格的程序員,或者說(shuō)就是可以真正合格完成一些代碼工作的程序員,應(yīng)該具有的素質(zhì)。
1、團(tuán)隊(duì)精神和協(xié)作能力
把它作為基本素質(zhì),并不是不重要,恰恰相反,這是程序員應(yīng)該具備的最基本的,也是最重要的安身立命之本。
把高水平程序員說(shuō)成獨(dú)行俠的都是在囈語(yǔ),任何個(gè)人的力量都是有限的,即便如linus這樣的天才,也需要通過(guò)組成強(qiáng)大的團(tuán)隊(duì)來(lái)創(chuàng)造奇跡,那些遍布全球的為linux寫(xiě)核心的高手們,沒(méi)有協(xié)作精神是不可想象的。
獨(dú)行俠可以作一些賺錢(qián)的小軟件發(fā)點(diǎn)小財(cái),但是一旦進(jìn)入一些大系統(tǒng)的研發(fā)團(tuán)隊(duì),進(jìn)入商業(yè)化和產(chǎn)品化的開(kāi)發(fā)任務(wù),缺乏這種素質(zhì)的人就完全不合格了。
2、文檔習(xí)慣
說(shuō)高水平程序員從來(lái)不寫(xiě)文檔的肯定是乳臭未干的毛孩子,良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,30%的工作時(shí)間寫(xiě)技術(shù)文檔是很正常的,而作為高級(jí)程序員和系統(tǒng)分析員,這個(gè)比例還要高很多。
缺乏文檔,一個(gè)軟件系統(tǒng)就缺乏生命力,在未來(lái)的查錯(cuò),升級(jí)以及模塊的復(fù)用時(shí)就都會(huì)遇到極大的麻煩。
3、規(guī)范化,標(biāo)準(zhǔn)化的代碼編寫(xiě)習(xí)慣
作為一些外國(guó)知名軟件公司的規(guī)矩,代碼的變量命名,代碼內(nèi)注釋格式,甚至嵌套中行縮進(jìn)的長(zhǎng)度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫(xiě)習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同技術(shù)人員之間的協(xié)作。
有些coding fans叫囂高水平程序員寫(xiě)的代碼旁人從來(lái)看不懂,這種叫囂只能他們自己壓根不配自稱(chēng)程序員。
代碼具有良好的可讀性,是程序員基本的素質(zhì)需求。
再看看整個(gè)linux的搭建,沒(méi)有規(guī)范化和標(biāo)準(zhǔn)化的代碼習(xí)慣,全球的研發(fā)協(xié)作是絕對(duì)不可想象的。
4、需求理解能力
程序員需要理解一個(gè)模塊的需求,很多小朋友寫(xiě)程序往往只關(guān)注一個(gè)功能需求,他們把性能指標(biāo)全部歸結(jié)到硬件,操作系統(tǒng)和開(kāi)發(fā)環(huán)境上,而忽視了本身代碼的性能考慮,有人曾經(jīng)放言說(shuō)寫(xiě)一個(gè)廣告交換程序很簡(jiǎn)單,這種人從來(lái)不知道在百萬(wàn)甚至千萬(wàn)數(shù)量級(jí)的訪(fǎng)問(wèn)情況下的性能指標(biāo)是如何實(shí)現(xiàn)的,對(duì)于這樣的程序員,你給他深藍(lán)那套系統(tǒng),他也做不出太極鏈的并訪(fǎng)能力。
性能需求指標(biāo)中,穩(wěn)定性,并訪(fǎng)支撐能力以及安全性都很重要,作為程序員需要評(píng)估該模塊在系統(tǒng)運(yùn)營(yíng)中所處的環(huán)境,將要受到的負(fù)荷壓力以及各種潛在的危險(xiǎn)和惡意攻擊的可能性。
就這一點(diǎn),一個(gè)成熟的程序員至少需要2到3年的項(xiàng)目研發(fā)和跟蹤經(jīng)驗(yàn)才有可能有心得。
5、復(fù)用性,模塊化思維能力
經(jīng)常可以聽(tīng)到一些程序員有這樣的抱怨,寫(xiě)了幾年程序,變成了熟練工,每天都是重復(fù)寫(xiě)一些沒(méi)有任何新意的代碼,這其實(shí)是中國(guó)軟件人才最大浪費(fèi)的地方,一些重復(fù)性工作變成了熟練程序員的主要工作,而這些,其實(shí)是完全可以避免的。
復(fù)用性設(shè)計(jì),模塊化思維就是要程序員在完成任何一個(gè)功能模塊或函數(shù)的時(shí)候,要多想一些,不要局限在完成當(dāng)前任務(wù)的簡(jiǎn)單思路上,想想看該模塊是否可以脫離這個(gè)系統(tǒng)存在,是否可以通過(guò)簡(jiǎn)單的修改參數(shù)的方式在其他系統(tǒng)和應(yīng)用環(huán)境下直接引用,這樣就能極大避免重復(fù)性的開(kāi)發(fā)工作,如果一個(gè)軟件研發(fā)單位和工作組能夠在每一次研發(fā)過(guò)程中都考慮到這些問(wèn)題,那么程序員就不會(huì)在重復(fù)性的工作中耽誤太多時(shí)間,就會(huì)有更多時(shí)間和精力投入到創(chuàng)新的代碼工作中去。
一些好的程序模塊代碼,即便是70年代編成的,拿到現(xiàn)在放到一些系統(tǒng)里面作為功能模塊都能適合的很好,而現(xiàn)在我看到的是,很多小公司軟件一升級(jí)或改進(jìn)就動(dòng)輒全部代碼重寫(xiě),大部分重復(fù)性工作無(wú)謂的浪費(fèi)了時(shí)間和精力。
6、測(cè)試習(xí)慣
作為一些商業(yè)化正規(guī)化的開(kāi)發(fā)而言,專(zhuān)職的測(cè)試工程師是不可少的,但是并不是說(shuō)有了專(zhuān)職的測(cè)試工程師程序員就可以不進(jìn)行自測(cè);軟件研發(fā)作為一項(xiàng)工程而言,一個(gè)很重要的特點(diǎn)就是問(wèn)題發(fā)現(xiàn)的越早,解決的代價(jià)就越低,程序員在每段代碼,每個(gè)子模塊完成后進(jìn)行認(rèn)真的`測(cè)試,就可以盡量將一些潛在的問(wèn)題最早的發(fā)現(xiàn)和解決,這樣對(duì)整體系統(tǒng)建設(shè)的效率和可靠性就有了最大的保證。
測(cè)試工作實(shí)際上需要考慮兩方面,一方面是正常調(diào)用的測(cè)試,也就是看程序是否能在正常調(diào)用下完成基本功能,這是最基本的測(cè)試職責(zé),可惜在很多公司這成了唯一的測(cè)試任務(wù),實(shí)際上還差的遠(yuǎn)那;第二方面就是異常調(diào)用的測(cè)試,比如高壓力負(fù)荷下的穩(wěn)定性測(cè)試,用戶(hù)潛在的異常輸入情況下的測(cè)試,整體系統(tǒng)局部故障情況下該模塊受影響狀況的測(cè)試,頻發(fā)的異常請(qǐng)求阻塞資源時(shí)的模塊穩(wěn)定測(cè)試等等。
當(dāng)然并不是程序員要對(duì)自己的每段代碼都需要進(jìn)行這種完整測(cè)試,但是程序員必須清醒認(rèn)識(shí)自己的代碼任務(wù)在整體項(xiàng)目中的地位和各種性能需求,有針對(duì)性的進(jìn)行相關(guān)測(cè)試并盡早發(fā)現(xiàn)和解決問(wèn)題,當(dāng)然這需要上面提到的需求理解能力。
7、學(xué)習(xí)和總結(jié)的能力
程序員是人才很容易被淘汰,很容易落伍的職業(yè),因?yàn)橐环N技術(shù)可能僅僅在三兩年內(nèi)具有領(lǐng)先性,程序員如果想安身立命,就必須不斷跟進(jìn)新的技術(shù),學(xué)習(xí)新的技能。
善于學(xué)習(xí),對(duì)于任何職業(yè)而言,都是前進(jìn)所必需的動(dòng)力,對(duì)于程序員,這種要求就更加高
但是學(xué)習(xí)也要找對(duì)目標(biāo),一些小coding fans們,他們也津津樂(lè)道于他們的學(xué)習(xí)能力,一會(huì)學(xué)會(huì)了asp,一會(huì)兒學(xué)會(huì)了php,一會(huì)兒學(xué)會(huì)了jsp,他們把這個(gè)作為炫耀的資本,盲目的追逐一些膚淺的,表面的東西和名詞,做網(wǎng)絡(luò)程序不懂通訊傳輸協(xié)議,做應(yīng)用程序不懂中斷向量處理,這樣的技術(shù)人員,不管掌握了多少所謂的新語(yǔ)言,永遠(yuǎn)不會(huì)有質(zhì)的提高。
善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)研發(fā)任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況和用戶(hù)反饋,隨時(shí)總結(jié),找到自己的不足,這樣逐步提高,一個(gè)程序員才可能成長(zhǎng)起來(lái)。
一個(gè)不具備成長(zhǎng)性的程序員,即便眼前看是個(gè)高手,建議也不要選用,因?yàn)樗湮榈臅r(shí)候馬上就到了。
java工作總結(jié) 篇5
java集合類(lèi)主要負(fù)責(zé)保存、盛裝其他數(shù)據(jù),因此集合類(lèi)也稱(chēng)容器類(lèi)。java集合類(lèi)分為:set、list、map、queue四大體系。其中set代表無(wú)序、不可重復(fù)的集合;list代表有序、可重復(fù)的集合。map代表具有映射關(guān)系的集合;queue代表隊(duì)列集合。
java集合類(lèi)主要由兩個(gè)接口派生:Collection和Map,是集合框架的根接口。下面是其接口、子接口和實(shí)現(xiàn)類(lèi)的繼承樹(shù)。
下面就一一介紹四大接口及其實(shí)現(xiàn)類(lèi)。
Set接口。set集合不允許包含相同的元素。set判斷兩個(gè)對(duì)象是否相同是根據(jù)equals方法。如果兩個(gè)對(duì)象用equals方法返回的是true,set不會(huì)接受這兩個(gè)對(duì)象。
HashSet是set接口的典型實(shí)現(xiàn),HashSet按hash算法來(lái)存儲(chǔ)集合中的元素。因此具有很好的存儲(chǔ)和查找性能。HashSet判斷兩個(gè)元素的標(biāo)準(zhǔn)是兩個(gè)元素的equals方法比較相等,同時(shí)兩個(gè)對(duì)象的hasCode( )方法返回值也相等。HashSet可以保存null元素。
List集合代表一個(gè)有序集合。集合中的每個(gè)元素都有其對(duì)應(yīng)的順序索引。Arraylist和vector是list接口的兩個(gè)典型實(shí)現(xiàn)。他們之間的顯著區(qū)別就是:vector是線(xiàn)性安全的,而arraylist不是。它們兩個(gè)都是基于數(shù)組實(shí)現(xiàn)的list類(lèi)。List還有一個(gè)基于鏈表實(shí)現(xiàn)的LinkedList類(lèi)。當(dāng)插入、刪除元素的速度非常快。這個(gè)類(lèi)比較特殊,功能也特別多,即實(shí)現(xiàn)了List接口,也實(shí)現(xiàn)了Dueue接口(雙向隊(duì)列)。可以當(dāng)成雙向隊(duì)列使用,也可以當(dāng)成棧使用。
Queue用于模擬隊(duì)列的數(shù)據(jù)結(jié)構(gòu)。LinkedList和ArrayDueue是其兩個(gè)比較常用的實(shí)現(xiàn)類(lèi)。
Map用于保存具有映射關(guān)系的數(shù)據(jù)。Map接口有如下幾個(gè)常用的實(shí)現(xiàn)類(lèi):HashMap、HashTable、TreeMap。TreeMap是基于紅黑樹(shù)對(duì)TreeMap中所有key進(jìn)行排序。HashMap和HashTable主要區(qū)別有兩點(diǎn):
1、Hashtable是線(xiàn)性安全的,因此性能差些。
2、HashMap可以使用null作為key或者value。
集合類(lèi)還提供了一個(gè)工具類(lèi)Collections。主要用于查找、替換、同步控制、設(shè)置不可變集合。
上面是對(duì)java集合類(lèi)的一般概述,下面就set、list、map三者之間的關(guān)系進(jìn)行剖析。
Set與Map的關(guān)系。Map集合中所有key集中起來(lái),就組成了一個(gè)set集合。所以Map集合提供SetkeySet方法返回所有key組成的set集合。由此可見(jiàn),Map集合中的所有key具有set集合的特征,只要Map所有的key集中起來(lái),它就是一個(gè)Set集合,這就實(shí)現(xiàn)了Map到Set的轉(zhuǎn)換。同時(shí),如果把Map中的元素看成key-value的set集合,也可以實(shí)現(xiàn)從Set到Map之間的轉(zhuǎn)換。HashSet和HashMap分別作為它們的實(shí)現(xiàn)類(lèi)。兩者之間也挺相似的。HashSet的實(shí)現(xiàn)就是封裝了HashMap對(duì)象來(lái)存儲(chǔ)元素。它們的本質(zhì)是一樣的。類(lèi)似于HashSet和HashMap的關(guān)系,其實(shí)TreeMap和TreeSet本質(zhì)也差不多,TreeSet底層也是依賴(lài)TreeMap實(shí)現(xiàn)。
Map與List的關(guān)系。把Map的key-value分開(kāi)來(lái)看,從另一個(gè)角度看,就可以把Map與List統(tǒng)一起來(lái)。
Map集合是一個(gè)關(guān)聯(lián)數(shù)組,key可以組成Set集合,Map中的value可以重復(fù),所以這些value可以組成一個(gè)List集合。但是需要注意的是,實(shí)質(zhì)Map的values方法并未返回一個(gè)List集合。而是返回一個(gè)不存儲(chǔ)元素的Collection集合,換一種角度來(lái)看對(duì)List集合,它也包含了兩組值,其中一組就是虛擬的int類(lèi)型的索引,另一組就是list集合元素,從這個(gè)意思上看,List就相當(dāng)于所有key都是int型的Map。
下面講解幾個(gè)相似類(lèi)之間的差異。
ArrayList和LinkedList。ArrayList是一種順序存儲(chǔ)的線(xiàn)性表,其底層是采用數(shù)組實(shí)現(xiàn)的,而LinkedList是鏈?zhǔn)酱鎯?chǔ)的線(xiàn)性表。其本質(zhì)就是一個(gè)雙向鏈表。對(duì)于隨機(jī)存儲(chǔ)比較頻繁的元素操作應(yīng)選用ArrayList,對(duì)于經(jīng)常需要增加、刪除元素應(yīng)該選用LinkedList。但總的來(lái)說(shuō)ArrayList的總體性能還是優(yōu)于LinkedList。
HashSet與HashMap的性能選項(xiàng)。主要有兩個(gè)方面:容量和負(fù)載因子(尺寸/容量)。較低負(fù)載因子會(huì)增加查詢(xún)數(shù)據(jù)的性能,但是會(huì)降低hash表所占的內(nèi)存開(kāi)銷(xiāo)。較高負(fù)載因子則反之,一般對(duì)數(shù)據(jù)的查詢(xún)比較頻繁,所以一般情況下初始容量應(yīng)該大一點(diǎn),但也不能太大,否則浪費(fèi)內(nèi)存空間。