当前位置:首页>java>2019 Java发展趋势报告:Java老矣,Java正年轻

2019 Java发展趋势报告:Java老矣,Java正年轻

  • 2026-01-14 08:49:14
2019 Java发展趋势报告:Java老矣,Java正年轻

作者丨Ben Evans、Erik Costlow、Dustin Schultz、Charles Humble

译者丨无明

Java 已经是一门具有 20 多年历史的老牌语言,雄霸编程语言排行榜榜首多年的 Java 目前也面临着越来越大来自新兴语言的挑战和使用者们的批评。InfoQ 英文站的编辑们按照技术采用生命周期的理论对 Java 在 2019 的发展趋势做了分析,Java 老矣,Java 却仍年轻。
本文要点
  • 近期要发布的 Java 13(非 LTS 版本)进入创新者阶段。

  • Java 11(LTS 版本)进入早期采用者阶段,Java 8 进入晚期大众阶段。

  • 非 HotSpot 虚拟机采用率在增长,OpenJ9 和 Graal 进入早期采用者阶段。云原生计算的发展在驱动着企业转向遵循云原生原则(启动速度快、内存占用低)的 JRE。

  • 一般的开发者对 Graal 可能不太感兴趣,但因为它可以将 Java 编译成本地库,同时支持多语言,所以我们会进一步关注它。

  • Java 微服务框架大洗牌,Spring Boot 和 Spring Cloud 进入晚期大众阶段,它们已经成为企业信任的 Java 微服务开发框架。Helidon 和 Microprofile 进入早期采用者阶段,不过我们认为 vert.x 会因为相对利基的市场无法跨过早期采用者阶段。

在这份报告里,InfoQ 编辑团队对 Java 生态系统的技术采用趋势进行了分析,不仅涉及到了 Java,还有其他相关的编程语言,比如 Kotlin 和 Scala,以及 Java 虚拟机、基于 Java 的框架和库。我们将讨论 Core Java 的发展趋势,比如 Java 11 和 Java 13 的采用情况,以及 Web 开发框架的演化,比如 Spring Boot 和 Microprofile。

这份报告旨在为技术负责人提供帮助,帮他们做出中长期的技术决策,同时也让开发者知道该把宝贵的时间花在学习哪些技术上。这是我们第一次发布 Java 趋势报告,尽管 InfoQ 从 2006 年成立以来就一直在报道 Java 相关的主题,而且多年来也一直在内部跟踪 Java 和 JVM 的发展趋势。

InfoQ 和 QCon 关注处于“创新者、早期采用者和早期大众”阶段的技术。我们尝试找出符合 Geoffrey Moore 所谓的早期市场的技术。早期市场“客户群由技术爱好者和有远见的人组成,他们希望走在机遇前面,解决迫在眉睫的问题”。我们也在寻找可能会“跨越鸿沟”以便得到更广泛采用的技术。需要注意的是,技术在采用曲线上的确切位置可能会有所不同。例如,湾区公司目前广泛采用 Java 11,但在其他地方可能不是这种情况。

与 2018 年的内部 Java 趋势图相比,新趋势图在创新者阶段新增了 Java 13(非 LTS 版本)。这导致了一些列连锁反应,Java 11(LTS 版本)被移到了早期采用者阶段,而 Java 8 被移到了晚期大众阶段。

我们看到了非 HotSpot 虚拟机的采用率在增加,OpenJ9 和 Graal 进入了早期采用者阶段。我们认为,云原生计算的发展驱动着各个企业转向遵循云原生原则(启动速度快、内存占用低)的 JRE。一般的开发者对 Graal 可能不太感兴趣,但因为它可以将 Java 编译成本地库,同时支持多语言,所以我们会进一步关注它。

Java 微服务框架大洗牌,Spring Boot 和 Spring Cloud 进入晚期大众阶段。这表示它们的采用率增长正在减缓(因为市场趋于饱和),而不是说开发者会弃用这些框架。Helidon 和 Microprofile 进入早期采用者阶段,不过我们认为 vert.x 会因为相对利基的市场无法跨过早期采用者阶段。

以下内容整理自 InfoQ Java 板块编辑的内部沟通邮件,提供了更多有关我们如何制定 Java 趋势图的背景信息。

Daniel Bryant,独立技术顾问,Datawire 产品架构师,InfoQ 新闻板块主管:

又到了更新 Java 趋势图的时间。我迫不及待地想要看到我们在 2018 年所跟踪的技术是否出现在了趋势图正确的位置上,以及新增或移除了哪些技术。

首先是创新者阶段的变化:

  • 将 Java 11 改为 Java 12/13;

  • 将 OpenJ9 移到早期采用者阶段;

  • 加入 Java 模块化系统;

  • 加入 Quarkus。

早期采用者阶段的变化:

  • 将 Spock 移到晚期采用者阶段;

  • 将微服务框架移到晚期大众阶段,但 Lagom 和 Microprofile 除外?

  • 加入 Helidon。

Erik Costlow,软件架构师,专注于安全和 Java 领域:

  • 将 Java 8 移到落后者阶段。Java 8 是在 2014 年发布的,Oracle 已经不再为它提供公共免费支持。

  • Java 11(LTS 版本)仍然待在早期采用者阶段;

  • Java 13(非 LTS 版本)进入创新者阶段;

  • 开发者对 Graal 本身并不是很感兴趣,但他们需要这些东西:

    1、可以将 Java 编译成本地应用(本地镜像);

    2、多语言支持(例如 Ruby Truffle)。

    3、Graal 本地镜像有一个问题——如果 Java 或其他 JVM 供应商也提供了静态编译那会怎样?本地镜像并没有通过 TCK。关键问题是其他 JVM 供应商可以这么做吗?如果他们这么做了会怎样?

  • 非 HotSpot 虚拟机除了 Graal 和 OpenJ9,还有 Excelsior、Azul、Liberica、Corretto、Alibaba Dragonwell、AdoptOpenJDK、RedHat,等等。

  • JVM 上的 Node 已死。

  • 将测试框架移到早期大众阶段。

  • 将 Spring Boot 移到晚期大众阶段。

  • 将“Java EE 到 Jakarta EE 的迁移“放在创新者阶段,我觉得这会很有意思。

现在有太多的 Java 发行版。我希望在创新者阶段能够有与这个问题相关的内容:如何大规模管理这些发行版或者如何在不同团队、系统之间管理好它们。如果一个应用程序可以被编译成本地应用,那么谁来负责给”JRE“打补丁?这又意味着什么?

Dustin Schultz,首席软件工程师,Pluralsight 作者,技术布道师:

我赞同关于创新者阶段的说法。

但我不认为 Spock 会跳出早期采用者阶段,毕竟我还没有看到它被大量采用。

除了 Vertx,我会将其他微服务框架移出早期采用者阶段……或许 Lagom 可以留下。我不确定它们在以后会不会跳出这个阶段。

或许可以将 Groovy 移到晚期大众阶段,因为它的表现太一般。

Charles Humble,InfoQ 首席编辑:

我同意你们的大部分说法。Java 模块化系统采用也是一个很有趣的话题。我敢肯定 OSGI 拥护者对于将它放在创新者阶段会有意见,但这样做可能是对的。

我想可以将 Clojure 移到晚期大众阶段。当然,人们还在用它,但我感觉到它的使用量在下降,而且它本身面向的就是利基市场。

我会将 Ceylon 移掉。它一直以来都没有获得太多关注,而且我不认为进入 Eclipse 会给它带来多大帮助。这个项目的活跃度很低,过去 6 个月只有 10 个代码提交。

测试框架的趋势看起来相当稳定。我们要把它移掉吗?从采用率来看,我给它们排个顺序:JUnit、TestNG/Cucumber、Spock,但似乎变化不大?

SmartBear 最近收购了 Cucumber,可能会促进它的发展,但即使是这样,我仍然倾向于把它们移掉。

人们似乎对 JVM 上的 Node 不感兴趣?我想可以把它移掉。

我很想把 Kotlin 移到早期大众阶段,它是我近来最经常听到的一门 JVM 编程语言,这要得益于 Android 开发的流行。可以说,它已经越过了鸿沟,但仍然落后于其他编程语言,比如 Groovy、Swift 或 Go 语言。

我觉得 Scala 可以留在晚期大众阶段,人们会逐步弃用它。

关于 Java,我也不确定该怎么说。我所知道的是,非 LTS 版本的采用量非常有限,它们或许可以被放在创新者阶段,但很奇怪的是,它们当中有些已经进入 EOL 阶段。不管怎样,我认为 Java 8 仍然处在晚期大众阶段,Java 11 在早期采用者阶段,Java 11 在创新者阶段?

Ben Evans,New Relic 首席工程师,JVM 技术架构师:

我非常赞同有关 Java 非 LTS 版本的说法。来自生产环境的数据表明,Java 11 部署量很稳定,并有了 5% 左右的增长,我觉得它应该处在早期采用者阶段。

Ceylon 绝对可以移掉,它从来就没有得到过足够的关注,它的份额被 Kotlin 吃掉了。

Java 8 应该留在早期大众阶段,现在仍然有很多服务是用 Java 8 开发的,还有很多主流产品(例如 Cassandra)不支持 Java 8 以后的版本。我还没看到有哪个主流产品放弃对 Java 8 的支持(但我相信 ElasticSearch 会是第一个)。

作者介绍

Ben Evans 是 JVM 性能优化公司 jClarity 的联合创始人之一。他是 LJC(伦敦 JUG)组织者和 JCP 执行委员会成员,帮助定义 Java 生态系统标准。Ben 是 Java Champion,三次 JavaOne Rockstar 演讲者获得者,“The Well-Grounded Java Developer”、新版“Java In a Nutshell”和“Optimizing Java”作者,定期提供 Java 平台、性能、架构、并发、初创企业等话题相关的演讲。

Erik Costlow 是一位具有丰富 Java 经验的软件安全专家。他在 Contrast Security 从事开发者管理工作。Contrast 公司专注于传感器与应用程序的集成,让它们能够基于应用程序如何使用数据来检测安全威胁。Erik 还是 Oracle 的首席产品经理,主要负责 Java 8 的安全问题。他还协助 Turbonomic 产品管理团队在数据中心 / 云性能自动化方面实现了 1 亿美元的年收入。Erik 还负责 Fortify 静态代码分析器的产品管理,这是一个帮助开发人员发现和修复代码漏洞的工具。Erik 还在 Packt Publishing 的课程平台上推出了几门有关数据分析、统计和密码学的课程。

Dustin Schultz 是一名首席软件工程师、Pluralsight 作者和技术布道师。他拥有计算机科学学士和硕士学位,从事软件开发工作超过 15 年。Dustin 热爱一切与科技有关的事物。他喜欢学习,对一切充满好奇心。他妈妈在他小时候给他买了一本有关“事物原理”的书,因为她厌倦了他老是有问不完的问题。

Charles Humble 于 2014 年 3 月接任 InfoQ 总编一职,指导我们的内容创作,包括新闻、文章、书籍、视频演示和采访。在成为 InfoQ 全职员工之前,Charles 负责 Java 板块的报道工作,并担任 PRPi 咨询公司的首席技术官。这是一家薪酬研究公司,于 2012 年 7 月被普华永道收购。他当时在 PRPi 全面负责开发公司内部使用的软件。作为开发人员、架构师和开发经理,他在企业软件领域工作了大约 20 年。在他还是一名业余音乐爱好者。

Daniel Bryant 是 Datawire 的独立技术顾问和产品架构师。他的技术专长主要是“DevOps”工具、云 / 容器平台和微服务实现。Daniel 是 Java Champion,并为几个开源项目做出了贡献。他还为 InfoQ、O’Reilly 和 TheNewStack 撰写文章,并定期出席 OSCON、QCon 和 JavaOne 等国际会议。他在空闲时间喜欢跑步、阅读和旅行。

原文链接:

https://www.infoq.com/articles/java-jvm-trends-2019/

伴随着质疑、唱衰、新兴语言的挑战,Java走过了独占鳌头的二十多年。当前,编程语言发展的趋势都是在竞争中互相融合,没有哪种语言是完美的,但Java拥有着最完整的生态与庞大的开发者群体。Java的过去、现在和未来是怎样的?未来Java的发展趋势又会如何?请点击阅读原文查看InfoQ策划的《Java老矣,Java正年轻》专栏。

点个在看少个 bug👇

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-10 07:36:56 HTTP/2.0 GET : https://f.mffb.com.cn/a/459050.html
  2. 运行时间 : 0.127512s [ 吞吐率:7.84req/s ] 内存消耗:4,993.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ac4d02ba71fa5de12abadce051bf75e8
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000537s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000810s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000253s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000275s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000629s ]
  6. SELECT * FROM `set` [ RunTime:0.000226s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000684s ]
  8. SELECT * FROM `article` WHERE `id` = 459050 LIMIT 1 [ RunTime:0.000523s ]
  9. UPDATE `article` SET `lasttime` = 1770680216 WHERE `id` = 459050 [ RunTime:0.011440s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000317s ]
  11. SELECT * FROM `article` WHERE `id` < 459050 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004861s ]
  12. SELECT * FROM `article` WHERE `id` > 459050 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002485s ]
  13. SELECT * FROM `article` WHERE `id` < 459050 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002495s ]
  14. SELECT * FROM `article` WHERE `id` < 459050 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002569s ]
  15. SELECT * FROM `article` WHERE `id` < 459050 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.016109s ]
0.129157s