2019独角兽企业重金招聘Python工程师标准>>>

使用Jfinal一段时间了,记得当初14年吧,为了建立一个简单的门户网站,想找个轻量型的急速开发框架,然后搜到Jfinal,然后用了一段时间后,确实不错, 现在吧,随着时间的推移,作者对JFinal的版本迭代也是一直在努力,一直朝着优秀的方向走去;

这里做下对Jfinal的使用记录;

为什么要用Jfinal:

  • 轻: 轻到什么程度呢, 体积小,框架仅339K,且无第三方依赖
    • 开发快: 粘贴复制就是可以做到简单的模块增删改查;
    • 启动快: 内置jetty启动,直接运行main方法就可以启动整个web项目
    • 编译快: 热编译的支持,更是让jfianl使用者留下更多的时间陪家人
  • 便捷
    • 支持Validator后端校验
    • AOP支持,拦截器配置灵活便捷
    • Plugin体系结构,扩展性强,比如兼容spring定时器什么的也可以做到(当然,不推荐使用xml的方式)
    • 无xml配置,框架接口简单明了
  • 学习成本低,上手快,,这才是重点;节约更多的时间可以去陪恋人,家人

说了Jfinal的好处,那么Jfinal到底适合哪些应用场景呢,适合多大的运行项目呢;

适合中小型项目,这主要是针对一些业务处理不是很复杂的项目;

  • 看表     200来张表 ,可以定位中型项目吧
  • ​​​​​​​       看代码量    (未知)
  • ​​​​​​​​​​​​​​       物理大小   (未知)

​​​​​​​看案例吧,具体说也难说, 看到的才最明了, 以下是Jfinal做的一些项目:

http://www.ysshow.com

http://www.666ys.cn

等等

关于性能及访问压力测试

  • 100 个线程并发,20000次请求

    ab -n 20000 -c 100 http://202.114.79.246:8280/portal/login?username=zhangsan\&password=123
    This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 202.114.79.246 (be patient)
    Completed 2000 requests
    Completed 4000 requests
    Completed 6000 requests
    Completed 8000 requests
    Completed 10000 requests
    Completed 12000 requests
    Completed 14000 requests
    Completed 16000 requests
    Completed 18000 requests
    Finished 20000 requestsServer Software:        Apache-Coyote/1.1
    Server Hostname:        202.114.79.246
    Server Port:            8280Document Path:          /portal/login?username=zhangsan&password=123
    Document Length:        2412 bytesConcurrency Level:      100
    Time taken for tests:   2.754403 seconds
    Complete requests:      20000
    Failed requests:        0
    Write errors:           0
    Total transferred:      53053260 bytes
    HTML transferred:       48252060 bytes
    Requests per second:    7261.10 [#/sec] (mean)
    Time per request:       13.772 [ms] (mean)
    Time per request:       0.138 [ms] (mean, across all concurrent requests)
    Transfer rate:          18809.52 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
    Connect:        0    1   2.0      2       9
    Processing:     2   11   3.4     11      51
    Waiting:        0    5   3.6      5      38
    Total:          2   13   3.8     13      53Percentage of the requests served within a certain time (ms)50%     1366%     1475%     1580%     1590%     1795%     1898%     1999%     29100%     53 (longest request)
  • 100 个线程并发,30000 次请求
    ab -n 30000 -c 100 http://202.114.79.246:8280/portal/login?username=zhangsan\&password=123
    This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 202.114.79.246 (be patient)
    Completed 3000 requests
    Completed 6000 requests
    Completed 9000 requests
    Completed 12000 requests
    Completed 15000 requests
    Completed 18000 requests
    Completed 21000 requests
    Completed 24000 requests
    Completed 27000 requests
    Finished 30000 requestsServer Software:        Apache-Coyote/1.1
    Server Hostname:        202.114.79.246
    Server Port:            8280Document Path:          /portal/login?username=zhangsan&password=123
    Document Length:        2412 bytesConcurrency Level:      100
    Time taken for tests:   4.336593 seconds
    Complete requests:      30000
    Failed requests:        0
    Write errors:           0
    Total transferred:      79581216 bytes
    HTML transferred:       72379296 bytes
    Requests per second:    6917.87 [#/sec] (mean)
    Time per request:       14.455 [ms] (mean)
    Time per request:       0.145 [ms] (mean, across all concurrent requests)
    Transfer rate:          17920.98 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
    Connect:        0    2   1.8      2      10
    Processing:     1   11   3.3     12      56
    Waiting:        0    5   3.4      5      51
    Total:          2   13   3.6     14      57Percentage of the requests served within a certain time (ms)50%     1466%     1575%     1580%     1690%     1795%     1898%     1999%     28100%     57 (longest request)
  • 200 个线程并发,10 万次请求
    ab -n 100000 -c 200 http://202.114.79.246:8280/portal/login?username=wangkai\&password=123
    This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 202.114.79.246 (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Finished 100000 requestsServer Software:        Apache-Coyote/1.1
    Server Hostname:        202.114.79.246
    Server Port:            8280Document Path:          /portal/login?username=wangkai&password=123
    Document Length:        2411 bytesConcurrency Level:      200
    Time taken for tests:   15.194965 seconds
    Complete requests:      100000
    Failed requests:        0
    Write errors:           0
    Total transferred:      265219295 bytes
    HTML transferred:       241208495 bytes
    Requests per second:    6581.13 [#/sec] (mean)
    Time per request:       30.390 [ms] (mean)
    Time per request:       0.152 [ms] (mean, across all concurrent requests)
    Transfer rate:          17045.32 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
    Connect:        0   10 147.1      3    3019
    Processing:     1   18   7.0     18     228
    Waiting:        0    8   6.7      8     220
    Total:          4   29 147.4     21    3047Percentage of the requests served within a certain time (ms)50%     2166%     2475%     2680%     2790%     3095%     3398%     3799%     43100%   3047 (longest request)

相对于 struts2 性能提升 8 倍左右,相对 spring 性能提升两倍多,只要服务器性能好并且没有数据库或其它瓶颈,并发 1000 以上不是问题;

不过,Jfinal只不过是你整个架构的一部分,并发访问量承受能力完全取决于你的整体架构如何;

官方并没有给出具体数据,以上数据类型是截至开源社区中的内容;

没有对比就没有伤害(Jfinal PK springMVC)

  • 开发效率至少比spring快三倍以上(主要由于热编译,启动快,结构简单,无xml)
  • Jfinal Db + Record模式,灵活便利 ,维护量少
  • spring 本身就很厚重,在加上ser/get封装类,维护麻烦
  • 同样是添加Validator后端校验,springMVC配置则要麻烦的多
  • 更多的就需要你自己去体验了

以上对比是在开发中小型(业务不复杂)项目的时实际经验总结;

转载于:https://my.oschina.net/java1314/blog/793473

浅谈Jfinal急速开发框架相关推荐

  1. 浅谈棋牌游戏开发框架之架构

    浅谈棋牌游戏开发框架之架构 关键字: 棋牌游戏 架构 框架 开发 发表文章 摘要:现在来和大家分享下怎么架构和实现框架来满足棋牌游戏需求的.一.原型符合棋牌项目框架,快速换皮,快速融合.多渠道多包体. ...

  2. php框架开发的优势,浅谈关于php开发框架的九个优势

    浅谈关于php开发框架的九个优势 2016-09-05 13:44:45 3528浏览 现如今,随着移动互联网不断的更新换代,越来越多人想要学习IT开发,比如目前开发有php开发等,那么下面我们来介绍 ...

  3. 浅谈一下个人基于IRIS后端业务开发框架的理解

    文章目录 浅谈一下个人基于IRIS后端业务开发框架的理解 现状 方案 具体实现 `Base` `Biz` `Data` `Filter` `Sql` `Imp`.`Ref` `Api` `Util` ...

  4. 浅谈Python Web的五大框架

    说到web framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见:http://wi ...

  5. 浅谈五大Python Web框架

    http://www.csdn.net/article/2011-02-17/292058 导读:作者飞龙写了一篇<浅谈Python Web框架>,文中他介绍了几个Python Web框架 ...

  6. 前端类名优秀命名例子_这是一篇需要花费你15分钟阅读的干货!浅谈前端工程化...

    01前端工程化的背景 随着业务的扩展.业务需求更加复杂.项目团队的壮大以及项目的增多等.制定一套适用于团队的前端工程化方案很有必要. 02前端工程化是什么 前端工程化是一个很广泛的话题.涉及的技术与解 ...

  7. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹--落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

  8. 浅谈计算机教学的现状分析,浅谈中职计算机专业教学的现状与对策

    好文网为大家准备了关于浅谈中职计算机专业教学的现状与对策的文章,好文网里面收集了五十多篇关于好浅谈中职计算机专业教学的现状与对策好文,希望可以帮助大家.更多关于浅谈中职计算机专业教学的现状与对策内容请 ...

  9. 打造急速开发框架FastApp

    本年度最后一个长假算是过去了,再度回到北京,颇有一番感受. 在前面的文章中,我们介绍了开发过程容易出现的一些问题,今天我们就在此基础上打造自己急速开发框架(FastApp).该框架旨在向你展示一个轻量 ...

最新文章

  1. 华西生物医学大数据中心俞鹏课题组博士后招聘启事
  2. 用turtle画皮卡丘
  3. 关于C#程序的单元测试
  4. 机器学习与差分隐私(认证鲁棒性和隐私保护)
  5. 机器学习中各科目基本概念集合
  6. mysql查到库怎么进入表_mysql如何进入数据库查看所有表
  7. Talos实验室深入我国DDoS黑市DuTe 揭露各种DDoS团伙、平台、工具及攻击
  8. Spark内核解析之三:Spark 通讯架构
  9. html面试要带电脑吗,前端面试巧妙回答浏览器兼容问题
  10. Java 正则表达式,正则表达式匹配a标签下的链接,正则表达式基础
  11. 工程造价为什么会出现“三超问题”?
  12. 操作性条件作用和经典性条件作用中,刺激分化和泛化的区别是?|小白心理-312/347考研答疑
  13. wang zhe rong yao
  14. 计算机系统的组成一般不包括,计算机系统的基本组成,一般应包括哪些
  15. HTTP请求响应基础介绍
  16. macOS如何给idea安装ja-netfilter插件
  17. 分享DB2 SQL查询性能问题一例
  18. 前端开发:如何写一手漂亮的 Vue
  19. MUI-list(列表),普通列表、带箭头列表、带数字角标列表、带图文列表
  20. PowerShell命令免杀思路

热门文章

  1. mysql insert 二进制_MYSQL 插入二进制数的 2 种方法。
  2. datagridview取消默认选中_C# WinForm 取消DataGridView的默认选中Cell 使其不反蓝
  3. java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)...
  4. 敏感词过滤的php代码,PHP敏感词过滤
  5. 共享可写节包含重定位_今年双11好房也打折!贝壳兰州站“11.11新房节” 5日开启...
  6. java第七章jdbc课后简答题_javaEE简答题答案
  7. 单机最大负载_电流互感器允许接入的实际最大二次负载(注电案例1865)
  8. jdk、jre及jvm的关系
  9. JSP 编译原理:JSP 是 Servlet?如何用 Eclipse 查看 JSP 编译生成的 Servlet 源文件?
  10. Spark之scala学习(基础篇)待更新