JAva並発面試験問題vol.1

2069 ワード

  • 最もよく知られているごみ回収アルゴリズム
  • と述べた.
  • スループット優先と応答時間優先の回収器はどれらの
  • がありますか?
  • メモリ漏洩
  • の判断方法
  • なぜ圧縮ポインタが32 Gを超えるのかなぜ圧縮ポインタが32 Gを超えるのか32ビットシステムを超えるのか、8バイト(markWord 4バイト+kclass 4バイト)64ビットシステムを占有し、UseCompressedOops*(圧縮ポインタ)をオンにすると12バイト**を占有し、そうでなければ16バイト(markWord 8バイト+kclass 8バイト、オープン時markWord 8バイト+kclass 4バイト)インスタンスデータboolean 1 byte 1 short 2 char 2 int 4 float 4 long 8 double 8参照タイプ32ビットシステムは4バイト(この参照タイプはメソッドエリアでクラス情報を探すため、アドレスは32ビットである4バイト同理64ビットは8バイト)64ビットシステムであり、UseCompressedOopsをオンにすると4バイト、オブジェクトヘッダ+インスタンスデータの値が8の倍数ではない場合、8の倍数を補うことができます.たとえば、オブジェクト
  • があると仮定します.
    				class A{
    					int a;// 
    					B b;// 
    				}
    

    32ビットオペレーティングシステムが消費するメモリ容量は、オブジェクトヘッダ-8バイト+インスタンスデータintタイプ-4バイト+参照タイプ-4バイト+補完0バイト(16は8の倍数)16バイト64ビットオペレーティングシステムオブジェクトヘッダ-16バイト+インスタンスデータintタイプ-4バイト+参照タイプ-8バイト+補完4バイト(28は8の倍数ではなく4バイトが32バイトに達する)32バイトの同じオブジェクトは、ほぼ2倍の容量を必要とする(実際の平均1.5倍).したがって、圧縮ポインタをオンにする必要がある:64ビット圧縮ポインタオブジェクトヘッダ-12バイト+インスタンスデータintタイプ-4バイト+参照タイプ-4バイト+補完0バイト=24バイトオンにすると、スタックスペースの圧力が緩和される(同じメモリではoomが発生しにくい)
  • メモリの漏洩とは何ですか?GCチューニングは経験ありますか?一般的にGC問題はどうやって解決しますか?
  • CMSの流れ
  • について説明します.
  • Threadlocalメモリリークの問題があるかどうか
  • G 1の2つのRegionは連続的ではなく、間にはまだ参照があります.私は今1つを回収します.もう1つはどう処理しますか.
  • JVMスタックメモリ管理(オブジェクト割り当てプロセス)
  • について説明します.
  • CMSの同時前処理と同時中断前処理を聞いたことがありますか?いったいどれだけのオブジェクトが高齢者に直接投げ込まれるのか-XX:PretrnureSizeThresholdパラメータは、このパラメータより大きくて直接古い年代に入り、現在はSerialとParNewに対して
  • しか有効ではありません
  • this逃走とは何ですか?同時プログラミングの実践では、thisリファレンスの脱出(「this」escape)とは、オブジェクトがまだ構築されていないことを意味し、thisリファレンスが公開されます.これは、他のスレッドがこの逸脱した参照によって「半分初期化された」オブジェクト(partially-constructed object)にアクセスする可能性があるため、スレッドの安全を危険にさらす.これにより、一部のスレッドではオブジェクトの状態が初期化されていない状態であり、他のスレッドでは初期化された状態であるという不一致が発生し、プログラムによって予知できない同時エラーが発生します.