public static <T> T newProxyInstance(Class<T> objectClass, JSONObject object) {
        MethodHandle newProxyInstance = METHOD_NEW_PROXY_INSTANCE;
        try {
            if (newProxyInstance == null) {
                Class<?> proxyClass = Class.forName("java.lang.reflect.Proxy");
                MethodHandles.Lookup lookup = JDKUtils.trustedLookup(proxyClass);
                newProxyInstance = lookup.findStatic(
                        proxyClass,
                        "newProxyInstance",
                        methodType(Object.class, ClassLoader.class, Class[].class, InvocationHandler.class)
                );
                METHOD_NEW_PROXY_INSTANCE = newProxyInstance;
            }
        } catch (Throwable ignored) {
            METHOD_NEW_PROXY_INSTANCE_ERROR = true;
        }

        try {
            return (T) newProxyInstance.invokeExact(objectClass.getClassLoader(), new Class[]{objectClass}, (InvocationHandler) object);
        } catch (Throwable e) {
            throw new JSONException("create proxy error : " + objectClass, e);
        }
    }
All the positive powers of 10 that can be
represented exactly in double/float.
core/src/main/java/com/alibaba/fastjson2/util/TypeUtils.java