Я часто сталкиваюсь с необходимостью извлечения некоторой информации на удаленный сервер с помощью запроса HttpPost. Представьте, что мы имеем дело с погодным приложением, получающим некоторую информацию о погоде.
Сервер отправляет long inputtream, и мы заинтересованы в извлечении некоторой информации из этого потока. Имейте в виду, что мы находимся в среде, связанной с памятью.
У нас есть два варианта:
1) Мы используем синтаксический анализатор JSON или XML для извлечения информации.
Это рекомендуемый метод, но он имеет некоторые недостатки:
Это мучительно многословно, особенно если мы хотим получить мало информации из большого потока.
Это должно быть быстрее и более дружественным к сборщику мусора, но я не уверен, что это относится к вышеупомянутому случаю (мало информации из большого потока).
2) Мы используем простую обработку строк (SSM):
Мы уменьшаем размер входного потока путем обрезания ненужной информации, а затем извлекаем информацию из компактной строки. Для этого мы можем строить фильтры статическими методами, чтобы уменьшить работу сборщика мусора.
Также у этого метода есть некоторые недостатки:
- Я думаю, что этот метод настоятельно не рекомендуется
- Чем больше информации мы извлекаем, тем медленнее этот метод. Я думаю, что есть критическая точка на кривой производительности, где SSM становится медленнее.
- Может быть менее гибким, чем JSON или другой анализатор акций.
Но есть и некоторые важные преимущества:
- Краткий, понятный человеку код.
- Может быть трудно изменить существующий фильтр, но гораздо проще создать новый.
Подводя итог, вопрос:
1) Является ли простое манипулирование строками подходом типа «нет-нет» или целесообразно рассмотреть его использование?
2) Если вы ответили «да» («большой нет-нет») на предыдущий вопрос, не могли бы вы объяснить причину?
ура :) 1066 *