Dus*_*etz 3 java optimization jit
学术上很好奇.JIT可以采用这样的代码,认识到格式字符串是静态最终的,因此预先计算切片格式字符串,从而将其优化为只有StringBuilder并且附加次数最少吗?
public static String buildDeleteSql(BaseObject object)
{
String table;
String schema;
String deleteSql = String.format(
"DELETE FROM %s.%s WHERE %s = '%s' AND %s = '%s'",
schema,
table,
BaseObject.ATTR_ID,
StringUtils.escapeForSQLString(object.getId()),
BaseObject.ATTR_REVISION,
StringUtils.escapeForSQLString(object.getRevision())
);
return deleteSql;
}
Run Code Online (Sandbox Code Playgroud)
从理论上讲,JVM可能会让你感觉很好.实际上,现有的JVM不会; 将预算用于优化可能不是一个非常有利可图的地方.特别是因为字符串格式化通常用于序列化数据,在这种情况下,您可能最终会花费大部分时间等待I/O完成.