java - 哪个更快,JSTL 还是 Java?

标签 java performance jsp jstl

我将一些 JSTL 逻辑重构为 Java。当时我没有考虑性能,只是假设 Java 会更快。这个假设是否正确?

每个语句包含的 JSTL 代码被重构为 Java for 循环。我的假设是 JSTL 代码在编译之前必须首先转换为 Java。

最佳答案

您的假设(大部分)不正确。您的 servlet 容器(例如 Tomcat)会将所有 jsp 页面编译成 java servlet,然后编译成 java 字节码,这最终是在请求 jsp 页面时运行的。所以 jsp 页面无论如何都会透明地转换为 java 代码。 jSTL 自定义标记库实现逻辑和您的 java 代码之间可能存在性能差异,但这是由于特定实现,而不是 java 与 jSTL。

在 Tomcat 的默认配置下,jsp 编译直到第一次访问 jsp 资源时才会发生,因此对于 jsp 页面的第一个请求(仅)会有启动惩罚。如果您担心第一次点击,您可以配置 jsp 页面以进行预编译。对于大多数用例来说,不值得麻烦。

关于java - 哪个更快,JSTL 还是 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15046664/

相关文章:

java - JVMTI 代理崩溃

java - 使用自定义标签包装 spring mvc select 标签时出现 IllegalStateException

python - 重复推理后模型推理运行时间增加

java - Java 请求确认的简短方法

jquery - 如何使用 jQuery 选择提交按钮

java - 检查 map 是否包含键

java - setUndecorated 不适用于非默认外观和感觉

c - 对于大消息,与 MPI (mvapich2) 中的计算重叠通信

java - Spring MVC : processing values from timesheet - multiple objects

java 日期格式 - GMT 0700 (PDT)