私はKotlinを新しくしました.AFAICTの構文は、Int、Floatなどのオブジェクトバージョンをサポートしています。対応するint型とfloat型のJavaプリミティブはありません。しかし、可能であれば、コンパイラまたはJVMはプリミティブ型の使用を最適化していますか?私は、JVMがプリミティブ型を使用する代わりにオブジェクトを毎回作成しなければならない場合、ゲームのメインループから呼び出された関数でローカル変数を使用すると、GCの吃音を引き起こす可能性があると懸念しています。KotlinのFloat、IntなどはJVMの組み込み型に最適化されていますか?
2
A
答えて
1
docsを引用:
タイプの一部は、特別な内部表現持つことができます - 例えば、数字、文字や真偽値は、実行時にプリミティブ値として表すことができる - しかし、ユーザーに、彼らは普通のように見えますクラス。このセクションでは、Kotlinで使用される基本的な型について説明します。数字、文字、ブール値、配列、文字列です。
コンパイラは、実行時にJVM primitive typesが使用されるように最適化します。
null可能な番号参照(例:Int?)が必要な場合やジェネリックが必要な場合を除いて、数字は物理的にJVMプリミティブタイプとして格納されます。後者の場合、数字は囲まれています。
ソースドキュメントにもヒントがあります。 Int
:
32ビット符号付き整数を表します。 JVMでは、このタイプのnullableではない値は、プリミティブ型intの値として表されます。
関連する問題
- 1. pythonスライスに組み込まれていない組み込み型以外はなぜですか?
- 2. 組み込みのアニメーションにはQtが最適ですか?
- 3. JVMのNeo4jが組み込まれています
- 4. Rails 5に組み込みのJSONapiが組み込まれていますか?
- 5. .NETコンパイラ - ネストされたループ最適化は組み込まれていますか?
- 6. SSE組み込み関数 - 論理NOT最適化
- 7. SSE組み込み関数 - 比較if/else最適化
- 8. Pythonにはどのような組み込み型がありますか?
- 9. IntelliJ組み込みJava JVMプラグインbashエラー
- 10. メインアセンブリにバンドルされている組み込みアセンブリをどのように読み込みますか?
- 11. インテル®SSEコンパイラ組み込み関数を使用したベクトル化の最適化
- 12. 組み込み演算子はどこに定義されていますか?
- 13. 文書化されていないWindows組み込みのPDFレンダラ機能?
- 14. 組み込み関数が組み込まれていない並べ替え
- 15. Firebase - 読み込み/書き込みの最適化
- 16. クライアントベースアプリケーション用の組み込みDBは、次のニーズに最適ですか?
- 17. BLASは行列連鎖最適化を組み込んでいます
- 18. nw.js/electronic大規模なデータセットに最適な組み込みデータベースですか?
- 19. JVMはエイリアス化された変数を最適化していますか?
- 20. 問題サブクラス化する組み込み型の
- 21. LucidchartのUMLクラス図の組み込みデータ型はどれですか?
- 22. opencartのショッピングカートには、組み込みの "alt"タグエディタがありません。 .jpgファイル名は検索エンジンの最適化に十分適していますか?
- 23. 組み込み型には移動セマンティクスがありますか?
- 24. DateTimeの組み込み型がないのはなぜですか?
- 25. Springにはどのようなプロパティタイプコンバータが組み込まれていますか?
- 26. JVMの最適化はどこから始まりますか?
- 27. プリロードされていないnose2テストフレームワークで組み込みのモジュールをどのようにアクティブにしますか?
- 28. フローの組み込み型のサブタイプ
- 29. MongoDBの組み込み多型のオブジェクト
- 30. 絞り込みはインスタンスメソッドにのみ適用されますか?