文章詳情頁(yè)
Web應(yīng)用中Java的速度真相探討
瀏覽:119日期:2024-06-12 15:25:22
內(nèi)容: 在Web base project中, 常有人認(rèn)為Java 的速度比較慢? 但真相卻是...... 原創(chuàng):jmkt(1)JVM + one VM : JAVA 是架構(gòu)在 JVM 上面執(zhí)行,而JVM又是架構(gòu)在另一個(gè) VM (ex : Microsoft OS)上面, 若認(rèn)為Java 的速度比較慢, 這樣比 較是不太正確的. 很多書(shū)籍或是技術(shù)文章, 都有提到. 但實(shí)務(wù)上 : 我常看到的是, 當(dāng)另一個(gè)VM的環(huán)境(此 OS 所在的 Server)並不 乾淨(jìng)的時(shí)候, 常會(huì)相對(duì)地影響 Java application執(zhí)行的速度, 大部份 認(rèn)為Java 的速度比較慢的人並未看到這點(diǎn), 或不想討論這點(diǎn). (2)架構(gòu)正確的project vs 層疊架屋的project : 若是架構(gòu)正確的project架構(gòu), JSP 或 JAVA Application 的執(zhí)行 速率可以很快的; 反之, 層疊架屋的project常會(huì)搞垮一切 檢驗(yàn) 層疊架屋的project 的方式有許多種, 我還有許多還沒(méi)學(xué)到 的不過(guò), 我在三年前用過(guò)一種方式, 很好用. 試著將 層疊架屋的 project 中的某個(gè)簡(jiǎn)單的功能獨(dú)立出來(lái)成為 一個(gè)乾淨(jìng)的 Project,你會(huì)發(fā)現(xiàn)許多困難 (PS : JAVA新手 [請(qǐng)勿] 在公司中公開(kāi)對(duì)外嚐試, 私底下練習(xí)可以, 以免被較資深的人員責(zé)備.) (PS 2: 這只是經(jīng)驗(yàn)談, 不涉及任何人和任何JAVA Base Project.) (3)storeprocedure vs JDBC 的迷思 : 常有人說(shuō) storeprocedure 的'速度'較 JDBC SQL Statemenet 快但我發(fā)現(xiàn)只比較後面的執(zhí)行狀況好像也不完整 原因 : A. storeprocedure 常在開(kāi)發(fā), 交接, 維護(hù)上, 花了許多專案的時(shí)間與 人力的成本. B. storeprocedure 也在改版上(例如 : 從 Microsoft 的版本轉(zhuǎn)為 DB2 的版本), 花了許多專案的時(shí)間與人力的成本. C. storeprocedure 常有許多的隱含錯(cuò)誤在裡面, 在被比較時(shí), 這部份 往往被忽略不看, 例如 : 在實(shí)務(wù)上, 因業(yè)務(wù)尚未被Online使用, 就沒(méi) 測(cè)試的很完整. 這種方式的討論, 是反應(yīng)[速度] 與 [速率] 問(wèn)題上的差異. (PS : I am not 看不起那些只會(huì)下 SQL 指令或是只會(huì)寫 store procedure 的人, 我只是單純的反應(yīng) Java 效率的問(wèn)題) (4) 不熟悉Web Application Container : 再回過(guò)來(lái), 比如說(shuō), 一些不熟Java架構(gòu), 或不熟悉Web Application Container, 常會(huì)發(fā)生這種狀況. 我常看到有些人將 : IBM WebSphere 不知道怎麼稿的, 發(fā)生CPU的使用 率達(dá)到100%, 然後回過(guò)頭來(lái)抱怨 Java 執(zhí)行的速度太慢. 我所列的只是某些真相...... JMKT 筆 2005/09/09 PM 16 : 20 At One Project Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd 在Web base project中, 常有人認(rèn)為Java 的速度比較慢? 但真相卻是......
標(biāo)簽:
Java
相關(guān)文章:
1. 詳解Android應(yīng)用沙盒機(jī)制2. Windows Phone 支持 Android 應(yīng)用程序?來(lái)看看第三方開(kāi)發(fā)者怎么說(shuō)3. PHP應(yīng)用分頁(yè)顯示制作詳細(xì)講解4. Vue Element前端應(yīng)用開(kāi)發(fā)之根據(jù)ABP后端接口實(shí)現(xiàn)前端展示5. PHP swoole中使用task進(jìn)程異步的處理耗時(shí)任務(wù)應(yīng)用案例分析6. Vue Element前端應(yīng)用開(kāi)發(fā)之圖標(biāo)的維護(hù)和使用7. Vue Element前端應(yīng)用開(kāi)發(fā)之界面語(yǔ)言國(guó)際化8. 在java中使用SPI創(chuàng)建可擴(kuò)展的應(yīng)用程序操作9. Vue Element前端應(yīng)用開(kāi)發(fā)之Vuex中的API Store View的使用10. Vue Element前端應(yīng)用開(kāi)發(fā)之樹(shù)列表組件
排行榜
