@Data
public class Person {
private Integer id;
private String username;
private Integer age;
private String address;
}
fastjson测试
==============
使用的是fastjson1.2.58版本,也是目前最新的fastjson版本。
测试代码如下:
public static void main(String[] args) {
// 构造对象
Person person = new Person();
person.setId(99999);
person.setUsername(“Happyjava”);
person.setAddress(“广东省广州市,上海市,北京市,广东省深圳市,浙江省杭州市,”);
person.setAge(100);
// Java对象转化成为json字符串
long start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
String string = JSON.toJSONString(person);
}
System.out.println(“Java对象转化成为json字符串耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 集合对象转化成为json字符串
List list = new ArrayList<>();
for (int i = 0; i < 100; i++) {
list.add(person);
}
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
String string = JSON.toJSONString(list);
}
System.out.println(“集合对象转化成为json字符串耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化成json对象
start = System.currentTimeMillis();
String jsonsString = JSON.toJSONString(person);
for (int i = 0; i < 1000000; i++) {
JSONObject jsonObject = JSON.parseObject(jsonsString);
}
System.out.println(“字符串转化成json对象耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化成java对象
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Person person1 = JSON.parseObject(jsonsString, Person.class);
}
System.out.println(“字符串转化成java对象耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化为json数组
start = System.currentTimeMillis();
String jsonArrayStr = JSON.toJSONString(list);
for (int i = 0; i < 1000000; i++) {
JSONArray objects = JSON.parseArray(jsonArrayStr);
}
System.out.println(“字符串转化为json数组耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化成为java集合
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
List list1 = JSON.parseArray(jsonArrayStr, Person.class);
}
System.out.println(“字符串转化成为java集合耗时:” + (System.currentTimeMillis() - start) + “ms”);
}
结果如下:
Java对象转化成为json字符串耗时:625ms
集合对象转化成为json字符串耗时:7161ms
字符串转化成json对象耗时:640ms
字符串转化成java对象耗时:296ms
字符串转化为json数组耗时:17437ms
字符串转化成为java集合耗时:28611ms
gson测试
==========
使用的是2.8.5版本,同时也是目前的最新版本。
测试代码如下:
private static Gson gson = new Gson();
public static void main(String[] args) {
// 构造对象
Person person = new Person();
person.setId(99999);
person.setUsername(“Happyjava”);
person.setAddress(“广东省广州市,上海市,北京市,广东省深圳市,浙江省杭州市,”);
person.setAge(100);
// Java对象转化成为json字符串
long start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
String string = gson.toJson(person);
}
System.out.println(“Java对象转化成为json字符串耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 集合对象转化成为json字符串
List list = new ArrayList<>();
for (int i = 0; i < 100; i++) {
list.add(person);
}
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
String string = gson.toJson(list);
}
System.out.println(“集合对象转化成为json字符串耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化成json对象
start = System.currentTimeMillis();
String jsonsString = gson.toJson(person);
for (int i = 0; i < 1000000; i++) {
JsonObject jsonObject = gson.fromJson(jsonsString, JsonObject.class);
}
System.out.println(“字符串转化成json对象耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化成java对象
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Person person1 = gson.fromJson(jsonsString, Person.class);
}
System.out.println(“字符串转化成java对象耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化为json数组
start = System.currentTimeMillis();
String jsonArrayStr = gson.toJson(list);
for (int i = 0; i < 1000000; i++) {
JsonArray objects = gson.fromJson(jsonArrayStr, JsonArray.class);
}
System.out.println(“字符串转化为json数组耗时:” + (System.currentTimeMillis() - start) + “ms”);
// 字符串转化成为java集合
Type type = new TypeToken<List>() {
}.getType();
start = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
List list1 = gson.fromJson(jsonArrayStr, type);
}
System.out.println(“字符串转化成为java集合耗时:” + (System.currentTimeMillis() - start) + “ms”);
}
}
测试结果如下:
Java对象转化成为json字符串耗时:1244ms
集合对象转化成为json字符串耗时:86041ms
字符串转化成json对象耗时:1009ms
字符串转化成java对象耗时:793ms
字符串转化为json数组耗时:62112ms
字符串转化成为java集合耗时:51087ms
Jackson测试
=============
测试代码如下:
最后,附一张自己面试前准备的脑图:
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
- Spring全家桶(实战系列)
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
- Spring全家桶(实战系列)
[外链图片转存中…(img-K80NXToV-1719159763960)]
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-2xufSX3B-1719159763960)]
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!