Java EL系列-1.JUEL简介

简介:

  inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish )。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/

  JUEL 是统一表达式语言(Unified Expression Language , EL )的一个实现,是JSP 2.1 标准(JSR-245 )的一部分,已经作为Java EE 5 的一部分,并且,JUEL 2.2实现了JSP 2.2 发行版,与Java EE 6 规范完全兼容。(来源:http://blog.csdn.net/inkfish)

动机
  自从EL作为JSTL的一部分,EL成为JSP 2.0标准的一部分。不过现在,在JSP 2.1中,EL API已经分离到javax.el包中,已经移除了所有JSP核心包的依赖。
  换句话说:EL已经能用到非JSP的应用中!(来源:http://blog.csdn.net/inkfish)

特性
  JUEL 提供了统一表达式语言的轻量级和高效的实现。
  * 高性能 ——解析表达式当然是性能的瓶颈。JUEL 用手写的代码来解析,手写的代码效率比之前使用的(javacc)生成的解析器快10倍!一旦编译,表达树会高速的运行。
  * 插件式的缓存 ——即使JUEL 解析器飞快,解析表达式相对来说在资源消耗上也是昂贵的。因此,最佳的方法是只解析表达式字符串一次。JUEL 默认的缓存机制,这种机制在多数情况下已经足够使用了。即使如此,JUEL 也允许方便的像插件般使用你自己的缓存。
  * 小体积 ——JUEL 经过精心的设计,让代码的大小和内存使用量尽量最小。
  * 方法调用 ——JUEL 支持方法调用,比如${foo.matches('[0-9]+')} 。使用EL的解析机制,方法被解析和调用。在JUEL 2.2 中,方法调用特性是默认打开的。
  * 多参数调用 ——JUEL 支持Java 5函数和方法调用里使用多参数,比如,在format 函数中绑定了String.format(String, String...) ,允许这样使用:${format('Hey %s','Joe')} 。在JUEL 2.2 中,多参数特性是默认打开的。
  * 可拔插的 ——JUEL 能被配置成能在Java运行环境或JEE应用服务器中自动探测到EL的实现。使用JUEL 并不需要应用去显式的引用JUEL 实现中所特有的类。(来源:http://blog.csdn.net/inkfish)

状态
  JUEL 被认为具有产品级的稳定性,代码经过很好的测试(80%的覆盖率),并且所有特性均已实现。(来源:http://blog.csdn.net/inkfish)

可用性
  JUEL 采用Apache 2.0 许可协议。(来源:http://blog.csdn.net/inkfish)

运行需求
  JUEL 运行需要Java 5 或更新的环境。(来源:http://blog.csdn.net/inkfish)

目录
相关文章
|
4月前
|
人工智能 安全 Java
Go与Java泛型原理简介
本文介绍了Go与Java泛型的实现原理。Go通过单态化为不同类型生成函数副本,提升运行效率;而Java则采用类型擦除,将泛型转为Object类型处理,保持兼容性但牺牲部分类型安全。两种机制各有优劣,适用于不同场景。
164 24
|
4月前
|
人工智能 Java
java中static关键字简介
`static`关键字用于修饰类的成员变量和方法,使其属于类而非对象。静态成员可通过类名直接访问,无需实例化对象。静态方法只能访问静态成员,不能直接访问非静态成员或使用`this`关键字。此外,静态代码块在类首次加载时执行且仅执行一次,适用于初始化操作。
179 0
|
8月前
|
存储 缓存 算法
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
394 29
JVM简介—1.Java内存区域
|
8月前
|
Java Linux API
课时3:Java简介(Java主要特点)
本文介绍了Java的主要特点及其运行机制。Java结合了编译型和解释型语言的优点,通过Java虚拟机(JVM)实现跨平台移植,简化了不同操作系统间的开发流程。Java的特点包括可移植性、简单易用、支持多线程编程、自动垃圾收集和面向对象编程。随着硬件技术的发展,Java的性能问题已大大改善,成为行业标准之一,广泛应用于各种商用平台开发。
281 1
|
Oracle 安全 Java
Java语言简介及发展
Java语言简介及发展
193 1
|
Java 编译器 测试技术
Java基础16-Java注解简介和最佳实践(二)
Java基础16-Java注解简介和最佳实践(二)
115 4
|
8月前
|
开发框架 移动开发 Java
课时2:Java简介(Java发展概述)
课时2:Java简介(Java发展概述) 摘要: 1. Java基础知识:介绍Java作为编程语言及其思想。 2. Java的发展历史:从1991年GREEN项目到1995年正式推出,历经网景公司、HotJava浏览器等关键节点。 3. Java的版本信息:涵盖从JDK 1.0到JDK 1.8的主要版本及特性,如Lambda表达式和模块化支持。
177 0
|
8月前
|
存储 Java C语言
课时11:Java数据类型简介
本文介绍了Java中的数据类型划分,主要分为基本数据类型和引用数据类型。基本数据类型包括数值型(整型、浮点型)、布尔型和字符型,每种类型有固定的默认值和存储范围。引用数据类型涉及内存使用,如数组、类和接口,默认值为Null。文中还提供了不同类型的选择原则,帮助开发者在实际编程中合理选用数据类型。
118 0
|
8月前
|
Oracle Java Unix
课时1:认识Java(Java发展简介)
课时1:认识Java(Java发展简介)。主讲人李兴华介绍了Java的起源、发展历程及其广泛应用。Java由Sun公司开发,最初为嵌入式系统设计,后演变为三大方向:Java SE、Java ME和Java EE。尽管面临版权争议等挑战,Java仍是最流行的编程语言之一,广泛应用于大型企业及互联网平台开发。
117 0
|
11月前
|
存储 JavaScript Java
Java 中的 String Pool 简介
本文介绍了 Java 中 String 对象及其存储机制 String Pool 的基本概念,包括字符串引用、构造方法中的内存分配、字符串文字与对象的区别、手工引用、垃圾清理、性能优化,以及 Java 9 中的压缩字符串特性。文章详细解析了 String 对象的初始化、内存使用及优化方法,帮助开发者更好地理解和使用 Java 中的字符串。
177 2
Java 中的 String Pool 简介
下一篇
oss云网关配置