我想知道在FileUtils中只有靜態方法有什麼意義?是否有一個沒有實例方法的理由?我相信FileUtils是線程安全的(糾正我,如果我錯了大聲笑),但我確實有一堆線程同時使用FileUtils方法,並且好像有多個實例會比有同步代碼更好。是否有一個模仿FileUtils庫的庫,但不包含任何靜態方法?Java庫像org.apache.commons.io.FileUtils但包含實例方法,而不是靜態方法
1
A
回答
9
我想知道在FileUtils中只有靜態方法有什麼意義?是否有一個沒有實例方法的理由?
因爲FileUtils
是無狀態方法的集合。爲它引入一個對象是沒有意義的 - 它會包含什麼?
我相信FileUtils是線程安全的。
這一切都取決於你想要達到什麼樣的目標和如何實現目標。如果你嘗試從多個線程中讀取,甚至在多個線程中讀取相同的文件,它都能正常工作。但是,如果你嘗試要從多個線程寫入相同的文件,您可能會遇到一些問題。這些問題將由於您使用相同的文件來寫東西而導致干擾,因此實際上並不會使FileUtils
不是線程安全的。
相關問題
- 1. 包含對象實例的靜態方法,是否錯誤?
- 2. 在靜態方法中包裝單例實例方法是不好的?
- 3. Mongoose'靜態'方法與'實例'方法
- 4. 靜態方法和實例方法C#
- 5. Java靜態/實例方法優化
- 6. 靜態方法的Java實例變量
- 7. 靜態方法vs靜態實例
- 8. 使用靜態方法vs實例化包含方法的類的性能
- 9. 如何使靜態工廠方法不是靜態實例?
- 10. 在java中的靜態方法vs實例方法的決定?
- 11. 實例對象可以調用靜態方法,但不是靜態變量
- 12. 大小()當包含方法是一個靜態方法
- 13. 將實例方法也用作靜態方法是不是很好的做法?
- 14. 爲什麼實例方法不能覆蓋靜態方法
- 15. 爲什麼靜態方法不能引用實例方法?
- 16. 靜態方法是否可以調用Java中的實例方法
- 17. Java靜態方法
- 18. Java靜態方法
- 19. 靜態方法或實例方法中的實際代碼
- 20. 在JAVA中是靜態方法創建單個實例嗎?
- 21. ActionScript 3 - 靜態與實例方法
- 22. 從靜態方法實例化子類
- 23. python方法查找,靜態與實例
- 24. Python中的靜態和實例方法
- 25. PHP - 靜態與實例方法
- 26. 類實例調用靜態方法
- 27. C#靜態方法vs對象實例
- 28. 孿生靜態和實例方法
- 29. Java泛型,單例和靜態方法
- 30. 爲什麼使用單例而不是靜態方法?
你爲什麼認爲它有同步方法?它不是 –
我曾經在某處讀過,這就是爲什麼我說我可能是錯的。那麼在哪裏有一個線程安全版本的FileUtils? –
它不必具有同步方法是線程安全的,它只需要是無狀態的,它應該是。 –