1.コンセプト
シンタックスシュガー:あなたはコードよりシンプル、簡単なプログラマのプログラミングを行うことができるように、コンピュータ言語の機能に影響を与えない、いくつかの構文を追加するための言語が、使用によりのプログラマ、一言で言えばはシンタックスシュガーです。そのため糖衣構文で、そのコンパイルステップ糖類で知っておくべきです。
2.具体的な例
(1)基本データ型とラッパーの間の自動ボクシングとアンボクシングのjava
自動包装のような種類が実質的である場合、INT Integerオブジェクトがコンパイル時Integer.valueOfを使用することによって達成されます()。
aとbが同じオブジェクトである整数であり、現時点では存在知識Integerオブジェクトがキャッシュされた値の区間[-128127]を有する、整数A = 100、B = 100。
列挙、文字列オブジェクトにJavaスイッチの(2)パラメータの構文
糖衣構文を使用すると、コンパイルフェーズのハッシュコード内のオブジェクトと実現に等しいです
拡張forループ(3)((文字列秒間:STRS))
コンパイラは、通常のサイクルを達成するためのシンタックスシュガーであります
(4)一般的な
バイトコードのコンパイル段階、すなわち、一般的なタイプの複数のインスタンスメソッドを消去するタイプの方法によって達成バイトコードを共有し、共有の方法を使用します。
(5)列挙
連続EMUMクラスfinalクラスにコンパイルコンパイル時に列挙クラスを実装します
(6)断言
java1.4で導入されたオープンまたは-ea必要-enableassertionsとして、デフォルトのアサーション検査によって開始されていません。
(7)数値リテラル
java1.7、整数または浮動小数点値は下線付き中央に許可するかどうか「 - 」下線を自動的にコンパイル時に無視するからです。
(8)がトライして、リソース
java1.7は、コンパイル時に自動的に、そのようなファイルの読み込みと書き込みとして、近いリソースコンパイラを導入しました。
(9)ラムダ式
JVMの基礎となる関連APIの実装に依存ラムダを提供しました。