反射和序列化生成对象效率比对

目前结果是反射更快。下面看代码

反射:

package com.self.test;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.self.common.ResourceType;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class ReflectTest {
  private final static String ClassName = "com.self.entity.";

  public static void main(String[] args) {
    String resoucesInfo = "[{\"resourceType\":\"VPN\",\"name\":\"1\",\"age\":\"2\"},{\"resourceType\":\"VPN\",\"name\":\"11\",\"age\":\"22\"},{\"resourceType\":\"HOST\",\"name\":\"1111\",\"age\":\"2222\"},{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + "]";


    long listStartTime = System.currentTimeMillis();
    JSONArray jsonArray = JSON.parseArray(resoucesInfo);
    int size = jsonArray.size();
    System.out.println(size);
    for (int i = 0; i < size; i++) {
      JSONObject jsonObject = jsonArray.getJSONObject(i);
      Object o = getObjectByJSONObject(jsonObject,jsonObject.getString("resourceType"));
    }
    long listEndTime = System.currentTimeMillis();
    System.out.println("list全部存入时间为" + (listEndTime-listStartTime));
  }

  public static Object getObjectByJSONObject(JSONObject jsonObject,String resourceType){
    Class resourceClass = null;
    Object instance = null;

    String realName = ClassName + resourceType;
    try {
      resourceClass = Class.forName(realName);
    } catch (ClassNotFoundException e) {
      System.out.println("类初始化失败->ClassNotFoundException: " + e.getStackTrace());
    }
    try {
      instance = resourceClass.newInstance();
      // 实例化对象之后赋值
      String resourcePropertuies = ResourceType.getResourcePropertiesByType(resourceType);
      instance = setResourceProperties(instance,resourcePropertuies,jsonObject);
    } catch (InstantiationException e) {
      System.out.println("对象实例化失败->InstantiationException: " + e.getStackTrace());
    } catch (IllegalAccessException e) {
      System.out.println("对象实例化失败->IllegalAccessException: " + e.getStackTrace());
    } catch (NoSuchFieldException e) {
      System.out.println("对象配置参数失败->NoSuchFieldException: " + e.getStackTrace());
    }
    return instance;
  }

  /**
   * @Author shen_jian
   * @Description // 设置对象属性
   * @Date 17:36 2019/5/28 0028
   * @Param [o: 对象, properties: 属性列表, jsonObject: 属性值]
   * @return java.lang.Object
   **/
  private static Object setResourceProperties(Object o,String properties,JSONObject jsonObject) throws NoSuchFieldException, IllegalAccessException {
    String[] propertyList = properties.split(",");
    Class clazz = o.getClass();
    for (String property: propertyList) {
      Field field = clazz.getDeclaredField(property);
      field.setAccessible(true);
      // 根据数组里的property作为key获取jsonObject的值,不为空则设置
//      if (!"resourceType".equals(property)){
        field.set(o, null == jsonObject.getString(property) ? "" : jsonObject.getString(property));
//      }
    }
    return o;
  }









  /*public static void main(String[] args) {
    try {
      Class class2 = Class.forName("com.self.entity.Person");
      // 获取到所有本身的方法名
      Method[] methods = class2.getDeclaredMethods();
      for (Method method : methods) {
        System.out.println(method.getName());
      }
      // 获取指定method
      Method method = class2.getDeclaredMethod("setSex", String.class);
      Class[] cls = method.getParameterTypes();
      if (cls.length != 0) {
        for (int j = 0; j < cls.length; j++) {
          System.out.println(" 方法的参数:" + cls[j].getName());
        }
      } else {
        System.out.println(" ***该方法无参数");
      }
      // 创建对象
      Object o = class2.newInstance();
      method.invoke(o,"hehe");
      System.out.println(o);
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      e.printStackTrace();
    } catch (InstantiationException e) {
      e.printStackTrace();
    } catch (NoSuchMethodException e) {
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      e.printStackTrace();
    }
  }*/
}

运行结果:

序列化:

package com.self.test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.io.*;

/**
 * @ClassName:SerializableTest
 * @description: TODO
 * @author: shen_jian
 * @date: 2019-06-03 10:47
 **/
public class SerializableTest {
  public static void main(String[] args) {
    String resoucesInfo = "[{\"resourceType\":\"VPN\",\"name\":\"1\",\"age\":\"2\"},{\"resourceType\":\"VPN\",\"name\":\"11\",\"age\":\"22\"},{\"resourceType\":\"HOST\",\"name\":\"1111\",\"age\":\"2222\"},{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + ",{\"resourceType\":\"HOST\",\"name\":\"111\",\"age\":\"222\",\"p1\":\"1\",\"p2\":\"2\",\"p3\":\"3\",\"p4\":\"4\",\"p5\":\"5\",\"p6\":\"6\"}"
        + "]";


    long listStartTime = System.currentTimeMillis();
    JSONArray jsonArray = JSON.parseArray(resoucesInfo);
    int size = jsonArray.size();
    System.out.println(size);
    for (int i = 0; i < size; i++) {
      JSONObject jsonObject = jsonArray.getJSONObject(i);
      Object o = getObjectBySerializable(jsonObject);
    }
    long listEndTime = System.currentTimeMillis();
    System.out.println("list全部存入时间为" + (listEndTime-listStartTime));
  }

  // 序列化
  public static Object getObjectBySerializable(JSONObject jsonObject){
    ByteArrayInputStream byteArrayInputStream = null;
    Object object = null;
    try {
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      ObjectOutputStream oos = new ObjectOutputStream(baos);
      oos.writeObject(jsonObject);
      byte[] str = baos.toByteArray();

      byteArrayInputStream = new ByteArrayInputStream(str);
      ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
      object = objectInputStream.readObject();
      objectInputStream.close();
      byteArrayInputStream.close();
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    return object;
  }
}

运行结果:

运行了许多次,反射的效率要比序列化快很多。而且我已经将属性字段增加到了8个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值