there is a volatile attribute in the netty internal logging framework InternalLoggerFactory that defaultFactory, does not understand why the volatile keyword is added, and if it is to implement a singleton, why not add the getDefaultFactory method in this class
Synchronize lock statement, or double check? If there is no concurrency problem with getDefaultFactory, what is the purpose of volatile here?