Optimization Genstrascharray优化效益
我正在研究可用于优化JBoss 5.1.0性能的选项 我正在考虑的一个选项是在Optimization Genstrascharray优化效益,optimization,jsp,jboss,Optimization,Jsp,Jboss,我正在研究可用于优化JBoss 5.1.0性能的选项 我正在考虑的一个选项是在/server//deployers/jbossweb.deployer/web.xml中将genstrascharray设置为true。这会影响从.jsp生成.java代码 注释将此标志描述为: 文本字符串是否应该生成为字符数组,以在某些情况下提高性能 关于这一点,我有几个问题 这是在JSP页面的动态部分生成字符串(即每次调用该页面)还是在静态部分生成字符串(即当.java是从JSP构建时) “在某些情况下”-这些情
/server//deployers/jbossweb.deployer/web.xml
中将genstrascharray
设置为true
。这会影响从.jsp生成.java代码
注释将此标志描述为:
文本字符串是否应该生成为字符数组,以在某些情况下提高性能
关于这一点,我有几个问题
Rich使用此设置,所有
字符串
值都声明为静态字符[]
,如下所示:
static char[] _char_array_1 = "someString".toCharArray();
out.write(_char_array_1);
out.write("someString");
并按如下方式使用:
static char[] _char_array_1 = "someString".toCharArray();
out.write(_char_array_1);
out.write("someString");
而不是按如下方式使用:
static char[] _char_array_1 = "someString".toCharArray();
out.write(_char_array_1);
out.write("someString");
这有两个明显的好处:
char[]
比String
具有更少的内存开销out.write(string)
时(隐式)调用tocharray()
顺便说一句,这个设置不是JBoss所特有的。具体来说,Apache Tomcat的JSP编译器也在每个JBoss AS和Sun Glassfish下使用。当您说,使用此设置时,所有字符串值都声明为static char[],我假设您的意思是在JSP生成的Java源代码中?您解释了更快的情况。但在什么情况下它会更慢或有其他缺点?@吉米:没有一种情况。至少不在JSP引擎中。如果要在自定义代码中执行此操作,那么在某个时刻执行新字符串(\u char\u array\u 1)时,它将变得毫无用处。