优化native-image

This commit is contained in:
redkale
2023-09-21 19:41:16 +08:00
parent e60e869fe9
commit 8b65320491
3 changed files with 7 additions and 4 deletions

View File

@@ -689,7 +689,7 @@ public interface Copier<S, D> extends BiFunction<S, D, D> {
final String utilClassName = Utility.class.getName().replace('.', '/');
final String newDynName = "org/redkaledyn/copier/_Dyn" + Copier.class.getSimpleName() + "_" + options
+ "__" + srcClass.getName().replace('.', '_').replace('$', '_')
+ "__" + destClass.getName().replace('.', '_').replace('$', '_')
+ (srcClass == destClass ? "" : ("__" + destClass.getName().replace('.', '_').replace('$', '_')))
+ (extendInfo.length() == 0 ? "" : Utility.md5Hex(extendInfo.toString()));
try {
Class clz = RedkaleClassLoader.findDynClass(newDynName.replace('/', '.'));

View File

@@ -41,6 +41,7 @@ class Inners {
creatorCacheMap.put(HashMap.class, p -> new HashMap<>());
creatorCacheMap.put(HashSet.class, p -> new HashSet<>());
creatorCacheMap.put(LinkedHashSet.class, p -> new LinkedHashSet<>());
creatorCacheMap.put(LinkedHashMap.class, p -> new LinkedHashMap<>());
creatorCacheMap.put(Stream.class, p -> new ArrayList<>().stream());
creatorCacheMap.put(ConcurrentHashMap.class, p -> new ConcurrentHashMap<>());
creatorCacheMap.put(CompletableFuture.class, p -> new CompletableFuture<>());

View File

@@ -42,12 +42,14 @@ public class RedkaleClassLoader extends URLClassLoader {
private static final String[] buildPackages = {
"org.redkaledyn", //所有动态生成类的根package
"org.redkale.annotation", "org.redkale.asm",
"org.redkale.boot", "org.redkale.boot.watch",
"org.redkale.cluster", "org.redkale.convert",
"org.redkale.convert.bson", "org.redkale.convert.ext",
"org.redkale.convert.json", "org.redkale.mq",
"org.redkale.net", "org.redkale.net.client",
"org.redkale.net.http", "org.redkale.net.sncp",
"org.redkale.convert.json", "org.redkale.convert.protobuf",
"org.redkale.mq", "org.redkale.net",
"org.redkale.net.client", "org.redkale.net.http",
"org.redkale.net.sncp", "org.redkale.persistence",
"org.redkale.service", "org.redkale.source",
"org.redkale.util", "org.redkale.watch"
};