Apache Commons NET:我应该在每个连接上创建一个新的FTPClient对象还是重用一个?

时间:2011-07-31 20:20:31

标签: java android performance ftp-client apache-commons-net

我只是想知道:在我的Java应用程序中,每次我需要连接到FTP服务器时,我应该创建一个新的FTPClient对象,还是应该创建一个FTPClient()对象并重新使用它每次我连接到FTP服务器?

3 个答案:

答案 0 :(得分:12)

两者都可以,但是apache commons.net库是not thread safe,所以如果你确实使用一个有多个线程的客户端,请注意你必须同步访问它。

答案 1 :(得分:4)

不知道你的代码到底要做什么(连接频率,传输需要多少文件等),很难说。

我的个人意见是FTPClient(),但每次你需要做某事时都会连接/验证/转移/断开(假设两者之间会有合理的差距)。原因是FTP会话通常具有相当短的不活动超时。

答案 2 :(得分:3)

重用会更好,因为每次创建新连接时都不需要新实例,甚至是新服务器。因为connect和disconnect方法可以帮到你。

因此,尽可能多地重用对象。