2018-05-26 17:48
@JFinal 对,我知道,我的意思是自动生成,在modelgenerator.java 运行的时候,配置一些外键和 关系,然后自动生成这样的代码,是否值得? 如果值得,我可以写这部分
2017-06-24 10:22
jfianl 2.x 版本的改动方法:
@Override //覆盖同名方法
public class JFinalNewJson extends JFinalJson {
protected String toKeyValue(String key, Object value, StringBuilder sb, int depth){
sb.append('\"');
if(key == null)
sb.append("null");
else
escape(key, sb);
sb.append('\"').append(':');
sb.append(toJson(value, depth));
//基类方法return toString()导致性能问题
return null;
}
}
然后在 Config.java
@Override
public void configConstant(Constants me) {
//切入进去用JFinalNewJson 处理
JsonManager.me().setDefaultJsonFactory( new IJsonFactory() {
@Override
public Json getJson() {
return new JFinalNewJson();
}
});
}
2017-06-24 10:11
动手测试了一下
StringBuilder sb = new StringBuilder();
long t = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
sb.append(i);
}
long t2 = System.currentTimeMillis();
String s = sb.toString();
System.out.println("time:" + (t2 - t) );
1百万次 耗时40ms
而
StringBuilder sb = new StringBuilder();
long t = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
sb.append(i);
sb.toString(); //多加了这句代码
}
long t2 = System.currentTimeMillis();
String s = sb.toString();
System.out.println("time:" + (t2 - t) );
1百万次 耗时无法忍受,关掉了。
10万次 耗时:4758
因此把这句代码改为 return null; 无论从内存消耗,还是大量压力访问,JFinal的json性能肯定杠杠的!