草庐IT

java - 应该优先使用Java 9 Cleaner而不是定稿吗?

在Java中,重写finalize方法会带来糟糕的说唱效果,尽管我不明白为什么。诸如FileInputStream之类的类使用它来确保在Java8和Java10中都调用close。但是,Java9引入了java.lang.ref.Cleaner,它使用PhantomReference机制而不是GC终结。起初,我认为这只是将终结处理添加到第三方类中的一种方法。但是,itsjavadoc中给出的示例显示了一个用终结器可以轻松重写的用例。是否应该按照Cleaner重写所有的finalize方法?(当然,我没有很多。只有一些使用OS资源的类,尤其是用于CUDA互操作的类。)如我所知,Clean

ruby - 如何在 DataMapper 中将定稿分离到不同的数据库中?

目前在我的Sinatra+DataMapper应用中,我有:require'data_mapper'DataMapper.setup(:default,"sqlite3://#{Dir.pwd}/main.db")DataMapper.setup(:comments,"sqlite3://#{Dir.pwd}/comments.db")classRecordingincludeDataMapper::Resource#...belongs_to:userhasn,:commentsendclassUserincludeDataMapper::Resource#...hasn,:reco