検索
ホームページJava&#&ベースJava ではブール型は何バイトを占めますか?

Java のブール型はバイト数: 1.1 ビットを占めます。その理由は、ブール型の値には true と false の 2 つの論理値しかないためです。コンパイル後は 1 と 0 で表されます。 ; 2. 1 バイト、その理由は、1 と 0 はコンパイル後に 1 ビットのスペースしか占有しませんが、コンピュータによって処理されるデータの最小単位は 1 バイトであるためです。

Java ではブール型は何バイトを占めますか?

なぜこの質問をしたいのですか? まず、Java で定義されている 8 つの基本データ型のうち、他の 7 型を除いて、メモリ占有バイトをクリアします。また、仮想マシンにはブール型が存在しないため、ブール型が占有する特定のバイト数は指定されません。ブール型は、コンパイル後に他のデータ型で表されます。バイト数ブール型はバイトを占めますか?疑問に思ってネットで調べてみると、基本的には以下の通りです:

1. 1 bit

理由は、boolean 型の値が true と true の 2 つの論理値しか持たないためです。 false. コンパイル後、それらは 1 と 0 で表されます。これら 2 つの数値は 1 ビット (ビット) をメモリに保存するだけで済みます。ビットはコンピュータの最小記憶単位です。

2. 1 バイト

理由は、1 と 0 はコンパイル後に 1 ビットのスペースしか占有しませんが、コンピュータがデータを処理する最小単位は 1 バイトであり、1 バイトは 8 ビットに等しいためです。 、実際の記憶領域は、1 バイトの最下位ビットを使用して格納し、他の 7 ビットを 0 で埋めます。値が true の場合、格納されるバイナリは 0000 0001、false の場合、格納されるバイナリは次のようになります。 0000 0000。

3, 4 バイト

理由は、「Java 仮想マシン仕様」の説明にあります。「ブール データ型は定義されていますが、サポートされるのは非常に限定的です。バイトコード命令はありません。」 Java 仮想マシンのブール値専用 Java 言語式で演算されるブール値は、コンパイル後に Java 仮想マシン内で int データ型に置き換えられ、ブール配列のバイト配列にエンコードされます。 Java 仮想マシンでは、各ブール要素は 8 ビットを占有します。」このようにして、ブール型は単独で使用される場合は 4 バイトを占め、配列では 1 バイトを占めると結論付けることができます。

明らかに 3 番目のステートメントのほうがより正確なステートメントですが、なぜ仮想マシンはブール値ではなく int を使用するのでしょうか? byte または short を使用しないのはなぜですか? より多くのメモリ領域を節約できるのではありませんか?多くの人は当然そう考えるでしょう。私もこの疑問を持ちました。情報を調べたところ、int を使用する理由は、現在の 32 ビット プロセッサ (CPU) では一度に処理されるデータが 32 ビットであることがわかりました (ここではありません) 32/64 ビット システムを指しますが、CPU ハードウェア レベルを指します)、効率的なアクセスの特徴があります。

最終要約:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html の公式ドキュメントの説明によると:

boolean : ブール データ型には、true と false の 2 つの値しかありません。このデータ型は、true/false 条件を追跡する単純なフラグに使用します。このデータ型は 1 ビットの情報を表しますが、その「サイズ」は何かではありませんこれは正確に定義されています。

ブール型: ブール型のデータ型には、true と false の 2 つの値しかありません。このデータ型は、true/false 条件を追跡する単純なマーカーに使用します。このデータ型はこのビットの情報を表しますが、その「サイズ」は正確に定義されていません。

ブール型は正確な定義を与えていないことがわかります。「Java 仮想マシン仕様」では、ブール配列の 4 バイトと 1 バイトの定義が与えられています。詳細は仮想マシンの実装に依存します. 仕様に従っているので、1バイトでも4バイトでも可能です。これは実際には、コンピューティング効率とストレージ容量の間の勝負であり、どちらも非常に重要です。

関連する無料学習の推奨事項: Java 基本チュートリアル

以上がJava ではブール型は何バイトを占めますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール