Serviceを読んで理解し、同意したものとみなします。memory-leaks0動的確保したメモリー領域の解放戦略ヒープに確保したメモリの解放というお話であれば、C++の考えで敷衍するとスマートポインタや参照カウントという単語にいきつくと思います。基本的にはご推察の通り、何も考えずに用意されたものを使うのが通例ですし効率的でもあります。行わずに標準ライブラリのstringを用いるのが適当でしょう(上のドキュメントを見る限りRustにも存在するようです)。個の銅バッジ2動的確保したメモリー領域の解放戦略Javaの文字列はUTF-16なので、相互運用するのであればネイティブコード側でもUTF-16を扱える言語のほうが効率的だし楽です。UTF-8と呼ばれる特殊形式であり、またUTF-16との余計な変換コストもかかります。C/C++のようなネイティブ言語と、Java/C#のようなマネージ言語を相互運用する際、ネイティブヒープとマネージヒープではメモリ管理の扱いが異なります。引数にバッファサイズを受け取り、戻り値で本来必要としたサイズを返す、というパターンを見たことがあります。