java程序員的實(shí)習周記
第一周
XML:概念:可擴展的標記語(yǔ)言、優(yōu)點(diǎn):結構化,平臺、語(yǔ)言無(wú)關(guān),標準的
XML讀寫(xiě)XML格式的文檔,完成數據交換、聲明:大多數XML文檔以XML聲明作為開(kāi)始、建議使用XML聲明,但它不是必需的。如果有,它一定是文檔的第一行內容。、注釋、實(shí)體:不能直接表示的符號、五個(gè)實(shí)體、自定義實(shí)體、CDATA:一段文本,不會(huì )被解析器解析。
Log4j:是Apache的一個(gè)開(kāi)放源代碼項目,通過(guò)使用Log4j,我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件、甚至是套接口服務(wù)器、NT的事件記錄器、UNIXSyslog守護進(jìn)程等;我們也可以控制每一條日志的輸出格式;通過(guò)定義每一條日志信息的級別,我們能夠更加細致地控制日志的生成過(guò)程。
Log4j由三個(gè)重要的組件構成:日志信息的優(yōu)先級,日志信息的輸出目的地,日志信息的輸出格式。日志信息的優(yōu)先級從高到低有ERROR、WARN、INFO、DEBUG,分別用來(lái)指定這條日志信息的重要程度;日志信息的`輸出目的地指定了日志將打印到控制臺還是文件中;而輸出格式則控制了日志信息的顯示內容。
第二周
Hibernate是一個(gè)開(kāi)放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來(lái)操縱數據庫。Hibernate可以應用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用E的J2EE架構中取代CMP,完成數據持久化的重任。數據庫設計:a)降低關(guān)聯(lián)的復雜性、b)盡量不使用聯(lián)合主鍵、c)ID的生成機制,不同的數據庫所提供的機制并不完全一樣、d)適當的冗余數據,不過(guò)分追求高范式
2、HQL優(yōu)化:HQL如果拋開(kāi)它同HIBERNATE本身一些緩存機制的關(guān)聯(lián),HQL的優(yōu)化技巧同普通的SQL優(yōu)化技巧一樣,可以很容易在網(wǎng)上找到一些經(jīng)驗之談。
加載策略:延遲加載vs立即加載、-延遲加載(默認)不會(huì )立即命中數據庫,使用數據時(shí)命中、在可以改變?yōu)榱⒓础?使用數據必須在session關(guān)閉之前、-立即加載:立即命中數據庫,不管有沒(méi)有數據
抓取策略、查詢(xún)抓取:(N+1)、連接抓。盒枰陉P(guān)聯(lián)的對象中設臵fetch=select|join、N+1與1+M:-針對一端,如果查詢(xún)有m個(gè)對象,這時(shí)會(huì )先發(fā)送1條sql語(yǔ)句查出m個(gè)對象,然后再發(fā)送m條sql語(yǔ)句查關(guān)聯(lián)對象,這就是1+M、-針對多端,如果查詢(xún)有n個(gè)對象,那么對每個(gè)對象需要重新發(fā)送一條sql語(yǔ)句,這就是n+1。
事務(wù)控制:事務(wù)方面對性能有影響的主要包括:事務(wù)方式的選用,事務(wù)隔離級別以及鎖的選用a)事務(wù)方式選用:如果不涉及多個(gè)事務(wù)管理器事務(wù)的話(huà),不需要使用JTA,只有JDBC的事務(wù)控制就可以。b)事務(wù)隔離級別:參見(jiàn)標準的SQL事務(wù)隔離級別c)鎖的選用:共享鎖、獨占鎖、更新鎖、死鎖、悲觀(guān)鎖、樂(lè )觀(guān)鎖。
第三周
前面做過(guò)的新豆商城,使用JDBC來(lái)連接數據庫,現在學(xué)習了Hibernate,所以把所有連接數據庫的代碼轉變成hibernate來(lái)連接。
為什么選擇Hibernate:由于是對JDBC的輕易級封閉,內存消耗少,最快的運行效率。、開(kāi)發(fā)效率高,Eclipser等主流JAVA集成開(kāi)發(fā)環(huán)境對Hibernate有很好的支持,在大的項目,特別是持久層關(guān)系映射很復雜的情況下,Hibernate效率高的驚人。分布式,安全檢查,集群,負載均衡的支持。輕量級封裝,避免引入過(guò)多復雜的問(wèn)題,調試容易,也減輕程序員的負擔。具有可擴展性,API開(kāi)放,當本身功能不夠用的時(shí)候,可以自己遍碼進(jìn)行擴展。對JDBC訪(fǎng)問(wèn)數據庫的代碼做了封裝,大大簡(jiǎn)化了數據訪(fǎng)問(wèn)層繁瑣的重復性代碼。
總結:通過(guò)hibernate連接,發(fā)現比以前用JDBC連接的代碼量要少很多,簡(jiǎn)潔很多。唯一不好的是在XML的配臵文件中,經(jīng)常會(huì )有錯誤。我相信,這只是我對hibernate不熟悉造成的,當對hibernate使用多了,這些問(wèn)題就迎刃而解。
【java程序員的實(shí)習周記】相關(guān)文章:
java程序員實(shí)習周記03-06
程序員實(shí)習周記12-17
程序員實(shí)習周記三篇03-18
計算機java開(kāi)發(fā)實(shí)習周記范文05-23
JAVA程序員的簡(jiǎn)歷模板05-19
java程序員的自我介紹03-24
java程序員自我介紹03-26
java程序員辭職報告12-25
java程序員求職信01-29