Это может быть повторяющийся вопрос, так как мы можем найти много страниц. Но все же мне нужно несколько экспертных мнений.
Мне нужно прочитать большой файл, содержащий имя клиента, возраст, доход.
Мне нужно быстро обработать эти данные в моем приложении и создать панель мониторинга, например, сотрудников одного возраста, группы доходов (между диапазонами) ... Теперь задача состоит в том, чтобы прочитать большой файл (явно я установил свою программную кучу на 512 МБ) и использовал Классы InputStream, Scanner (насколько я понимаю, эти классы не будут загружать весь файл в память, пожалуйста, поправьте меня, если я ошибаюсь). поэтому я могу прочитать файл с 7590912 записями (файл 250 МБ). но при установке этих записей в моем arrayList <Employee>
отображаются непрерывные всплески и активность сборщика мусора (что ожидается). теперь, чтобы уменьшить объект «Сотрудник», я создал только три поля [имя (char []), возраст [int], доход [float]).
наконец, моя программа очень медленная и неприемлемая. Любое предложение по улучшению производительности, кроме увеличения памяти (имея в виду, что я буду выполнять больше операций над коллекцией).
РЕДАКТИРОВАТЬ. Использование базы данных H2 для очистки прочитанных данных из файла. создал пакет из 10000 записей (все еще память 512 МБ) ..но программа ужасно медленная. но удается жить некоторое время (до 300 тыс. записей) .. (используемое пространство 470 МБ).
педантичный