首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >groovy单例模式

groovy单例模式
EN

Stack Overflow用户
提问于 2011-09-30 23:18:12
回答 2查看 5.2K关注 0票数 7

Q1。使用groovy实现单例模式的最佳方式是什么?groovy中支持单例机制的其他选项有哪些?

任何有用的例子。

Q2。groovy支持像File changed listener这样的东西吗?

EN

回答 2

Stack Overflow用户

发布于 2011-09-30 23:21:32

Q1

只需添加一个@Singleton注释(至少从groovy v1.7.0开始),就可以使任何类成为单例类:

代码语言:javascript
复制
@Singleton
class MyClass {

}

然后,您可以使用以下命令访问单例实例

代码语言:javascript
复制
MyClass singleton = MyClass.instance

Q2

我想您是在问Groovy是否提供了一个监听器,每当文件更改时都会调用该监听器?我不知道Groovy中有这样的功能。如果存在这样的类,您更有可能找到Java实现(可以在Groovy程序中使用)。

票数 18
EN

Stack Overflow用户

发布于 2011-10-01 00:39:05

关于Q2:虽然groovy本身不提供任何通知文件更改的方式,但可以与groovy一起使用的Java7提供了这种方式。

特别是,如果您想要监视当前目录中的文件foo上的文件更改,您可以这样做:

代码语言:javascript
复制
import java.nio.file.*
FileSystems.default.getPath(".")  // dot for current directory
def watchKey = p.register(FileSystems.default.newWatchService(),
    StandardWatchEventKinds.ENTRY_MODIFY)
def events = watchKey.pollEvents()
events.findAll{it.context().fileName == 'foo'}.each { event ->
    println "foo was changed"
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7612520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档