@@ -69,14 +69,11 @@ private static Object newCachedAddresses(String host, String[] ips, long expirat
6969 private static volatile Constructor <?> constructorOfInetAddress$CachedAddresses = null ;
7070
7171 private static Constructor <?> getConstructorOfInetAddress$CachedAddresses () throws ClassNotFoundException {
72- if (constructorOfInetAddress$CachedAddresses != null ) {
73- return constructorOfInetAddress$CachedAddresses ;
74- }
72+ if (constructorOfInetAddress$CachedAddresses != null ) return constructorOfInetAddress$CachedAddresses ;
7573
7674 synchronized (InetAddressCacheUtilCommons .class ) {
77- if (constructorOfInetAddress$CachedAddresses != null ) { // double check
78- return constructorOfInetAddress$CachedAddresses ;
79- }
75+ // double check
76+ if (constructorOfInetAddress$CachedAddresses != null ) return constructorOfInetAddress$CachedAddresses ;
8077
8178 final Class <?> clazz = Class .forName (inetAddress$CachedAddresses_ClassName );
8279
@@ -163,23 +160,24 @@ private static ConcurrentSkipListSet<Object> getExpirySetOfInetAddress() throws
163160 * @return {@link InetAddress#cache} and {@link InetAddress#expirySet}
164161 */
165162 private static Object [] getCacheAndExpirySetOfInetAddress0 () throws NoSuchFieldException , IllegalAccessException {
166- if (ADDRESS_CACHE_AND_EXPIRY_SET == null ) {
167- synchronized (InetAddressCacheUtilForJava9Plus .class ) {
168- if (ADDRESS_CACHE_AND_EXPIRY_SET == null ) { // double check
169- final Field cacheField = InetAddress .class .getDeclaredField ("cache" );
170- cacheField .setAccessible (true );
163+ if (ADDRESS_CACHE_AND_EXPIRY_SET != null ) return ADDRESS_CACHE_AND_EXPIRY_SET ;
171164
172- final Field expirySetField = InetAddress .class . getDeclaredField ( "expirySet" );
173- expirySetField . setAccessible ( true ) ;
165+ synchronized ( InetAddressCacheUtilForJava9Plus .class ) {
166+ if ( ADDRESS_CACHE_AND_EXPIRY_SET != null ) return ADDRESS_CACHE_AND_EXPIRY_SET ;
174167
175- ADDRESS_CACHE_AND_EXPIRY_SET = new Object []{
176- cacheField .get (InetAddress .class ),
177- expirySetField .get (InetAddress .class )
178- };
179- }
180- }
168+ final Field cacheField = InetAddress .class .getDeclaredField ("cache" );
169+ cacheField .setAccessible (true );
170+
171+ final Field expirySetField = InetAddress .class .getDeclaredField ("expirySet" );
172+ expirySetField .setAccessible (true );
173+
174+ ADDRESS_CACHE_AND_EXPIRY_SET = new Object []{
175+ cacheField .get (InetAddress .class ),
176+ expirySetField .get (InetAddress .class )
177+ };
178+
179+ return ADDRESS_CACHE_AND_EXPIRY_SET ;
181180 }
182- return ADDRESS_CACHE_AND_EXPIRY_SET ;
183181 }
184182
185183 //////////////////////////////////////////////////////////////////////////////
@@ -267,32 +265,32 @@ public static DnsCache listInetAddressCache()
267265 private static volatile Field reqAddrFieldOfInetAddress$NameServiceAddress = null ;
268266
269267 private static void initFieldsOfAddresses () throws ClassNotFoundException , NoSuchFieldException {
270- if (reqAddrFieldOfInetAddress$NameServiceAddress == null ) {
271- synchronized ( InetAddressCacheUtilForJava9Plus . class ) {
272- if ( reqAddrFieldOfInetAddress$NameServiceAddress == null ) { // double check
273- ///////////////////////////////////////////////
274- // Fields of InetAddress$CachedAddresses
275- ///////////////////////////////////////////////
276- final Class <?> cachedAddresses_Class = Class . forName ( inetAddress$CachedAddresses_ClassName );
277-
278- final Field inetAddressesFiled = cachedAddresses_Class . getDeclaredField ( "inetAddresses" );
279- inetAddressesFiled . setAccessible ( true );
280- inetAddressesFieldOfInetAddress$CacheAddress = inetAddressesFiled ;
281-
282- final Field expiryTimeFiled = cachedAddresses_Class . getDeclaredField ( "expiryTime" ) ;
283- expiryTimeFiled . setAccessible ( true );
284- expiryTimeFieldOfInetAddress$CacheAddress = expiryTimeFiled ;
285-
286- ///////////////////////////////////////////////
287- // Fields of InetAddress$NameServiceAddresses
288- ///////////////////////////////////////////////
289- final Class <?> nameServiceAddresses_Class = Class . forName ( inetAddress$NameServiceAddresses_ClassName );
290-
291- final Field reqAddrFiled = nameServiceAddresses_Class . getDeclaredField ( "reqAddr" );
292- reqAddrFiled . setAccessible ( true );
293- reqAddrFieldOfInetAddress$NameServiceAddress = reqAddrFiled ;
294- }
295- }
268+ if (reqAddrFieldOfInetAddress$NameServiceAddress != null ) return ;
269+
270+ synchronized ( InetAddressCacheUtilForJava9Plus . class ) {
271+ if ( reqAddrFieldOfInetAddress$NameServiceAddress != null ) return ;
272+
273+ ///////////////////////////////////////////////
274+ // Fields of InetAddress$CachedAddresses
275+ ///////////////////////////////////////////////
276+ final Class <?> cachedAddresses_Class = Class . forName ( inetAddress$CachedAddresses_ClassName );
277+
278+ final Field inetAddressesFiled = cachedAddresses_Class . getDeclaredField ( "inetAddresses" ) ;
279+ inetAddressesFiled . setAccessible ( true );
280+ inetAddressesFieldOfInetAddress$CacheAddress = inetAddressesFiled ;
281+
282+ final Field expiryTimeFiled = cachedAddresses_Class . getDeclaredField ( "expiryTime" ) ;
283+ expiryTimeFiled . setAccessible ( true );
284+ expiryTimeFieldOfInetAddress$CacheAddress = expiryTimeFiled ;
285+
286+ ///////////////////////////////////////////////
287+ // Fields of InetAddress$NameServiceAddresses
288+ ///////////////////////////////////////////////
289+ final Class <?> nameServiceAddresses_Class = Class . forName ( inetAddress$NameServiceAddresses_ClassName );
290+
291+ final Field reqAddrFiled = nameServiceAddresses_Class . getDeclaredField ( "reqAddr" ) ;
292+ reqAddrFiled . setAccessible ( true );
293+ reqAddrFieldOfInetAddress$NameServiceAddress = reqAddrFiled ;
296294 }
297295 }
298296
0 commit comments