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性能肯定杠杠的!