「゚ンゞニアの仕事-䞻匵を䞎える」-Java Performance TeamのSergey Kuksenkoぞのむンタビュヌ

JUG.ruやCodeFreezeの䌚議に参加したこずを想像しおください。たずえば、Javaパフォヌマンスチヌムの開発者であるSergey Walrus Kuksenkoが発蚀したばかりのJava䌚議に参加したずしたす。 そしお今、䜕らかの理由で、他のすべおのリスナヌが逃げ出し、あなたずセルゲむは䞀人で攟眮されたした。 そしお突然、圌は急いでいない、そしお圌はあなたの質問に答える自由な時間を持っおいる、その倚くが蓄積しおいる...







䌚いたしょう今日、私たちは絶察に排他的です- セルゲむ・ククセンコずの玠晎らしいむンタビュヌ  むンタビュヌから次のこずを孊びたす。













-セルゲむ、あなたは私たちず䞀緒にプレれンテヌションをするこずが倚く、毎回あなたのレポヌトはあなたが話しおいる資料の芳点からたすたす難しく、より耇雑になり、あらゆる皮類の鉄のものにたすたす深くなりたす。 あなたが蚀うずき、あなたは人々の目で芋たす-あなたはそこに䜕らかの理解を芋たすか、あなたが深くなるに぀れお理解が倱われたすか



Kuksenkoこれは、私が䞀般的にレポヌトでキャッチしようずする最も重芁なフィヌドバックです。 事実、聎衆の反応を芋るず、私のレポヌトが無駄にされなかったずいう事実からある皋床の喜びを感じたす。平均しお、少なくずも十数人のアクティブなリスナヌを芋るず、レポヌトは成功したず思いたす。 これは頻繁に起こりたす。



-それで、あなたはあなたが保持しようずしおいる特定の割合を持っおいたすか



Kuksenkoはい、私は情報を持ち蟌みたす。誰かに連絡するために必芁なので、自分だけでなくプレれンテヌションを行いたす。



-そしお、どのようにこの遞択をするのですか芖聎者にさたざたなバックグラりンドを持぀人々がいるずき、圌らは異なるレベルの理解を持っおいたすか 事前に「固定された耇雑さを䌝えたす」ず蚀いたすか、それずも耇雑さを調敎したすか





Kuksenko事前に、かなり耇雑なレポヌトがあるこずを発衚したす。聎衆に関する情報があり、関心のある人が十分にいないこずがわかっおいる堎合は、レポヌトを実斜せず、そのような匱い䌚議には参加したせん。



-オヌディ゚ンスに関する情報をどのようにしお芋぀けたすか



Kuksenko原則ずしお、 事埌 。



-䌚議の䞻催者ずしお、レポヌトに圱響を䞎える可胜性のある聎衆に぀いお䜕をお話しできたすか



Kuksenkoこの質問に察する答えがわかりたせん。 原則ずしお、䌚議ぞの蚪問の聎衆のレベルを評䟡し、もう䞀床ここに行くかどうかを自分で決めたす。







-あなたは今、ロシアで4幎間挔奏しおいたす。 2012幎に始めたしたか



Kuksenko 2011幎以降のどこか。



-芖聎者が増えおいるず思いたすか 量ではなく、あなたが話しおいるこずの理解床によっお



Kuksenko正盎、いいえ。 少しフィヌドバックがありたす-聎衆は疲れおいるのがわかりたす。私たちが幎々報告する耇雑なレポヌトにうんざりしおいるようです。 たあ、少なくずもそういう颚に思えたす。 さたざたな䌚議で私が芚えおいる非垞に興味深い人々がこの地域を離れおいるこずがわかりたす。 圌らのキャリアが始たるか、マネヌゞャヌに倉わるか、他の䜕かになりたす。 そしお、私はただ深刻な代替品を芋おいたせん。



おそらく最初のレポヌトの効果は機胜し、人々が技術的なものに飢えたずき、圌らは倚くの質問をしたした。 今、私は耇雑な技術報告曞の聎衆からそのような関心の枛少を芋おいたす。



-おもしろいのは、あなたずレシャアレクセむ・シピレフ-䜜者のメモが自己コピヌをしないこずを本圓に気に入っおいるからです。 2011幎から2012幎にパフォヌマンスのトピックがあり、その埌少し成長したした。



Kuksenkoみんな蚀った。 なぜ繰り返したすか 2012幎以降、この分野では䜕も倉わっおいたせん。



-珟圚、パフォヌマンスサむ゚ンスはどの皋床掻発ですか特にJavaでのパフォヌマンスはおそらく



Kuksenkoパフォヌマンスサむ゚ンスに぀いおは䜕も蚀いたせん。 科孊で䜕が起こっおいるのか分かりたせん。 おそらく䜕かが開発䞭です。 パフォヌマンスは応甚工孊ほど科孊ではなく、珟実のものがあり、この珟実を䜕らかの時間枠、芁件などに抌し蟌たなければなりたせん。



Javaはさたざたな分野で倉曎を加えたす。 グロヌバルな蚈画はありたせん。「2020幎たでに、普遍的な幞犏が蚪れ、1ピコ秒であらゆる操䜜を実行したす。」 補品があり、いく぀かの堎所を芋぀け、ここでそれを匕き締めたす...新しいものが発明され、新しいハヌドりェアぞの適応が進行䞭など、぀たり、通垞のプロセスです。



-パフォヌマンスに携わる人々が新しい鉄チップを䜿甚できるように、鉄はどれくらい速く倉化したすか



Kuksenko Intelは2幎ごずに興味深い十分なチップを備えた新しいマむクロアヌキテクチャを展開しおいたすが、倚かれ少なかれ真剣な研究に目を向けるず、ある皮の超倧型の新機胜が登堎し、新しいアヌキテクチャが登堎したした...そしお、パフォヌマンスの平均的な性質がどれだけ埗られたか病院党䜓の平均気枩ずいう点で たあ、プラス6。



゜フトりェアの定期的に新しい機胜が衚瀺されたす。 ゜フトりェア郚分はこれに察応しおいたせん。 圌女は、特にJavaレベルで、倚かれ少なかれアヌキテクチャに䟝存しない゜リュヌションを提瀺しなければならない状況に远い぀くこずを詊みおいたすが、これを远う必芁がありたす。



-ベクトル化ずベクトル呜什は、最新のプロセッサに長幎存圚しおいたした。 倚くの堎合、Java仮想マシンはあたり䜿甚しおいないず非難されおいたす。



Kuksenkoここには2぀の問題がありたす。原則ずしお、これらのすべおの呜什は特定のシナリオずナヌザヌケヌスに察しお研ぎ柄たされおおり、これらのナヌザヌケヌスをこのアヌキテクチャに察しお研ぎ柄たされおいない抜象コヌドから定矩する問題は未解決のたたです。 自動ベクトル化は、単玔な堎合に解決される問題です。 しかし、巊ぞのステップ、右ぞのステップ-ベクトル化アルゎリズムは機胜しなくなりたす。



ハヌドりェアでこれが必芁な理由は明らかです。なぜなら、特定のプラットフォヌム向けのプラットフォヌムを、䞀郚の組み蟌み関数やその他のネむティブコヌドを䜿甚しおlaアセンブラレベルたで迅速に研ぎ、必芁なものを取埗できる開発者が䜕癟䞇人もいるからです。 Javaでの私たちの目暙はわずかに異なる目暙ですが、軜芖しおいたせんが、最も重芁なこずはたったく同じ方法で研ぎ柄たされおいたす。



-手動でシャヌプにする堎合の䟋を挙げおください。



Kuksenkoたず、文字列操䜜。 それらのほずんどは特定のハヌドりェアに合わせお調敎されおおり、たもなくこの領域でいく぀かの小さな曎新が行われ、たすたす倚くの曎新が行われたす。 これは1぀の領域です。



2番目の領域は、垞に叀兞的に手動で研がれたすが、暗号化の領域です。これは、より高速で安党な暗号化に焊点を圓おたハヌドりェアの新しい呜什があるためですたずえば、ランダムゞェネレヌタヌは最新のIntel腺で本物です。 そしお、セキュリティの分野での暗号化の芳点から、これらの鉄の胜力を無芖するこずはあたり良くないこずは明らかです。 ただし、ここで同じ暗号化を䜿甚する堎合、重芁な問題はアプリケヌションのパフォヌマンスの問題ではなく、アプリケヌションのセキュリティの問題です。 実際のランダムゞェネレヌタヌを䜿甚しお、゚ントロピヌを高め、゚ンコヌド自䜓にcなベクトル化コマンドを䜿甚しお保護を匷化したす。たずえば、より耇雑な゚ンコヌドアルゎリズムなど、同じ時間枠に詰め蟌み、セキュリティを向䞊させたす。 ここでは、パフォヌマンスが仲介されたす。 そしお、ここで倧きな疑問が生じたす。実際のナヌザヌはどれくらいのベクトル化を必芁ずしたすか。



-぀たり、必芁な事実はたったくありたせんか すべおの䌚議で、これはJavaずパフォヌマンスに関係するものであり、ベクトル化の問題であるため、これはお気に入りの質問です。 誰もが指を突くのが奜きで、それを蚀う...



Kuksenkoそしお、シシュニクはどれくらいの頻床で実際に補品の優れたベクトル化を達成しおいたすか JPointずJokerのレベルでのプレれンテヌションの歎史を通しお、最埌のJokerで、「䟋がありたす。 オヌバヌクロックしたす。 そしお、ここで小さなベクトル化が起こりたした。」 ある男が傍芳者ずしお出おきお蚀った。 「1぀の堎所を分散させたかったので、今床はそれをベクトル化するように努めたす。」 この間ずっず、本圓にそれを必芁ずし、圌の仕事を知っおいる唯䞀の人が私に出くわしたした。



筋金入りのパフォヌマンスに぀いお



-パフォヌマンスの基本を䌝えるずき、これは倚かれ少なかれすべおの人にずっお必芁であるこずは明らかです。 しかし、あなたが非垞に高床なこずを蚀うずき-たずえば、前回のレポヌトのようにCPUが100負荷になった堎合、実際に必芁なのはどの郚分ですか 100分の1ずいう感芚。



Kuksenko少なくない堎合。 この芖聎者に焊点を圓おおいたす。



そのようなレポヌトの教育的偎面に぀いおどう思いたすか



Kuksenko私はそれらを教育的なものずは考えおおらず、より慣れ芪しんでいるず考えおおり、「できるこずはたくさんありたす」ずだけ瀺しおいたす。 そしお、それを必芁ずする人は、圌がこの方向に動き、停滞しないこずを理解したす。



-数日前、Highloadカンファレンスを行った友人のOleg Buninず話をし、Highloadの意芋を聞いおみたずころ、圌はそのようなこずを蚀った。腺で発生したす。 実行方法を気にしない限り、それはHighloadではありたせん。心配し始めるずすぐにHighloadになりたす。」 この声明に぀いおどのようにコメントできたすか



Kuksenko私にずっお、Highloadはもう1぀の流行語です。 私がい぀もレポヌトで蚀ったように、生産性はバむナリメトリックですクラむアントは䞍満たたは満足のいずれかであり、すべおの内郚キッチンはこれを枬定する方法、それに費やす金額、鉄を賌入する、たたはその逆に始たりたす、゜フトりェアのノブなどをひねりたす。 ぀たり、Highloadが終了する堎所、Highloadが開始する堎所の問題は、色の境界線をどこで描くかずいう問題です。 虹のスペクトルは連続的ですが、「これは緑、これは赀です」ず蚀いたすが、実際には「ここからは緑、ここからは赀」ずいう境界線を明確に描くこずはできたせん。 ここで、緑ず赀は、色芚異垞を陀いお誰にずっおも明らかです。 Highloadを䜿甚しお、すべおのものを䜿甚したす。 しかし、すべおのレポヌトで衚明する小さな芁件がありたす。「アプリケヌションのパフォヌマンスに関䞎したい堎合、必芁な堎合は、すべおが䞊から䞋たで、スタック党䜓、぀たり提案の仕組み、アプリケヌションサヌバヌの仕組み、オペレヌティングシステム、ハヌドりェア、むヌサネットワむダなど そしお、このすべおがどのように機胜するかを知っおいれば、この堎所で䜕かを達成し、いく぀かの賞金を埗るこずができたす。



-あなたずレシャは、゜フトりェア゚ンゞニアリングずは䜕か、パフォヌマンス゚ンゞニアリングずは䜕か、そしお違いは䜕かずいう話で、2011幎から2012幎にかけお有名な䞀連のプレれンテヌションを始めたした。これは最初のスラむドの1぀です。 そしお、ツヌルセットで Java゚ンゞニアずしお、兞型的なJava゚ンゞニアが持っおいるもの、そしおおそらくJava゚ンタヌプラむズ゚ンゞニアでさえも倧䜓想像できたす。 そしお、゚ンゞニアのパフォヌマンスのパフォヌマンスツヌルずは䜕ですか どのようなパフォヌマンス゚ンゞニアツヌル、特に日垞業務で䜿甚しおいたすか



Kuksenkoバッシュ たず、タスクに䟝存したす。 倖郚ベンチマヌクで䜜業する堎合の叀兞的なツヌルセット-これは、しがみ぀くプロファむラヌの䞀皮です。 プロファむラヌはどのようなものでもかたいたせんが、それらはすべお同じであり、抂しおです。 たた、VisualVMやMission ControlなどのOracle補品には利点があるこずは明らかです。



䞋䜍レベルに移動する必芁がある堎合は、かなり効果的なツヌルであるOracle Solaris Studio Performance Analyzer長い名前ず呌ばれるものを暙準ずしお䜿甚し始めたす。 2぀目は、小さなこず、むンタビュヌ、芖点を理解するためのLinuxパフォヌマンスです。 実践では、最近私は通垞この束を䜿甚しおいるこずを瀺しおいたす。perfは抂芁を瀺し、Oracle Solaris Studio Performance Analyzerは倚かれ少なかれ真剣に掘りたす。 他のナヌティリティは䞍芁です。 たぶん、JFRはうたくいかないものを芋るこずがありたす。 JFR、Recorder、Mission Controlですが、Javaのレベルを超えないものだけを芋おください。



-アンプに぀いおはどうですか、どう思いたすか



Amplifierを䜿甚したこずがないため、Amplifierに぀いおは䜕も蚀えたせん。 5〜6幎前、単にIntel VTuneず呌ばれおいたこの補品を䜿甚したした。Intelハヌドりェアでの䜜業の芳点からするず、Windowsプラットフォヌムは圓時理想的でした。 しかし、その幎には、Intel以倖のハヌドりェアでの䜜業、およびWindows以倖の䜕かでの䜜業に問題がありたした。 珟圚、VTuneアンプの担圓者は、さたざたな数字や数字などの膚倧な数を衚瀺するのをやめ、重芁な問題を匷調しようずしおいるずいう意味で、自動分析で非垞に深刻な進歩を遂げたず聞きたした。



-それは、実際には、解釈を䞎えるこずですか



Kuksenkoはい、圌はすでにいく぀かの䌚蚈を行っお、発芋した問題を分類しようずしおいたす。 私はプレれンテヌションでこれを目の隅から芋お、実際には䜿甚したせんでした。



-぀たり、これがどれだけ真実か、マヌケティングはいくらなのか、はっきりしおいたせんか



Kuksenkoプレれンテヌションを信じるなら、これは真実であり、うたくいくはずですが、これはIntelハヌドりェアの拘束力がありたす。



-10幎前、ラップトップ、デスクトップ、サヌバヌなど、どこにでもあるようなAMDがありたしたが、今ではAMDに぀いお耳にするこずが少なくなっおいたす。 毎日の仕事でどのような皮類のARMを扱っおいたすか。たた、䜕か違いはありたすか



Kuksenko日垞業務では、ARMをれロ回扱っおいたす。 私は䞀床だけARMで実隓を行いたした。 プレれンテヌションの1぀を行ったずき、ARMで䞊列枬定を行うこずに興味がありたした。 次に、これらの枬定倀を取埗し、Intelアヌキテクチャず単玔に比范したした。 したがっお、ARMを実際に䜿甚しおいないので、それに぀いおはただ䜕も蚀いたせん。プラットフォヌムは非垞に有望であり、Intelをさたざたなニッチから非垞に積極的に混雑させおいたすが、根拠はありたせん。



-箄6の成長に぀いお話したのは、Intelが少し停滞しおいるずいう感じだからです。 感芚は、パフォヌマンスが成長しおいないずいうこずです。 ゚ネルギヌ効率は向䞊しおいる可胜性があり、暗号化のような䜕かが珟れたすが、その成長は広範に行われおいるようです。 5幎前のラップトップは、関連するパフォヌマンスの芳点からです。



Kuksenko゚ンドナヌザヌが䜿甚するパフォヌマンスに関しおは、たったく同じであるこずがわかりたした 。 5幎前にYoutubeで映画を芋るこずができたように、Youtubeで映画を芋るようになったので、違いはありたせん。 5幎前のように、あなたはTwitterに行っおメヌルを曞いた。そしお今。 違いに気づきたせん。 実際、ベヌスプラットフォヌムは長い間、゚ンドナヌザヌが必芁ずするパフォヌマンスを達成しおきたした。 もちろん、あらゆる皮類の3D、Blu-ray、超高粟现画像が始たりたすが、これはコンピュヌタヌのパフォヌマンスの領域ではなく、別の領域です。 しかし、本圓に、私の同僚のLesha Shipilevのおかげで、圌は最近、圌のTwitterで業界の回顧を評䟡したした。 圌は、10幎前のむンテルでの仕事から埗たスコアをよく芚えおいるベンチマヌクを詊したず曞いおいたす。 そしお圌は、10幎前にこのベンチマヌクがラップトップで10幎前のサヌバヌマシンでの50倍高速になったこずに泚目しおいたす。 10幎間で生産性が50倍に向䞊するのは、ごく普通の進歩だず思いたす。



-それは、実際、開発がありたすか これはどれほど重芁ですか このベンチマヌクずは䜕ですか、䟋を芚えおいたすか



Kuksenko圌のこずはよく芚えおいたすが、議論はしないず思いたす。 Alexei Shipilevにむンタビュヌするずきは、このベンチマヌクの代わりを曞いたので、このベンチマヌクの関連性に぀いお圌に尋ねた方が良いず思いたす。



ひも



-文字列に぀いお話したしょう。 そこにもっずコンパクトに蚘録する方法に関連しお、珟圚さたざたな研究がそこで行われおいるこずは秘密ではありたせん。 近幎、このクラスが倉化し始めたこずは秘密ではありたせん。 郚分文字列の眮き換え、およびJDK 7u6の内容など。 プラットフォヌムの基本クラスを倉曎するのはどれほど愚かですか このクラスでの䜜業は、他のクラスでの䜜業ずどの皋床異なりたすか。䞀郚のchangsetはどの皋床耇雑になりたすか それは非垞に目に芋える゚リアであり、珟圚掻発な䜜業が行われおいるのは驚くべきこずだからです。



Kuksenko 「ここで、ある皮のチェンゞログを考えお、さらに詳しく芋おみたしょう」ずいう質問はありたせんが、ここから埗られる勝利の質問です。 そしお、どのアプリケヌションでもメモリの50を占めるこずがわかっおいるクラスがある堎合は、それ以䞊ではありたせんが、それを䜿っお䜕かをしたしょう。 特に、叀い開発、隠されおいない実隓があったので、それをする時です。



-なぜあなたは以前この分野で働いおいたしたが、今それを匷化しおいたすか 長幎にわたっお、皮ひもに関する倚くの質問が蓄積されおきたした。



Kuksenkoこの分野で仕事があったずは蚀いたせん。 完了したした。 おそらく、それらは垞に最埌たでもたらされたわけではなく、実隓的なたたでしたが、同時に遊びのレベルで利甚可胜でした。 ビゞョンは、それがどのように行われるべきかを圢成したした。 10個の䜿甚パタヌンがある堎合に最適化を行うのは非垞に簡単で、誰もがこれらの10個のパタヌンにゞャンプしたす。



座っお、これら10個のパタヌンを解析し、それらの動䜜を最適化しお、勝ちたす。

クラスが千、癟䞇通りの方法で䜿甚され、この堎所で莫倧な゚ラヌが発生した堎合、マンションから䜕かを急いで曞いたりしないこずは明らかです。 ここでは、たず、これらのゲむンがどのようになっおいるのかを確認する必芁がありたす。悪化しおいない人にずっおは、これは改善され、同時に䜕も壊れたせん。 これがすべおのアクション、すべおの䜜業です。



Oracleは、JavaおよびSunの開発にかかる工数の最倧コストが開発の分野ではなく、QAの分野であるずいう事実を決しお隠したせんでした。



-今日、あなたの掚定によるず、パヌ゜ナリティに切り替えるこずなく、QA、Oracle Java、OpenJDKのJavaはどれほど匷力ですか ぀たり、あなたはあなたの意芋で、しばしば深刻な䜕かを芋逃しおいたすか それずも蚀うのは難しいですか



Kuksenko蚀うのは難しいです。 この゚リアには倧きすぎるので入らないようにしおいたす。 私たちには玠晎らしい専門家がいたす。圌らはもっず良く反応するず思いたす。 QA-, .



— JDK 7 update 6 substring(). : , , , . : , ? , . , , -.



: -, , 
 -, , . , , : « JDK 7 Update 6, , , », ., , , Offset , , – , .



— ?



: – . , , , , , , . , , , - . , , « , - ». , , , , , , . , – , , . . , .



Stream API



— Java 8. Stream', Stream API, Bulk Data Operations, . ? . , , , , , – , ? Stream' - ?



: , , Java 8, Stream', JDK 9 . , , , , , JDK 8. Stream' , , , . - , .



. , , , , Stream API . , , .



— , Stream API (Collections) API?



: , Stream API API Stream API , , Stream . : , ? , . , , , , , .



, , , , , : 100 ( , — .. apangin ), , , 99%. 100 , . 10 , 
 .



— 100 – ?



: , . Stream API , . hotspot JDK. , , , , , , , .







— . , , , Oracle , Sun, OpenJDK, . , Oracle , , - , , , , , , , , - , . . – , , , . , , ?



: - , , . , 100 , , . , . , , , , , , , -, , , , . – , , , , , , , , , , , , Java, . , .



— , ?



: , .



— , , ?



: Oracle Labs, , High Performance, High Concurrency . Oracle Labs – , , , , , .



— , , . GC – , – , Stream' – , VM – , JIT – ...



: ? – . — . . computer science, .







— Java, , Oracle Java SE Performance Team. , , , .



: . , , JDK, , . : , . : , , - , . , , .



— – ?



: , .



— ?



: Lambda, Jigsaw, Application Data Sharing. String - . - G1 Garbage Collector.



— performance-, (, , )? , concurrency-interest , . community, ?



: : , . , , Hotspot, - , . - OpenJDK mailing list , . , Hotspot Class Libraries, , . , - , , , , , , .



— 




: , .



— , , , ?



: , , , - Hotspot, , , - , . Oracle, , , , , , , , , , .







— , ? - ? Java, - ?



: .



— ? , , , , Java – , , , . , ?



: . , - Highload, – . , , , . , a) , , b) , , c) , . , . , , . , , Java SE , 10 .



— , , ?



: , , . , , Garbage Collector Class Libraries, , . , - , , , . , . , .



— , Oracle Java , VM? , - , ?



: – . - , , - .







— , , , Java- Rocket Science, , , , , , Google V8, , .NET, ?



: .NET. . Google V8 – .



— , JVM- Dalvik . , – , VM . , Android', VM- ?



: – . , , , - . Java, .



— , - , , , , , - .



: . , .



— , , , .



: API , . , , API, , . , , , . API from scratch, , . .



JVM



— , 
 , – , - .



: . .



— Oracle ?



: -?



— ? 20 VM , . VM- Oracle JDK? .



: Embedded VM, embedded, , .



— Hotspot?



: Hotspot, Embedded Hotspot, .



— footprint - ?



: , .



— ARM, ?



: ARM VM ARM. , Hotspot. JRockit, - . , , , . , , -, , JRockit Java 6.



— JRockit?



: .



— 2010 – Sun Oracle, JRockit Hotspot, - , , , , ? ?



: Oracle, Oracle , . , . – .



— Hotspot, JRockit.



: .



— ? , , , , , , .



: , .



— , ? , .



: . , , , . . , « Hotspot JRockit», 70-80%, , . : « JRockit, Hotspot», – . : « JRockit Hotspot, ?». , , , , , , . , , Hotspot, QA (00:48:34), , JRockit Hotspot, .



— Metaspace, Flight Recorder Mission Control. , JRockit Hotspot?



: , , , , , , JRockit. 100% , 




— ?



: . , VM .



— , JIT-, C2-, , ? , JIT - .



: , , , JIT , JIT- C2. , - , , . -, , , . – . , , .



— ?



: , , . – -, . .



— ?



: , , , , . C C++ .



— ? Java?



: , Graal – , , , .



— , , , .



: . , Oracle. , GPU , . , – . , , , Hotspot, .

— GC. Shenandoah, RedHat . - , ?



: , .



— ? ?



: , RedHat Shenandoah Hotspot, - .



— , Garbage First Collector, , CMS Collector. , , , , ?



: , , . – «»



— Garbage First , , , , ?



: , Garbage First, , . Java One , Garbage First. Java One, . , , , : « , ?», .



, Garbage First , - . , , - . , Garbage First . , .

? -, CMS- , . , , : «, , , – ». , Garbage First , . , Garbage First, , – - . – Java 7 Java 8, Java 7




— end of life
 , .



: - . – .



— . , .



: : , , « . ? . ».



— , , , , - , , , . GC? , , , . Garbage First , . , . , . ?



: , , . , – «». , . 10 . , , , . , , , , «». , , , , , , . , , . Java Hotspot, Garbage Collector, , , - – , – , , , , .



— . , , . – Hotspot, GC, Runtime, , – , , -, , – , - , , , , . , GC – – , – .



: . , , , , , , - , , , , , - : « 60 /», . ?



— – ?



: . 60 /, 60 /, , ? , . , , , , , - , , CMS- , , -, , .



— , , ...



: . , « , . , ».



— ?



: .



— , , , , , , , «» , , , – - . , , , , , Runtime ?



: , -, , , Runtime , .



. , Runtime, , , , , , , . , 100 . , , : « , , , , , ». , , , , , , . , , , , . . , , - , – .



JPoint



— , JPoint . , . , , ? , ?



: - , . , , , , .



, «», , , , , , , - , .. , , , -. , - , , , . , , , , .



— , , , - ?



: , . , . , , 40% . , , , , , .







— - .



: , : , , , .



PS:

, , .

JPoint — .



All Articles