|
|
|
java se работа с большими строками - как делать правильно?
|
|||
|---|---|---|---|
|
#18+
Есть такая задача, написанная для себя на fpc которая качает сайты, обрабатывает их, складывает результаты обработки в БД. Таким образом я: 1. в переменную получаю до 2 гб, тут же обнуляю переменные, начинаю цикл сначала; 2. в переменную получаю до 100 мб, начинаю обрабатывать и результаты обработки иногда до нескольких сотен мб (не считал, так как нет нужды); 3. могу получить ноль в переменную или кодировку отличную от utf 8 (азиаты, исламисты). В паскале я не мучался с многозадачностью, просто запускаю 30 программ. В день обрабатываю 100+ тысяч сайтов. В java вроде очень рекламируют многозадачность, хочу разделить по потокам. Как работать с такой обработкой строк (более 100 тысяч, разный размер, куча дополнительных переменных и массивов)? Что учесть заранее? Как работать с кодировками не утф 8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 10:43 |
|
||
|
java se работа с большими строками - как делать правильно?
|
|||
|---|---|---|---|
|
#18+
Используйте потоки данных вместо строк. Текстовые потоки данных называются Reader и Writer. Кодировку сайта нужно определять из HTTP заголовков. Распараллеливать можно через Executors, так как у вас сайты, судя по всему не зависимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 11:49 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2123415]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 380ms |

| 0 / 0 |
