Кто-нибудь знает более быстрый способ сделать то, что делает java.nio.charset.Charset.decode(..)
/ encode(..)
?
В настоящее время это одно из узких мест технологии, которую я использую.
[ПРАВИТЬ]В частности, в моем приложении я изменил один сегмент с java-решения на JNI-решение (потому что была технология C ++, которая больше всего подходила для моих нужд, чем используемая мной технология Java).
Это изменение привело к значительному снижению скорости (и значительному увеличению использования процессора и памяти).
Глубже изучая JNI-решение, которое я использовал, java-приложение связывается с приложением C ++ через byte [].Эти byte [] создаются Charset.encode (..) со стороны java и передаются на сторону C ++.Затем, когда ответ C ++ с байтом [], он декодируется на стороне java через Charset.decode (..).
Запустив это с профилировщиком, я вижу, что Charset.decode (..) иCharset.encode (..) оба заняли значительно более длительное время по сравнению со всем временем выполнения JNI-решения (я профилировал только JNI-решение, потому что это то, что я мог бы быстро вспомнить. Я профилирую все приложение напозднее свидание, как только я освобожу свой график :-)).
После прочтения о моей проблеме кажется, что это известная проблема с Charset.encode (..) и декодированием (..), и она решается в Java7.Тем не менее, переход на Java7 не является для меня вариантом (на данный момент) из-за некоторых ограничений.
Именно поэтому я спрашиваю здесь, знает ли кто-нибудь решение / альтернативу Java5 (извините, я должен был упомянуть, что это было для Java5 раньше)?: -)