我注意到@PreDestroy我的原型范围Spring bean 的钩子没有被执行.
我在这里读到这实际上是设计的.Spring容器将销毁单例bean,但不会销毁原型bean.我不清楚为什么.如果Spring容器将创建我的原型bean并执行它的@PostConstruct钩子,为什么在容器关闭时它也不会破坏我的bean?一旦我的Spring容器关闭,继续使用它的任何bean都有意义吗?我看不到你想要在完成bean之前关闭容器的场景.甚至可以在容器关闭后继续使用原型Spring bean吗?
上面描述了我的主要问题的令人费解的背景:如果Spring容器没有破坏原型bean,那是否意味着可能发生内存泄漏?或者原型bean会在某些时候被垃圾收集?
春季文件指出:
客户端代码必须清理原型范围的对象并释放原型bean所持有的昂贵资源.要使Spring容器释放原型范围的bean所拥有的资源,请尝试使用自定义bean后处理器,它包含对需要清理的bean的引用.
那是什么意思?该文本告诉我,我作为程序员负责明确(手动)销毁我的原型bean.它是否正确?如果是这样,我该怎么做?
我准备第一次使用jdbc,我正在安装MySQL的jdbc驱动程序.
但是,我不清楚哪些文件移动到Eclipse中的WEB_INF/lib文件夹.它们似乎都包含相同的内容,并且包含在MySQL连接器的下载zip文件中.
我已经到处搜索,但一直无法找到任何文档来解释使用哪些文件.
我遇到了chkdsk第 3 阶段错误(与 NTFS usn 日志和安全描述符相关)。
损坏的 NTFS 日志会阻止chkdsk /f运行卷修复。因此chkdsk修复将无法进行,这不是解决方案。
但是,我听说可以通过删除并重新创建 NTFS 日志来修复损坏。这可以通过在命令提示符或具有管理员权限的 PowerShell 中执行以下命令来完成:
fsutil usn deletejournal /d /n
Run Code Online (Sandbox Code Playgroud)
其次是
fsutil usn createjournal m=<maxsize> a=<allocationdelta> <volumepath>
Run Code Online (Sandbox Code Playgroud)
但是,有关这些命令的开关和参数的 Microsoft 文档非常少。任何人都可以请建议:
<maxsize>和参数是什么<allocationdelta>?<maxsize>值<allocationdelta>?默认值是多少?最后,以这种方式删除 NTFS 日志有多安全?
谢谢。
java ×2
corruption ×1
filesystems ×1
fsutil ×1
jdbc ×1
mysql ×1
ntfs ×1
predestroy ×1
spring ×1
spring-bean ×1
window ×1