public class classifyTweet {
public static class MapClass
extends Mapper<LongWritable, Text, Text, Text> {
static final Configuration conf = new Configuration();
protected void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
StandardNaiveBayesClassifier classifier = new StandardNaiveBayesClassifier(NaiveBayesModel.materialize(new Path(modelPath), conf));
}
}
}
我只想初始化分类器变量一次,materialize 方法抛出 IOEception,如果我在 map 方法之外声明它并且喜欢配置对象初始化,它会给出 IOException 的编译错误。如何只初始化一次?
最佳答案
制作 StandardNaiveBayesClassifier - 单例
public class StandardNaiveBayesClassifier {
private static StandardNaiveBayesClassifier instance;
public static StandardNaiveBayesClassifier getInstance(... you params) {
if (instance == null)
instance = new StandardNaiveBayesClassifier();
return instance;
}
private StandardNaiveBayesClassifier() {
}
关于java - 静态类中的 IO 异常 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17270894/