精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

細數Java十宗罪

開發 后端
Java開發人員還喜歡說:這個不應該由JDK或某某框架完成,而應該是由勇敢、勤勞、智慧的您來編寫實現的。以下都是我在開發Java項目時,遇到的一些問題,可能也有寫得不對的地方,望指正。遇到很多問題,一時間無法全部拿出來討論,就隨便列舉了幾條。

【糾正】非常抱歉,第1點關于"abc"=="abc"返回false是我搞錯了,在java里是返回true的,我沒有經過實驗就這么說了,非常抱歉。之所以會這么說,是因為不記得是哪一種,因為我使用了==進行了字符串的比較,結果并沒有返回我相要的結果,然后請教老人,老人們就訓誡道:***使用equals進行比較,而不要使用==,故有此感慨。

【正文】好吧,我知道看這標題很多人就忍不住要拍磚或表示不贊同了,我都接受。

我在遇到問題時,找一些搞Java朋友求助,有能解決的,我想說的是不能解決的情況下,他們大多會說:“你怎么能這么弄呢?這么搞是不行的,你首先在思路上就錯誤了,我們從來就不這么做。”,比如“我們一般很少用存儲過程,你用這么多存儲過程,我建議你使用hibernate代碼實現你的業務,而不是用存儲過程”,這個問題是在我遇到用hibernate調存儲過程時發生一些狀況后,我一個搞Java的朋友也無法解決時,他如此說道。

Java開發人員還喜歡說:這個不應該由JDK或某某框架完成,而應該是由勇敢、勤勞、智慧的您來編寫實現的。

以下都是我在開發Java項目時,遇到的一些問題,可能也有寫得不對的地方,望指正。

遇到很多問題,一時間無法全部拿出來討論,就隨便列舉了幾條。

[[33461]] 

Top 1:"abc"=="abc"返回的結果是False,很多初學Java的都要在這個問題很浪費很多時間,因為會非常自信的以為這里會返回true,根本不會想到原來問題出在這里。網上看到有貼子討論過這個問題,說什么Java是純面向對象的語言,==操作符是比較地址什么的,而"abc"是引用,所以不能使用==操作符進行比較,而應該使用Equals方法來進行比較,會犯這種錯誤的,多半是因為自己基礎不牢,卻還來說Java的不是。我看到一個人說的一個例子,很能表示我的感想,是這么說的:有一天我去到一個餐廳,因為餐廳門口有一灘水,導致路面很滑,我不小心摔倒了,于是我找來餐廳經理,追究其責任,結果餐廳經理告訴我,這是因為我自己走路的姿勢不對,所以滑倒了,與餐廳無關。

Top 2:為什么沒有get;set;屬性,而是使用getXX();setXX()方法來代替,反射難道不要成本嗎?

我所了解到的Struts\Spring\Hibernate里都大量用到這種方式,比如Struts中的VO對象,里面若有個getUsername(),在頁面里可以用來取值,這中間我想應該是用反射來找到getUsername()方法,再取得其值的吧,同樣的Spring\Hibernate中也大量用到這種方式,我想問,反射不是說很低效的嗎?

Top 3:做個自定義標簽還要自己寫個TLD配置文件,有時在看一些Java的相關書籍上面提到零配置時,我就覺得非常可笑,不知道所謂零配置的精神到底體現在哪里?也許寫個配置文件也并沒有那么難,但關鍵問題在于,從技術上來講這個TLD明顯是可以不要的啊,TLD里面主要就描述了這個tag叫什么名字有哪些屬性,分別是什么類型,這些信息完全可以在類里面表示,只要是實現Tag接口的類就被自動識別為自定義標簽這樣不好嗎?通過識別類里有哪些getXX();setXX();(更好的方案是有get;set;屬性)來確定這個自定義標簽有哪些屬性,又分別是什么類型這樣不好嗎?為什么還要多此一舉搞個TLD配置文件?

還有個問題是,如果我寫了個MyTag的類,繼承了某個自定義標簽類,我還要為MyTag寫個相應的TLD配置,我不知道將來還有沒有其他開發人員會繼承我的MyTag,也許就算我熱烈歡迎別人來繼承我的MyTag,但當別人看到我MyTag里近三四十個getXX();setXX();之后,想到要為其寫上相應的TLD配置文件而望而生怯吧。

Top 4:數據訪問在我看來,應該是個很簡單的事情,簡單來就,就是執行SQL語句,復雜一點,就再加上實體映射,所有框架解決的問題,首先就是要易于使用,在使用過Hibernate之后,我感覺它太復雜了,我在.NET里有一個數據訪問層,只需要在指定的配置文件中配置連接字符串,就可以在程序中的任何地方調用DbHelper.Execute(sql)、DbHelper.ExecuteDataSet(sql)、DbHelper.ExecuteDataTable(sql)了,使用起來非常簡單,當然也有實體映射,DbHelper.save(entity)、DbHelper.delete(entity or key)、DbHelper.select(條件)這一組方法就可以操作實體對象,Select返回的是實體列表,實體通過元屬性設置其關聯的表和字段,這中間除了連接字符串之外,是沒有任何其它配置文件的。相比之下,Hibernate咋需要這么多配置文件?我知道Hibernate也可以配置注解,就不需了HBM配置文件了,但即使這樣,據我了解依舊還是需要很多除連接字符串之外的其它的相關配置文件。

Top 5:話說Java也有這么多年了,Hibernate也有這么多年了,到底是我不會用,還是它真的就是這樣的,Hibernate對于存儲過程的支持,實在讓我抓狂,居然不支持存儲過程,在網上尋找Hibernate調用存儲過程,得到的答案多數就是越過Hibernate,而僅僅從Hibernate中取得一個Connection,再使用JDBC的方式調用存儲過程,這樣做存在一個問題,事務不能得到控制了,由于我還比較水,Hibernate的事務控制又是暗箱操作的,好像是只要在Service層中寫的業務代碼就都在一個事務中,所以我無法讓我的存儲過程調用和Hibernate業務代碼串在一個事務當中,而很多情況下,我是想要讓它們一個失敗就全部失敗的。

除此之外,也有不越過Hibernate而調用存儲過程的辦法,有兩個,也是要寫配置文件,一個是必須要有返回的結果集,我就很納悶,為什么一定要有結果集,我的很多存儲過程就只是處理一些數據,不需要返回結果集的,最難受的是Oracle的存儲過程其實不支持返回結果集,必須使用一種變態的游標方式返回,這么做我會感覺到極其反胃。另一個辦法是通過修改實體在Insert\Update\Delete時的默認行為,比如我在Insert一個員工時,本來應該是執行SQL語句insert into employee values (?,?,?,?)的,我可以通過配置文件修改這個默認行為,改成{call myproc(?,?,?,?)},這種方式顯然也不是我想要的,我只想調用一個存儲過程,執行一個業務的處理。以上兩種方式是會被暗箱操作的事務所管理的,但并不能滿足我的需求,我要怎么辦?

Top 6數據訪問的結果集對象ResultSet、RowSet、CachedRowSet等沒有得到廣泛的應用,各個框架更多的是傾向于支持實體列表,這么做導致出現一個問題,那就是我只能返回已知結構的結果集,若想要臨時返回個東西還必須要在實體中添加相應的屬性getXX();setXX();方法,比如在Hibernate中,要訪問員工表,員工表中本來只有部門ID,沒有部門名稱,你想要有部門名稱,就必須在員工實體中添加一個deptName的屬性,要所有的結果都是已知結構的,這樣很痛苦,如果不返回到實體列表中,也可以返回到 ArrayList 中,但這樣的數據沒有列名稱,不明白為什么不直接查詢到ResultSet中,然后讓更多的框架支持ResultSet,比如Struts,在寫頁面使用Struts標簽時,可以像操作實體列表一樣操作ResultSet。

...,(還是本來就支持,只是我不會?那就不好意思啦!)只是希望讓更多的框架支持未知結構的結果集,讓程序員事先設計好結果集的結構是很累人的,就算是代碼生成,也只能生成數據庫里的每一張表對應的實體,但往往我們需要select unkownSchema from myTable得到未知結構的結果集,并不是每次都Select *。

Top 7:再說ResultSet,之所以不直接用這個,而使用實體列表來代替,我想是不是也間接的說明了,ResultSet這個類不方便使用,.NET中的DataSet和DataTable就得到大量使用,因為它們方便好用實用。可能***差別的地方就在于,DataSet是斷開式的存在于內存中的微型數據庫,而ResultSet只是連接式的數據庫讀取器,相當于.NET中的DataReader,必須保持連接才能讀數據,我知道有CachedRowSet可以斷開式的存儲數據在內存中,好吧,這個就不是問題了。但另一個問題在滋擾著我,做為存儲結果集的容器,提供給我們操作這個結果集的方法太少了,甚至取得該結果集的總行數的方法,我們都需要開動小腦筋,這么寫:rs.last(); int count = rs.getRow(); rs.first() 負責的話,它需要至少三句代碼才能取到總行數。也許這只是小問題,這個或許應該由勇敢、勤勞、智慧的我們來實現。

Top 8在我看來,Struts***的意義在于,它使得每個JSP頁面都有了一個與之對應的Java類的方法,也就是那個Action方法。你一定會跟我說,Struts的功能并不只如此,但我說,我見過的很多(小公司)的項目,Struts的意義就只是這樣的,我想像在我們國家,還有成千上萬的使用Java技術的公司,Struts對于他們的意義,也就是讓JSP有了后臺代碼。如果僅僅只是如此,為何不由官方提供,直接讓JDK支持,讓Struts的先進來彌補JDK的落后嗎?只會欲蓋彌彰。

或者你會說,即便Struts就是提供了讓每個JSP頁面都有一個與之對應的Action方法,這也非常偉大了,做到這一點,已經徹底改變了人們開發Web項目的方式,由原來的業務代碼和頁面混在一起,變成解偶分離,非常成功了。我想說,不要拿你十年前的榮耀到今天再來說了,已經Out的不行了。

Top 9再說MyEclipse,這個IDE在Java體系中幾乎成為標準,我見過的所有Java開發人員都是使用這個IDE,但相比之下,它與Visual Studio就相差太多了,性能就不說了,如果不做優化,那是慢得想死,話說為什么不能在其一發布出來的默認設置就是***化的呢?如果我們需要什么插件組件,再自己加載,這樣不是更清楚明白嗎?

另外MyEclipse的插件安裝方式實在讓我汗顏,6.x,7.x,8.x這幾個版本的插件安裝方式各不相同,我在想,為什么不能直接雙擊安裝?VS2005就是直接雙擊安裝。至今我還沒搞清楚svn插件怎么安裝的,好吧,我是很水,那個插件的安裝有時要復制文件到指定目錄,有時要啟動MyEclipse之后,選擇Help菜單下的Software Updates,有時候又要選擇什么MyEclipse configuration center,有時候要連接互聯網在線操作,更甚者,給你個Java文件,要你編譯成Class文件,再按步驟操作,我是服了。

Top 10Out輸出參數,部分類,擴展方法,LAMUDA表達式這些非常好的東西,Java都沒有,還是我不會嗎?望指正。

我的罪:Spring,其實我現在還不知道它是干嘛的,好吧,這是我的罪。

原文鏈接:http://www.cnblogs.com/zhouyou96/archive/2011/06/17/2083566.html

【編輯推薦】

  1. Java輕量級中間件服務器:SIwpas
  2. Java編程語言基礎JSP基本語法的詳細介紹
  3. 如何用Java操作MongoDB
  4. Java泛型簡明教程
  5. 向Java開戰?別搞錯了對象
責任編輯:艾婧 來源: zhouyou96的博客
相關推薦

2011-06-01 10:09:49

Ubuntu

2013-05-10 10:49:53

2018-12-19 15:30:27

Python編程語言

2010-04-06 15:14:08

2012-09-03 10:06:32

云計算IT云服務

2010-09-08 11:34:36

2024-07-31 16:48:31

2015-10-27 15:41:32

twitter開發者錯誤策略

2011-07-08 09:43:51

Chromebook

2023-01-12 08:01:11

接口突然超時數據庫

2023-05-08 10:54:39

IT管理CIO

2021-03-01 18:48:21

Go管理工具

2024-06-19 19:28:51

2018-03-20 13:56:12

數據庫MySQL枚舉類型

2011-02-21 09:04:25

2018-02-05 23:14:35

光纖網絡光纖施工

2009-06-25 12:32:02

節能成本CIO

2017-07-27 14:21:44

2021-09-10 13:23:57

數據閃存 磁盤

2012-04-29 10:40:23

APP
點贊
收藏

51CTO技術棧公眾號

欧美一区二区三区影视| 免费在线观看视频一区| 色综合视频在线观看| 国产在线视频一区| 国产亚洲色婷婷久久99精品91| 成人动漫在线免费观看| 伊人激情综合| 欧美一区二区三区播放老司机| 欧美精品国产精品久久久| 免费无遮挡无码永久在线观看视频| 成人黄色免费短视频| 成人黄色小视频在线观看| www.亚洲天堂| gai在线观看免费高清| 亚洲三区在线观看无套内射| 欧美一区91| 91精品国产91热久久久做人人| 午夜精品区一区二区三| 好看的av在线| 羞羞色国产精品网站| 亚洲成a人v欧美综合天堂| 91久久久久久| 免费国产羞羞网站美图| 亚洲国产91视频| 国产精品三级电影| 国产精品流白浆视频| 逼特逼视频在线观看| 国产美女一区视频| 国产精品99精品久久免费| 久久婷婷国产麻豆91天堂| 在线观看国产一级片| 福利视频在线看| 日韩综合一区二区| 亚洲香蕉成视频在线观看| 免费大片在线观看| 第三区美女视频在线| 视频一区在线视频| 在线日韩av观看| 五月天激情视频在线观看| av在线免费观看网站| 蜜臀久久久久久久| 日日狠狠久久偷偷四色综合免费| 狠狠干狠狠操视频| 国产黄大片在线观看画质优化| 国产综合久久久久影院| 免费99精品国产自在在线| 99热这里只有精品2| 免费在线国产视频| 不卡在线视频中文字幕| 奇米4444一区二区三区| 国产高清一区二区三区四区| 亚洲欧美专区| 亚洲制服丝袜av| 久久精品一二三区| 国产美女www爽爽爽| 婷婷精品进入| 亚洲精品一区二区精华| 日本新janpanese乱熟| 亚洲成人三级| 国产黑丝在线一区二区三区| 97国产在线观看| 丰满圆润老女人hd| 99精品美女视频在线观看热舞| 一区二区三区在线影院| 久久久久天天天天| 亚洲天堂网在线视频| 韩日成人在线| 色偷偷亚洲男人天堂| 91精产国品一二三| 欧美日韩不卡| 亚洲自拍与偷拍| 午夜一区二区三视频在线观看| 99精品人妻无码专区在线视频区| 在线亚洲成人| 久久久精品一区| 黄色性生活一级片| 99久久久成人国产精品| 精品国产91乱高清在线观看| 亚洲国产精品一区二区第一页| 亚洲伦理在线观看| 久久精品国内一区二区三区| 久久久久亚洲精品| 男人av资源站| 亚洲精品进入| 亚洲成人免费在线视频| 亚洲精品午夜在线观看| 免费h在线看| 亚洲综合视频在线| 午夜久久资源| 亚洲人成色777777老人头| 激情av综合网| 国产精品入口免费视| 国产午夜性春猛交ⅹxxx| 亚洲情侣在线| 中文字幕一区二区精品| 中文字幕人妻一区二区| 97久久综合区小说区图片区| 欧美午夜电影一区| 欧美在线观看成人| av有码在线观看| 一区二区三区四区不卡视频| 亚洲欧美电影在线观看| 国产一区电影| 久久综合狠狠综合久久综合88| 国产精品精品软件视频| 国产日本精品视频| 精品一区二区三区免费视频| 国产精品免费观看在线| 亚洲成熟少妇视频在线观看| 亚洲一区区二区| 午夜精品久久久久久久99黑人| 中文字幕手机在线观看| 偷拍欧美精品| 色老头一区二区三区在线观看| 最近中文字幕免费视频| 日韩高清影视在线观看| 亚洲国产精品va在看黑人| 亚洲区 欧美区| 日韩在线网址| 欧美美女网站色| 三级av免费观看| 成人交换视频| 欧美日韩国产综合久久| www.久久久精品| 久久天堂影院| 欧美一区二区三区成人| 乳色吐息在线观看| 日本精品视频| 精品电影一区二区| 亚洲成av人片在线观看无| 哺乳挤奶一区二区三区免费看 | 久久99热这里只有精品国产| 一区二区三区四区五区| 亚洲精品成人影院| 色综合久久久888| 日韩三级av在线| 久久久成人网| 国产欧美久久一区二区| 国产三级三级在线观看| 成人高清视频在线观看| 久久综合九色99| h视频在线免费| 日韩理论片中文av| 国产婷婷一区二区三区| 三级成人在线| 欧美妇女性影城| 波多野结衣办公室双飞| 九九热爱视频精品视频| 色多多国产成人永久免费网站| 日本黄色免费片| 激情综合电影网| 国产成+人+综合+亚洲欧洲 | 波多野结依一区| 欧美日韩国产页| 在线免费av播放| 亚洲成人五区| 亚洲人成在线一二| 在线免费观看亚洲视频| 亚洲少妇诱惑| 91视频国产精品| 青青草av免费在线观看| 国产精品超碰97尤物18| 黄色一级片黄色| 亚洲电影有码| 欧美电影免费提供在线观看| 中文字幕国产专区| 欧美一区精品| 国产精欧美一区二区三区| 超碰在线观看av| 国产精品无圣光一区二区| av网站手机在线观看| 中韩乱幕日产无线码一区| 日韩欧美一区在线观看| 阿v天堂2014| 亚洲黄色精品| 成人av番号网| 国产精品一二三区视频| 亚洲激情六月丁香| 特级丰满少妇一级| 欧美日韩精品一区二区三区在线观看| 俺去了亚洲欧美日韩| 懂色av蜜臀av粉嫩av分享吧最新章节| 国产精品一二三在| 亚洲视频导航| 三级在线观看视频| 欧美一区二区三区四区五区| 日本成人免费视频| 99在线|亚洲一区二区| 成人免费在线网址| 国产www.大片在线| 色哟哟在线观看一区二区三区| 一级全黄裸体片| 亚洲91视频| 国产精品高精视频免费| 手机亚洲第一页| 五月婷婷激情综合网| 在线a免费观看| 欧美mv日韩| 国产精品永久免费| 国产高清美女一级毛片久久| 欧美视频二区36p| 亚洲av成人片无码| 国产精品久久| 99蜜桃在线观看免费视频网站| 最新av网站在线观看| 色婷婷国产精品综合在线观看| 国产精品成人99一区无码 | 一本到在线视频| 久久久精品国产免大香伊| 免费不卡av在线| 高潮久久久久久久久久久久久久| 欧美成在线视频| 国产精品久久影视| 亚洲欧洲无码一区二区三区| www.久久91| 91精品国产福利在线观看麻豆| 国产精品久久一区主播| porn亚洲| 欧美理论电影在线| 免费在线观看黄色小视频| 国产美女视频91| 91免费国产精品| 一区二区三区亚洲变态调教大结局 | 亚洲色图国产| 亚洲精品日韩av| 欧美卡一卡二| 日韩av一卡二卡| 波多野结衣视频观看| 中文字幕成人av| 久久久久久综合网| 欧美三级午夜理伦三级中文幕| av一本久道久久波多野结衣| 2020国产在线| 亚洲欧洲xxxx| 在线观看不卡的av| 亚洲素人一区二区| 三大队在线观看| 久久成人国产| 亚洲日本japanese丝袜| 日日夜夜亚洲精品| 色综合五月天导航| 午夜视频免费在线| 欧美性一二三区| 国产高清在线免费观看| 不卡的av电影在线观看| 日韩欧美xxxx| 中文字幕一区二区三区在线视频| 国产麻豆一区二区三区在线观看| 超碰在线cao| 在线观看国产精品91| 国产喷水吹潮视频www| 亚洲a一区二区| 欧美成人短视频| 国产成都精品91一区二区三| 免费观看精品视频| 97精品一区二区| 国产麻豆日韩| 四虎影视国产精品| 午夜精品久久久久久久99黑人| 国产69精品久久app免费版| 日韩三级视频在线观看| 成人av网站在线播放| 亚洲日本护士毛茸茸| 国产乱了高清露脸对白| 日本人妖一区二区| 国产v片免费观看| 欧美国产美女| 欧美成人一区二区在线| 一区二区三区无毛| 日本高清不卡的在线| free性欧美hd另类精品| 亚洲天堂av在线免费观看| 精品人妻aV中文字幕乱码色欲| 日韩欧美国产视频| 日本天堂中文字幕| 中文字幕av一区 二区| 国产精品一区二区无码对白| 久久国产精品72免费观看| 激情深爱综合网| 最新欧美人z0oozo0| 亚洲精品不卡| 婷婷亚洲成人| av在线亚洲男人的天堂| 日韩毛片免费看| 国产成人av在线播放| 2018av在线| 欧美国产日韩xxxxx| 中文字幕在线播放| 精品偷拍各种wc美女嘘嘘| 精品人妻一区二区三区麻豆91| 国产123在线| 小小影院久久| 日本高清视频一区二区三区 | 在线看国产一区| 国产一级淫片a| 一区二区不卡在线视频 午夜欧美不卡在| 日日操免费视频| 国产欧美精品一区aⅴ影院| 六月婷婷七月丁香| 波多野结衣视频一区| 国产精品99久久久精品无码| 激情综合五月婷婷| 中文字幕在线综合| 日本美女一区二区| 中文字幕欧美人妻精品一区| 亚洲一区中文| 成年人视频网站免费观看| 一区二区三区高清视频在线观看| 日本a视频在线观看| 一区免费视频| 欧美黑人经典片免费观看| 亚洲精选久久| aa在线免费观看| 男女av一区三区二区色多| 精品欧美一区免费观看α√| 日韩视频一区| 欧美在线观看成人| 久久久亚洲人| 无人在线观看的免费高清视频| 久久精品二区三区| 一区二区在线播放视频| 蜜臀av一区二区在线观看| 免费激情视频在线观看| 日韩av电影免费观看高清完整版| 999在线免费视频| 久久精品国产秦先生| 午夜剧场在线免费观看| 国产一区二区三区在线看麻豆| 五月天六月丁香| 成人性生交大片免费看视频在线| 91人妻一区二区| 久久无码av三级| 天堂av网手机版| 亚洲女人的天堂| 精品亚洲永久免费| 欧美日韩国产限制| 五月天中文字幕| 4438亚洲最大| 天堂在线观看免费视频| 亚洲欧美激情在线视频| h视频网站在线观看| 久久久精品日本| 免费v片在线观看| 国产精品入口免费视频一| 日本一区二区三区电影免费观看| 国产精品一区二区三区观看| 欧美人与物videos另类xxxxx| 亚洲综合欧美日韩| 女生裸体视频一区二区三区| 国产素人在线观看| 美女www一区二区| 亚洲一二三四五| 国产日韩欧美制服另类| 青娱乐免费在线视频| 色婷婷香蕉在线一区二区| 国产偷人爽久久久久久老妇app | 欧美一级视频在线| 成人a免费在线看| 色欲AV无码精品一区二区久久| 亚洲精品写真福利| 欧美一级片免费在线观看| 欧美日韩精品综合在线| 高清国产mv在线观看| 色系列之999| 国产白浆在线免费观看| 成人免费视频网址| 一道本一区二区三区| 日本福利视频在线观看| 日韩精品电影在线观看| 欧美xxxx黑人| 国产精品黄色在线观看| 亚洲 欧美 视频| 日韩一区二区中文字幕| 欧美香蕉爽爽人人爽| 欧美日韩国产成人高清视频| 日韩成人亚洲| 精品国产乱码久久久久久88av| 97欧美在线视频| 黄色动漫网站入口| 成人美女视频在线看| 制服丨自拍丨欧美丨动漫丨| 精品久久久久久中文字幕一区奶水| 一区二区久久精品66国产精品| 国产视频精品免费播放| 91极品在线| 成人精品一区二区三区| 精品一区二区三区的国产在线观看| 免费不卡av在线| 国产成人av一区二区| 在线观看天堂av| 欧美中文字幕一区| 女人天堂在线| 91成人精品网站| 荡女精品导航| 国产一级做a爰片久久毛片男| 极品少妇一区二区三区精品视频| 少妇一级黄色片| 欧美在线免费视屏| 你懂的在线视频| 国产精品国产三级国产aⅴ9色|