私の知識構造(20190927)

私の知識構造

今日のインタビュー、多くのことを感じ。
私は、彼らはあなたの知識の株式を取るために、この機会を利用し、覚えていないための言い訳として使われていることがわかりました。

プログラミング

JVM

JVMの仕様

  • フィールド
    • フィールドは、それを宣言したクラスによって所有されます。
    • 解像度:自己 - >スーパ - >スーパー
  • バイトコードを呼び出します
    • INVOKEVIRTUAL
      • 時間法スロットをコンパイル
    • invokestatic
    • invokespecial
      • インスタンス初期化メソッド
      • 現在のクラスのメソッド
      • そのスーパータイプのメソッド
    • invokeinterface
    • invokedynamicの
      • lang.invoke.CallSite

JRE

  • 地図
    • util.HashMap
      • 読み込み元
      • ハッシュ表
        • 2×容量のためにサイズを変更
        • 容量×しきい値= loadFactor
      • リンクされたリストのノードまたは赤黒ツリーノード
        • しきい値8と6
        • 使用してinstanceof分割します
    • util.TreeMap
      • 赤黒木
    • util.concurrent.ConcurrentHashMap
      • CopyOnWriteArrayListと同様に、CASを使用して
      • 使用#transferIndex楽観的ロックとして
      • リンクされたリストのノードまたは赤黒ツリーノード
        • しきい値8と6
        • 使用して~.Node#hash分割します
      • ノードとノードの予約を転送
        • つづきます

ホットスポットVM

  • メモリレイアウト
    • 使用メモリ "のmalloc、reallocのを、自由な"
      • Unsafe 能力
      • 手動メモリ管理
      • IOのために使用
    • 以下を検証します
      • メタスペース
      • ヒープ
        • 旧世代
        • 若い世代
          • エデンスペース
          • Suvrvivor1 / 2

おすすめ

転載: www.cnblogs.com/tutoutu/p/11600867.html