java:构造ArrayList的不同方法

3 java web-services

我已经开发了一个WebService,每次1000个用户都可以访问它,因为它是一个财务应用程序.在代码中,我创建了一个ArrayList,如图所示

List Items = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

从代码的角度来看,我正在使用STAX解析器解析XML文件,解析XML,从XML构造对象并将其放入此ArrayList(Items)中.

最后我将这个ArrayList设置在一个Request Object中并使用它.

这一切都运行正常,现在我的问题是,如果我以这种方式构造一个ThreadSafe ArrayList并使用它

List Items  = (List) Collections.synchronizedList(new ArrayList());
Run Code Online (Sandbox Code Playgroud)

请告诉我,从性能的角度来看,或者在任何情况下是否存在任何差异?哪种方法最好

请分享您的经验和观点.

谢谢

JB *_*zet 5

如果不需要同步列表,则创建同步列表没有意义.如果它需要同步,那么性能并不重要,因为它比较快,不正确的程序更喜欢有一个更慢,更正确的程序.

您不会根据性能注意事项选择使用同步列表.您可以根据并发环境中的正确性考虑因素选择它.

如果你有线程安全问题,那就不是随机添加一些同步它会更好地工作.你必须了解这一切是如何运作的.阅读(至少)关于并发Java教程.