知らせを一つ上げると,喜びや涼しさがわかるはずがない.

2678 ワード

個人技術ブログ:http://www.zhenganwen.top
  • はJavaのを使ってカバンを配ったことがありますか?中には何か同時のデータ構造がありますか?
  • とはJUCバッグのことですか?中には原子操作類があります.Atomicで始まるものです.また、CountDownLatchCyclicBarrierのような合併ツール類があります.また、スレッドプールのサポートに関するカテゴリは、例えばThreadPoolExecutor
  • です.
  • はJVMを知っていますか?GCはどのように停止しているか教えてもらえますか?
  • とはstop the worldのことですか?JVM起動時には、バックグラウンドでGC守護スレッドを開き、GCスレッドが必要となる時は、マーク段階でルートノードをエニュメレート・ノードする必要があります.この時は、すべての作業者スレッドを停止し、エニュメレート・ノードが終了した後に、すべての作業者のスレッドが再開されます.ルートノードを列挙する際には、スタック内の各オブジェクトの参照関係を分析する必要があるので、作業者のスレッドが停止しないと、作業者のスレッド実行時に参照の変更が列挙ルートノードに影響します.
  • 今主流のGCアルゴリズムはどれらがありますか?
  • アルゴリズムをコピーし、新生代に適用する.マーク-アルゴリズムを整理して、古い年代に適用します.
  • ServerとCientモードのGCアルゴリズムは違いますか?
  • 額…違いがありますよね.Serverモードで発生するごみは普通多いです.(面接官は2つのモードのゴミ回収器を聞きたいと思います.Serverモードを選ぶと、ハードウェア条件CPU、メモリなどが高いことを意味しますので、通常はPanew、Palel Oldなどの並列回収が可能なものを選択します.)
  • Javaの種類のキャリアを言ってもいいですか?
  • Javaのクラスのキャリアは主に以下の3つに分類されています.ブートクラスのキャリア、拡張タイプのキャリア、アプリケーションクラスのキャリア、ブートクラスのキャリアは、jre/lib下のコアクラスをロードする責任があり、拡張クラスのキャリアは、ext/下の拡張クラスをロードする責任があり、アプリケーションクラスのキャリアは、開発者がカスタマイズしたクラスをロードするために使用されます.Javaのクラスローディングには両親に委任されたモデルがあります.JVMがクラスローディング要求を受けた時、現在のクラスのキャリアをそのクラスにローディングさせません.代わりに、ブートクラスのキャリアがこの要求を受理し、jre/lib/からこのクラスを追加しようとするまで、要求を上位クラスのキャリアに委任します.もしないなら、層ごとに下に下向きにします.NoSuchClassの異常
  • を投げることができます.
  • どうしてこの両親のモデルが作られましたか?
  • は、ユーザーがカスタマイズしたクラスカバーのコアクラスを避けるために、例えばユーザーがObjectをカスタマイズすることができ、親から依頼されたメカニズムがないと、ユーザー定義のObjectがアプリケーションクラスのキャリアにロードされ、コアクラスのObjectと衝突する.(はっきり言っていませんが、親に委任されたモデルはJVMに対する保護機構であり、コアクラスは優先的に上部クラスのキャリアによってロードされ、カスタムクラスの影響を受けません.例えば、1つjava.lang.Objectをカスタマイズすると、両親がモデルを委任したので、java.lang.Objectのローディングは優先的にブートクラスの加載器によってローディングされます.jre/libは、ユーザがカスタマイズしたものをロードするのではなく、
  • である.
  • にこんな場面があります.会ったことがありますか?Javaアプリケーションがあります.二つのライブラリAとBに依存しています.AとBは同時にCライブラリに依存していますが、AライブラリとBライブラリに依存しているCライブラリのバージョンが違っています.どうやって互換性のない問題を解決しますか?
  • 私はこのような状況に遭遇したことがありません.しかし、私は1つのjava.lang.Objectモジュール化技術を聞いたことがあります.これは伝統的な両親の委任メカニズムを打ち破りました.各moduleの間には両親の委任モデルのような階層関係ではなく、平等関係であり、各moduleの間には依存関係と信頼関係があります.(何を聞いているのか全然分かりませんでした.めちゃくちゃになりました.)
  • キャリアは複数の名前空間がありますか?JVMは何度も同じjarカバンをロードできますか?
  • javaクラスの一意性は、キャリアとクラスの全制限された名前によって共通に決定されるので、1つのクラスは、異なるキャリアによって複数回ロードされることができる.
  • Cはたくさん使いますか?
  • 専門課に従って基礎を習っただけで、指針と構造体のブロックが分かりました.
  • 、Java基礎というブロックはよく覚えていると思いますが、私たちのチームは今C/C++だけを募集しています.
  • ああ、残念ですね.
  • ですが、うちの会社はJava開発のチームがたくさんあります.後で他のチームが連絡します.
  • はい、面接官ありがとうございます.
  • この面は履歴書の評価面にすぎないと思います.面接官はJavaを専攻したのではないかもしれません.今後の機会があるかどうか見てください.