dayup2 2012-10-26 13:49
浏览 300
已采纳

javaWeb项目优化问题

javaWeb项目的大小是否影响着项目运行的效率?
比如:两个项目基本功能一样,但是一个引入大量JAR包或其他文件。我想问下,是不是相对项目体积小的效率更高些。作为BS系统,项目运行影响他效率的(除代码优化和数据库,硬件,网络)还有那些?与CS系统又有哪些区别?
不是特别清楚,可能提的问题也有出处?望予以解答!!

  • 写回答

2条回答 默认 最新

  • blogzhoubo 2012-10-26 15:39
    关注

    引入大量jar包说明业务系统的需求相对丰富,没有无缘无故导入的jar包,而且java是个动态加载的系统,只有需要某个class的时候才会去加载它,所以jar包本身不会影响系统的性能。

    如果是两个功能相似的系统:
    系统1:尽可能利用开源的jar包
    系统2:尽可能不利用开源的jar包,很多通用的功能都自己实现

    那么,系统1的做法更好,性能会更高,代码的效率和可维护性更好

    web系统的效率和访问量有很大关系,随着并发request数量的不断增加,系统的性能会遇到瓶颈,甚至会直接挂掉,这时候就需要重新考虑系统的整体架构。比如:提高硬件配置,增加主机,负载均衡,缓存等等。与这些要素相比,你提到的jar包的数量,代码量这些其实是次要的因素。

    至于CS系统和BS系统的区别,大致能想到这些:
    1.BS系统不需要安装和升级客户端程序,只要有浏览器,能联网就行。
    CS系统需要每个终端安装和升级具体的客户端程序。

    2.如果支持多种终端(windows,ios,Android),BS结构可以不需要考虑客户端程序。而CS结构的话,每个平台都要单独开发客户端程序。

    3.BS结构的客户端界面因为要依托于浏览器,所以对界面的支持不如CS系统,虽然现在出现了很多富客户端的UI以及HTML5,但还是达不到CS的本地UI。

    4.CS系统的运行速度高于BS的浏览器客户端。因为BS结构的系统,所有的画面展现都要通过网络来传输大量的HTTP数据包。而CS系统只需要传输服务端返回的数据,数据量会少很多。还有就是BS系统的画面展现要通过浏览器对HTML文进行解释分析后再执行,所以客户端的运算速度赶不上CS本地客户端的代码。

    5.CS和BS其实是各自有各自的适用范围,对于功能丰富,信息量较大,信息类型较丰富(文字,图片,声音,视频等等)的网站系统,当然要用BS系统。对于那些功能单一,以运算为主的系统,可以考虑采用CS系统。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog