Web应用中Java的速度真相探讨
2008-12-21 13:22
253 查看
(1)JVM + one VM :
JAVA 是架构在 JVM 上面执行,而JVM又是架构在另一个 VM (ex : Microsoft OS)上面, 若认为Java 的速度比较慢, 这样比较是不太正确的.
很多书籍或是技术文章, 都有提到.
但事实上 :
我常看到的是, 当另一个VM的环境(此 OS 所在的 Server)并不干净的时候, 常会相对地影响 Java application执行的速度, 大部份认为Java 的速度比较慢的人并未看到这点, 或不想讨论这点.
(2)架构正确的project vs 层叠架构的project :
若是架构正确的project架构, JSP 或 JAVA Application 的执行速率可以很快的; 反之,层叠架构的project常会搞垮一切。
检验 层叠架构的project 的方式有许多种, 我还有许多还没学到的,不过我在三年前用过一种方式, 很好用.
试着将层叠架构的 project 中的某个简单的功能独立出来成为一个干净的 Project,你会发现许多困难。
(PS : JAVA新手 [请勿] 在公司中公开对外尝试, 私底下练习可以, 以免被较资深的人员责备.)
(PS 2: 这只是经验谈, 不涉及任何人和任何JAVA Base Project.)
(3)storeprocedure vs JDBC 的迷思 :
常有人说 storeprocedure 的"速度"较 JDBC SQL Statemenet 快,但我发现只比较后面的执行状况好像也不完整
原因 :
A. storeprocedure 常在开发, 交接, 维护上, 花了许多专案的时间与人力的成本.
B. storeprocedure 也在改版上(例如 : 从 Microsoft 的版本转为 DB2 的版本), 花了许多专案的时间与人力的成本.
C. storeprocedure 常有许多的隐含错误在里面, 在被比较时, 这部份往往被忽略不看, 例如 : 在事务上, 因业务尚未被Online使用, 就没测试得很完整.
这种方式的讨论, 是反映[速度] 与 [速率] 问题上的差异.
(PS : I am not 看不起那些只会下 SQL 指令或是只会写 store procedure 的人, 我只是单纯的反映 Java 效率的問題)
(4) 不熟悉Web Application Container :
再回过来, 比如说, 一些不熟Java架构, 或不熟悉Web Application Container, 常会发生这种状况.
我常看到有些人将 : IBM WebSphere 不知道怎么搞的, 发生CPU的使用率达到100%, 然后回过头來抱怨 Java 执行的速度太慢.
我所列的只是某些真相......
JAVA 是架构在 JVM 上面执行,而JVM又是架构在另一个 VM (ex : Microsoft OS)上面, 若认为Java 的速度比较慢, 这样比较是不太正确的.
很多书籍或是技术文章, 都有提到.
但事实上 :
我常看到的是, 当另一个VM的环境(此 OS 所在的 Server)并不干净的时候, 常会相对地影响 Java application执行的速度, 大部份认为Java 的速度比较慢的人并未看到这点, 或不想讨论这点.
(2)架构正确的project vs 层叠架构的project :
若是架构正确的project架构, JSP 或 JAVA Application 的执行速率可以很快的; 反之,层叠架构的project常会搞垮一切。
检验 层叠架构的project 的方式有许多种, 我还有许多还没学到的,不过我在三年前用过一种方式, 很好用.
试着将层叠架构的 project 中的某个简单的功能独立出来成为一个干净的 Project,你会发现许多困难。
(PS : JAVA新手 [请勿] 在公司中公开对外尝试, 私底下练习可以, 以免被较资深的人员责备.)
(PS 2: 这只是经验谈, 不涉及任何人和任何JAVA Base Project.)
(3)storeprocedure vs JDBC 的迷思 :
常有人说 storeprocedure 的"速度"较 JDBC SQL Statemenet 快,但我发现只比较后面的执行状况好像也不完整
原因 :
A. storeprocedure 常在开发, 交接, 维护上, 花了许多专案的时间与人力的成本.
B. storeprocedure 也在改版上(例如 : 从 Microsoft 的版本转为 DB2 的版本), 花了许多专案的时间与人力的成本.
C. storeprocedure 常有许多的隐含错误在里面, 在被比较时, 这部份往往被忽略不看, 例如 : 在事务上, 因业务尚未被Online使用, 就没测试得很完整.
这种方式的讨论, 是反映[速度] 与 [速率] 问题上的差异.
(PS : I am not 看不起那些只会下 SQL 指令或是只会写 store procedure 的人, 我只是单纯的反映 Java 效率的問題)
(4) 不熟悉Web Application Container :
再回过来, 比如说, 一些不熟Java架构, 或不熟悉Web Application Container, 常会发生这种状况.
我常看到有些人将 : IBM WebSphere 不知道怎么搞的, 发生CPU的使用率达到100%, 然后回过头來抱怨 Java 执行的速度太慢.
我所列的只是某些真相......
相关文章推荐
- Web应用中Java的速度真相探讨
- Java的WEB应用性能问题定位方法总结
- [转]大型Java Web系统选型问题探讨
- Java Web应用中调优线程池的重要性
- Gradle构建Java Web应用:Servlet依赖与Tomcat插件(转)
- 大型Java Web系统服务器选型问题探讨
- Eclipse Java EE IDE for Web Developers集成的Maven 3 如何应用?
- Java Web应用软件保护方法
- 部署javaweb应用出错
- JavaWeb 第12章 JDBC详解(五)高级应用
- java web应用解决乱码问题
- IntelliJ IDEA2016.1,gradle 创建 Java web 应用
- ASP.NETWebPage应用深入探讨
- linux下部署JavaWeb应用以及mysql目录结构
- Java Web应用快速开发平台OpenJWeb(v1.6)增删改查页面生成器操作手册
- Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库
- 修改java类后web应用不用重启的办法
- Portal-Basic Java Web 应用开发框架 v2.6.2 发布(源码、示例及文档)
- 用Java缓存机制创建更快的Web应用----基本用法
- 使用spring-loaded开源项目,实现java程序和web应用的热部署