Java 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;
}

解决方法:

从理论上讲,JVM可能会欺骗您的示例.同时,实际上,现有的JVM不会;花费预算进行优化可能不是一个非常有利可图的地方.特别是由于通常使用字符串格式化来序列化数据,在这种情况下,您可能会花费大部分时间等待I / O完成.

上一篇:(Java)存储具有索引属性的大量对象


下一篇:c-Boost Pool的*效率是O(n)还是O(1)