#java #multithreading
#java #многопоточность
Вопрос:
Пожалуйста, помогите мне извлечь данные из XML, я пытаюсь найти логику с небольшим знанием Java.
PS: Программа будет выполняться в XML-файле большего размера (XML-файл объемом 2 ГБ), для завершения процесса не должно потребоваться более 10 минут, можем ли мы что-нибудь сделать для многопоточности и сократить время обработки? Пожалуйста, укажите мне библиотеки Java, которые я должен использовать для этой цели.
PFB образец ввода XML и ожидаемый результат.
<ABC-PROCESS>
<H>
<PRIORITY>-14</PRIORITY>
<KEY>F637A146-3437AB82-BA659D4A-17AC7FBF</KEY>
</H>
<H>
<PRIORITY>-14</PRIORITY>
<KEY>F637A146-3437AB82-BA659D4A-17AC7FBF</KEY>
</H>
<H>
<PRIORITY>-3</PRIORITY>
<KEY>D6306210-CF424F11-8E2D3496-E6CE1CA7</KEY>
</H>
<H>
<PRIORITY>1</PRIORITY>
<KEY>D6306210-CF424F11-8E2D3496-E6CE1CA7</KEY>
</H>
<H>
<PRIORITY>-3</PRIORITY>
<KEY>4EFR02B4-ADFDAF12-3C123II2-ADAFADFD</KEY>
</H>
<H>
<PRIORITY>-14</PRIORITY>
<KEY>5D2702B2-ECE8F1FB-3CEC3229-5FE4C4BC</KEY>
</H>
</ABC-PROCESS>
КОНЕЧНЫЙ РЕЗУЛЬТАТ:
PRIOIRTY KEY HITS
1 1 2
-3 1 1
-14 2 3
Логика ожидаемого результата выше описана ниже:
1-й и 2-й тег попадания имеют приоритет -14 и сгруппированы в один общий КЛЮЧ, а максимальное значение -14.
Выходной блок для первых 2 обращений:
PRIOIRTY KEY HITS
-14 1 2
3-й и 4-й тег попадания имеет максимальный приоритет 1 с одним общим КЛЮЧОМ.
Плита вывода:
PRIOIRTY KEY HITS
1 1 2
5-й тег H имеет один приоритет -3 с одним общим КЛЮЧОМ.
Плита вывода:
PRIOIRTY KEY HITS
-3 1 1
6-й тег H имеет один приоритет -3 с одним общим КЛЮЧОМ.
Плита вывода:
PRIOIRTY KEY HITS
-14 1 1
КОНЕЧНЫЙ РЕЗУЛЬТАТ (агрегированный):
PRIOIRTY KEY HITS
1 1 2
-3 1 1
-14 2 3
Комментарии:
1. Что вы пробовали до сих пор?