`

fastjson gson 序列化

 
阅读更多
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();

 

 

 

            newSendPayMapJson = JSON.toJSONString(sendPayMap, SerializerFeature.MapSortField, SerializerFeature.WriteNonStringKeyAsString);

 

 

 

优雅单例

public class GsonUtil
{
    private static class GsonHolder{
        private static final Gson INSTANCE = new Gson();
    }
 
    /**
     * 获取Gson实例,由于Gson是线程安全的,这里共同使用同一个Gson实例
     */
    public static Gson getGsonInstance()
    {
        return GsonHolder.INSTANCE;
    }

 

 

当我们启动一个tomcat的服务的时候,jar包和claess文件是是以怎么样的顺序被加载进来的?

加载顺序:

1. $java_home/lib 目录下的java核心api 

2. $java_home/lib/ext 目录下的java扩展jar包

3. java -classpath/-Djava.class.path所指的目录下的类与jar包

4. $CATALINA_HOME/common目录下按照文件夹的顺序从上往下依次加载

5. $CATALINA_HOME/server目录下按照文件夹的顺序从上往下依次加载

6. $CATALINA_BASE/shared目录下按照文件夹的顺序从上往下依次加载

7. 我们的项目路径/WEB-INF/classes下的class文件

8. 我们的项目路径/WEB-INF/lib下的jar文件

在同一个文件夹下,jar包是按顺序从上到下依次加载

      由ClassLoader的双亲委托模式加载机制我们可以知道,假设两个包名和类名完全相同的class文件不再同一个jar包,如果一个class文件已经被加载java虚拟机里了,那么后面的相同的class文件就不会被加载了。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics