Re: [請益] java的效能!?
※ 引述《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
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
討論串 (同標題文章)