За последние несколько лет мне пришлось углубиться в источник Весны. Я заметил, что разработчикам действительно нравятся связанные списки. Я не уверен, почему они выбрали это как реализацию списка по списку массивов. Кто-нибудь знает, почему это решение было принято на отсрочку?Почему исходный код Spring использует связанный список так много
ответ
Это действительно зависит от использования. Но, возможно, это связано с тем, что сложность пространства при выращивании связанных списков дешева, и если вы просто выполняете итерацию по коллекции, вы не выполняете никаких операций поиска, это хороший выбор. Напомним, что реализация ArrayList имеет геометрическую модель роста и является плохим выбором, если вы не знаете, насколько велика будет список. Увеличение списка, прошедшего текущую емкость, приведет к тому, что текущий массив будет скопирован в новый массив в два раза больше текущей емкости.
Я как-то понял это. Это казалось странным выбором, поскольку реализация AL быстрее LL, и большинство случаев использования, на мой взгляд, не потребует больше 16 элементов, которые являются размером массива по умолчанию. – Virmundi
- 1. Почему elementtree.ElementTree.iterparse использует так много памяти?
- 2. Почему Узел (+ Cheerio) использует так много ОЗУ?
- 3. Почему словарь использует так много ОЗУ в Python
- 4. KineticJS- Почему он использует так много скрытых элементов холста?
- 5. Почему так много разницы?
- 6. Почему .NET использует так много CPU, это проблема?
- 7. Почему Ruby использует так много памяти для хранения больших массивов?
- 8. Почему так много canOpenURL?
- 9. Почему так много msvcp80.dll?
- 10. Почему преобразование «полки» python в «dict» использует так много памяти?
- 11. Почему C письменных библиотек использует так много структур?
- 12. Почему nuget Bootstrapper использует так много связанных классов
- 13. Почему мое регулярное выражение Perl использует так много памяти?
- 14. сравнение Байт использует так много процессорного
- 15. Почему связанный список быстрее
- 16. , если Hashmap использует связанный список внутри, почему необходимо увеличить емкость
- 17. В Java почему исходный код Arrays.copyOf иногда использует отражение?
- 18. Исходный код, внедренный в список
- 19. System.Collections - почему так много вариантов?
- 20. Почему так много внутренних классов в Android?
- 21. Мой скрипт bash использует так много памяти
- 22. Почему Psyco использует много памяти?
- 23. Spring JmsTemplate и Apache ActiveMQ, почему так много соединений?
- 24. Почему так много соединений установлено?
- 25. Связанный список Iterator добавляет слишком много чисел
- 26. Почему существует так много различных реализаций base64?
- 27. Почему InputStream.available() так много времени?
- 28. Почему так много ошибок «AccessViolationException»?
- 29. EntityFramework - почему так много сущностей?
- 30. Почему так много символических ссылок?
Где и как они его используют? –