Re: [請益] java的效能!?

看板Soft_Job作者 (沉默是金。)時間13年前 (2011/05/22 14:44), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串20/52 (看更多)
※ 引述《Lordaeron (Terry)》之銘言: : 推 pandaforme:很感謝前輩的指教,所提到的層面都是考量重點 05/22 00:43 : 推 pandaforme:那麼一般WEB開發,要採用structs框架 05/22 01:04 : → pandaforme:從資料庫取出資料,要在頁面呈現,前輩會怎麼做呢? 05/22 01:05 : 隨非案子指定用什麼framework, 否則我什麼鬼framework 都不用, 反正用framework : 打的字也沒比較少. : 要怎麼丟到頁面, 你就ResultSet 的 getString 直接印出去不就好了? : 非得要copy 到bean 中(成本=copy 的time 和bean 的memory overhead), : 再透過method 取出(成本=function call 的overhead), 請問是為了什麼? : 最後structs 真的哪麼神? 哪個taglib? : ※ 編輯: Lordaeron 來自: 114.45.242.45 (05/22 02:16) 因為有人寫信給我,我也一起補一下細節吧, 不過我也有好一陣子沒參與 struts + hibernate + spring 這類 J2EE 專案的開發了,可能不一定有符合時下現況。(笑) 這個論點上我是支持 Lordaeron 的說法的。 因為 J2EE 的世界基本上相對單純, 你從web.xml 一定看得見 servlet + filter 的 config , 怎麼追 code 都不會追太遠。 Struts 2 說穿了, 核心也不過就是個 path/servlet/jsp mapping 的 dispatcher, 用 config / annotation / naming convention 的方式讓你好寫一點, 也就這樣而已,沒這麼神秘或偉大吧。 對每一個頁面來講, 他仍然是一個 url -> servlet(controller) -> jsp(view)。 它的優點在於幫你多墊一層,讓人可以不用作一些底層的事情,輕鬆點寫, 但是即使不用他,有好的設計跟 J2EE 觀念的人, 應該還是可以輕鬆作到他想提供的東西就是。 我們家最近就自己刻了一個迷你板的類 struts 架構。(覺得struts 太肥) 另外提到 ORM ,我覺得 ORM 是迷人的,至少像 Hibernate 或 mybatis , 他們對於 db 的建置跟 mapping 算是蠻有效率的, 至少你不用寫自己的 db helper 去 管 connection / session , sql 也可以相對的少寫一點點。(還是要,只是可以re-use。) 但相對的是你常常就會忘記這世界上還有這幾個東西的存在。 以我過去用 Hibernate 的經驗。 ORM 基本上在 cache (level-level2) 跟 connection pool 等環節上, 要更小心調校,常存取的熱點,應該還是要考慮用 JDBC 的方式直接存取。 另外就是 ORM 的 Relation 要小心使用, one-to-many , many-to-many , many-to-one 。 不應該是為了方便而使用,而是真的有需要才使用, 在使用上要特別注意 query 產出來的東西有沒有怪物。 不要掛到葡萄串,像是 A --many--> B --many-- > C , 撈了 A 就撈了一票出來。 寫的時候 show sql 最好打開,自己要有看得懂哪些是 slow query 的sense, ORM 不見得是壞事,只是要寫程式的人知道自己在幹嘛, 用ORM 要用到跟 JDBC 接近的效能,技能要求其實比用 JDBC 高很多。 -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.82.56.59

05/22 17:17, , 1F
ha 推葡萄
05/22 17:17, 1F

05/22 22:00, , 2F
我不能同意這篇的部份論點
05/22 22:00, 2F

05/22 22:09, , 3F
歡迎舉實際的例子出來反駁我。
05/22 22:09, 3F
文章代碼(AID): #1DsB3DwV (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1DsB3DwV (Soft_Job)