一、
進(jìn)一步了解java開發(fā)的相關(guān)知識(shí),掌握java開發(fā)的基本技術(shù),豐富java開發(fā)的實(shí)戰(zhàn)經(jīng)驗(yàn)。學(xué)習(xí)SQL的基礎(chǔ)知識(shí)及正確的運(yùn)用方法,和有用的相關(guān)技術(shù),提高自己的工作效率。通過實(shí)習(xí),培養(yǎng)我們綜合運(yùn)用Java語言的面向?qū)ο缶幊棠芰?培養(yǎng)我們動(dòng)手能力;培養(yǎng)我們良好編程規(guī)范、編程方法;以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力;增強(qiáng)自己的團(tuán)隊(duì)協(xié)作意識(shí),了解軟件開發(fā)的思考角度和主要流程。為畢業(yè)之后能夠更快地進(jìn)入工作狀態(tài)并且能夠更好的工作,打好一定的基礎(chǔ)。
二、實(shí)習(xí)單位及崗位介紹
1、實(shí)習(xí)單位介紹
2、實(shí)習(xí)崗位介紹
我的崗位是Java軟件工程師。實(shí)習(xí)期間參與人力資源管理系統(tǒng)的開發(fā),根據(jù)開發(fā)規(guī)范和流程獨(dú)立完成模塊設(shè)計(jì)、編碼、測試。編寫相關(guān)應(yīng)用系統(tǒng)的開發(fā)文檔、數(shù)據(jù)庫設(shè)計(jì)文檔等。較為詳細(xì)和系統(tǒng)的掌握了軟件開發(fā)的知識(shí)體系。把所學(xué)知識(shí)與解決實(shí)際問題相聯(lián)系,培養(yǎng)了自己發(fā)現(xiàn)問題、分析問題和解決問題的能力,從而提高了自己從事實(shí)際工作的能力。
三、實(shí)習(xí)內(nèi)容及過程
1、Java基礎(chǔ)知識(shí)
Java的基礎(chǔ)知識(shí)對于一個(gè)Java軟件工程師來說就好比是人的靈魂,現(xiàn)在的公司在招聘的時(shí)候很多都不在乎你會(huì)不會(huì)流行的技術(shù),如(Struts、Hibernate、Spring、ibatis等)。他看重的是你的基礎(chǔ)扎不扎實(shí),對于網(wǎng)易、騰訊等大公司來說更是如此,我們在開發(fā)過程中運(yùn)用了大量的Java基礎(chǔ)知識(shí),如類、對象、方法、成員變量、靜態(tài)變量、封裝、繼承、多態(tài)、異常、接口、抽象類、IO流等等,所以一個(gè)系統(tǒng)對于Java編程基礎(chǔ)的依賴便不言而喻。
2、MySQL、Oracle數(shù)據(jù)庫
MySQL是最流行的開放源碼SQL數(shù)據(jù)庫管理系統(tǒng),它是由MySQL AB公司開發(fā)、發(fā)布并支持的。MySQL AB是由多名MySQL開發(fā)人創(chuàng)辦的一家商業(yè)公司。它是一家第二代開放源碼公司,結(jié)合了開放源碼價(jià)值取向、方法和成功的商業(yè)模型。Oracle則是以穩(wěn)定性著稱,在訪問量和數(shù)據(jù)大量交換的服務(wù)器中,Oracle占了大臂的江山,在開發(fā)中主要用到了數(shù)據(jù)庫的查詢語句、數(shù)據(jù)庫的關(guān)系、事物等。
3、Servlet和JSP
一個(gè)Servlet就是Java編程語言中的一個(gè)類,它被用來擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然Servlet可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴(kuò)展Web服務(wù)器的應(yīng)用程序。Java Servlet技術(shù)為這些應(yīng)用程序定義了一個(gè)特定于HTTP的 Servlet類。javax、servlet和javax、servlet、http包為編寫Servlet提供了接口和類。所有的Servlet都必須實(shí)現(xiàn)Servlet接口,該接口定義了生命周期方法。
JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*、htm,*、html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁Java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所 需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java, 也可以訪問JSP網(wǎng)頁 。
Java Servlet是JSP技術(shù)的基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。現(xiàn)在許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器,也可以通過附件的應(yīng)用服務(wù)器和模塊來支持Servlet,這得益于Java的跨平臺(tái)特性。另外,由于Servlet內(nèi)部以線程方式提供提供服務(wù),不必對于每個(gè)請求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)請求服務(wù),因此Servlet的效率非常高 。
4、三大框架
Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。
Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級(jí)的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。
Spring 也表示是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性由Rod Johnson創(chuàng)建的。框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個(gè)組件,同時(shí)為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。
5、管理系統(tǒng)的開發(fā)
四、實(shí)習(xí)總結(jié)及體會(huì)
通過這次實(shí)習(xí)機(jī)會(huì),我主要學(xué)習(xí)了以上這些java編程的技術(shù),同時(shí)也明白了身處公司中如何更好地與同事配合,畢竟在軟件開發(fā)中,你不可能一個(gè)人干完一個(gè)系統(tǒng),大家都是通過svn等團(tuán)隊(duì)管理工具互相配合完成編程任務(wù)。在實(shí)習(xí)之前,我對軟件開發(fā)的過程只有一個(gè)模糊地印象,以為只要把代碼編寫完之后就算
基本上一個(gè)項(xiàng)目開發(fā)完畢了。然而通過這次實(shí)習(xí),徹底顛覆了我的認(rèn)知,我當(dāng)時(shí)的認(rèn)知無疑是非常幼稚和可笑的,完全的軟件開發(fā)過程不只只是編寫代碼,在編寫代碼之前還有好多的事情要做,比如文檔的編寫、對項(xiàng)目進(jìn)行需求分析、數(shù)據(jù)庫設(shè)計(jì)等等。代碼編寫完成之后還要進(jìn)行測試,以及人員的培訓(xùn),這些都是必須做,也是必不可少的項(xiàng)目,甚至比代碼的編寫還重要。
我在開發(fā)期間遇到很多問題,但是我會(huì)試著到網(wǎng)絡(luò)去找答案,如果實(shí)在找不到我會(huì)試著問問我的上級(jí),或者跟一些朋友討論一下,如果發(fā)現(xiàn)了這個(gè)問題的答案我會(huì)及時(shí)把它記錄下來,方便以后遇到問題可以隨時(shí)翻閱,我相信好記性不如爛筆頭這句話,我也相信如果一個(gè)程序員寫的代碼沒有錯(cuò)誤那只能證明他沒寫過代碼,雖然我比較懶,但我現(xiàn)在有空的時(shí)候都會(huì)對著電腦敲代碼,我相信手感是敲出來的,你看10遍都不如你敲一遍來得印象深刻。
通過這次實(shí)習(xí),我認(rèn)識(shí)到了一個(gè)軟件開發(fā)的完整的過程,為我今后進(jìn)行實(shí)際的工作奠定了堅(jiān)實(shí)的基礎(chǔ)。首先,進(jìn)入公司,你就是一名職業(yè)人,不再是一名學(xué)生,你要具備一名職業(yè)人應(yīng)具備的素養(yǎng),不遲到不早退是必然的,而且還要時(shí)刻嚴(yán)格要求自己,公司的規(guī)定要嚴(yán)格遵守。然后,在技術(shù)上也有了很大的提高,學(xué)習(xí)了很多公司自己的框架和工具,這都是一些前輩的寶貴經(jīng)驗(yàn)。而且所作的軟件應(yīng)用性更強(qiáng)。所以,在今后的學(xué)習(xí)中我會(huì)嚴(yán)于律己,認(rèn)真學(xué)習(xí)有關(guān)軟件編程的課,為以后的工作打好堅(jiān)實(shí)的基礎(chǔ)。