Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
改进java验证时间_Java_Performance_Jakarta Ee_Validation - Fatal编程技术网

改进java验证时间

改进java验证时间,java,performance,jakarta-ee,validation,Java,Performance,Jakarta Ee,Validation,我想提高我的程序执行时间。程序将逐行导入CSV数据并进行验证 经过几次测试后,我注意到循环90%的时间都花在这条线上: HashSet<ConstraintViolation<EntryDTO>> l = ValidationTools.validate(this.validator, entryDTO); HashSet l=ValidationTools.validate(this.validator,entryDTO); entryDTO包含我当前行的所有字段,

我想提高我的程序执行时间。程序将逐行导入CSV数据并进行验证

经过几次测试后,我注意到循环90%的时间都花在这条线上:

HashSet<ConstraintViolation<EntryDTO>> l = ValidationTools.validate(this.validator, entryDTO);
HashSet l=ValidationTools.validate(this.validator,entryDTO);
entryDTO包含我当前行的所有字段,this.validator包含字段必须遵循的规则。 因此,我(在ValidationTools类中)检查了该方法是如何实现的:

public static <T> HashSet<ConstraintViolation<T>> validate(Validator validator, T resource, Class<?>... groups) {
        return (HashSet<ConstraintViolation<T>>) validator.validate(resource, groups);
    } 
公共静态哈希集验证(验证器验证器、T资源、类…组){
return(HashSet)validator.validate(资源、组);
} 
它直接引用了javax.validation.Validator,因此我无法对其进行任何改进。。。有什么我可以做得更好的,以改善执行时间

最后但并非最不重要的一点是,我注意到这种方法在我的循环的每次迭代中花费越来越多的时间。。。让我想到垃圾收集器的问题


如果您有任何潜在客户,请向我们致谢:)

问题出在您没有提供的代码中(并且声称您不能提供)。一开始没什么。至少您可以使用VisualVM确定时间泄漏的方法。
javax.validation.Validator
是一个接口。您使用的是哪种验证器?您的
validator.validate()
方法是什么?我想这种方法需要时间@AlexR:我正在使用这个验证器:
根据,''为n个项目创建n个验证器,这可以解释为什么它需要越来越多的时间。。。