gpt4 book ai didi

grails - 超出了GORM/休眠+ GC开销限制

转载 作者:行者123 更新时间:2023-12-02 15:21:30 29 4
gpt4 key购买 nike

下面的remove()方法导致“超出了GC开销限制”。从A或B或C中删除ABC中存在的关联时。请您告知错误在哪里吗?
注-ABC是A,B,C的映射表

stacktrace如下:
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.jar.Attributes.read(Attributes.java:394)
at java.util.jar.Manifest.read(Manifest.java:199)
at java.util.jar.Manifest.<init>(Manifest.java:69)
at java.util.jar.JarFile.getManifestFromReference(JarFile.java:185)
at java.util.jar.JarFile.getManifest(JarFile.java:166)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:416)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.codehaus.groovy.tools.RootLoader.oldFindClass(RootLoader.java:171)
at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:143)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

@Resource() 
@EqualsAndHashCode
class ABC {
static belongsTo =
[
a: A,
b: B,
c: C
]

def remove(){
this.a?.removeFromBC(this)
this.b?.removeFromAC(this)
this.c?.removeFromAB(this)
this.delete()
}

@Resource()
class C {
Collection<ABC> aB
static hasMany = [aB: ABC]
static constraints = {
aB cascade: "all-delete-orphan", nullable: true
}
}

@Resource()
class B {
Collection<ABC> aC
static hasMany = [aC: ABC]
static constraints = {
aC cascade: "all-delete-orphan", nullable: true
}
}

@Resource()
class A {
Collection<ABC> bC
static hasMany = [bC: ABC]
static constraints = {
bC cascade: "all-delete-orphan", nullable: true
}
}

最佳答案

不,该方法不会触发OOME,因为分配的堆空间很少。增加服务器的内存。

关于grails - 超出了GORM/休眠+ GC开销限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35207084/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com