
この号では
-Javaの新機能:JDK9の
不変コレクション 、JDK8の
メモリ不足を処理
するための新しいオプション
-x86で測定値を
登録する方法は?
-オープンソースが来ています:IT業界の巨人は新しいフレームワークをレイアウトしています
-「私の死のうわさは非常に誇張されています」:Scala防衛に関する
Twitter-クラウド内のテラバイトのRAM:
Amazonからの新しいオファー
-Google HRは面接にどのように招待しますか?
...など
1.ニュース
1.1。 Java 9の不変コレクション
不変のコレクションがJDK9に
注がれました。 はい、シンプルではありませんが、コンパクトです! たとえば、Mapのキーと値のペアは通常の配列に格納され、その中にキーハッシュに従って配置されます。
元のJIRAチケット:
bugs.openjdk.java.net/browse/JDK-81392331.2。 Java 8のメモリ不足処理の新しいオプション
8u92 8の最後のリリース以降、2つの新しい
フラグCrashOnOutOfMemoryErrorと
ExitOnOutOfMemoryErrorが JVMに
表示されます。 両方のオプションは、最初のOutOfMemoryErrorが発生したときにJavaプロセスをクラッシュさせます。
非常に便利な機能。 OOMの場合、サーバーアプリケーションは非常に長い時間、外部の影響に応答しないことがあります。 この場合に彼らとできる唯一のことは、あなたの手でそれを釘付けすることです。 これらのオプションを使用すると、Javaプロセスは
自動的に終了し 、
CrashOnOutOfMemoryErrorの場合、クラッシュダンプも作成されます。
1.3。 LinkedInがAmbry分散ストレージのソースコードを開きます
LinkedIn規模の企業
がソースコードを
公開するとき、それは常に興味深いものです。 これにシステム
のアーキテクチャの
詳細な説明とその作成の歴史が付随する場合、それは二重に興味深いものです。
一言で言えば、Ambryは次のように機能します。

ソース:
engineering.linkedin.comしかし、真剣に、記事を必ず読んでください。 技術的な意思決定の動機とプロセスのこのような詳細な説明は、GitHubのドライソースを読むよりも100万倍も有用です。
記事の公開後しばらくして、
LinkedInのハッキングとパスワード漏洩に関する情報が表示されたことに興味が
あります 。 あなたの多くは、おそらくパスワードの変更を勧める幸福の手紙を受け取りました。 偶然ですか?
そうは思いません1.4。 Twitterは分散ログシステムDistributedLogのソースコードを公開しました
企業が規模を拡大しているとき...まあ、あなたはポイントを得ます。
リポジトリ:
github.com/twitter/distributedlogアーキテクチャの説明:
blog.twitter.com/2015/building-distributedlog-twitter-s-high-performance-replicated-log-service1.5。 TwitterでScalaはいくらですか?
死にかけているScalaのクロニクル。 Twitterエンジニアの
Stu Hoodは、Scalaで記述されたバックエンドシェアを50%と
評価しました。 良くも悪くも、生きているScalaかどうか-自分で決めてください。
このアクションのわずか1週間前に、Twitterが1株あたり13.90ドルまで絶対最小額をほぼ更新したのは興味深いことです。 偶然ですか?
そうは思いません1.6。 X1-新しいAmazon製品
Amazonは、新しいフラッグシップインスタンスX1のリリースを
発表しました 。 何を理解しますか-128コア、2Tb RAM、10Gbpsネットワーク。 会社は、SAP、Spark、およびその他の巨大なデザインをこれらのインスタンスに転送することを親切に提案しています。

出典:
www.businessinsider.comこれは鐘です。 そのような容量を積極的に使用するために、Amazonが非常に深刻な量をロールオフする必要があることは明らかです。 しかし、これはAmazon Web Servicesの営業利益
が数十パーセントで
測定されるときです。 それには数十年かかり、鉄はさらに安くなり、競争は増加し、マージンは低下し、サーバーハードウェアの購入は希少になります。
2.読む
2.1。 マーティントンプソンへのインタビュー
リンク :
https :
//www.infoq.com/interviews/thompson-high-performance-java/ネットワーク、プロファイラー、割り当て、パフォーマンスに関する興味深い会話。
2.2。 事後分析:有名なサービスとアプリケーションの崩壊の原因の分析
リンク :
https :
//github.com/danluu/post-mortemsAmazon、Google、Microsoftなどの一般的なサービスやアプリケーションのあらゆる種類のバグ、機能停止、その他の問題の原因の説明へのリンクを含む、非常に面白いリポジトリ
「データセンターBへのトラフィックが増加したため、データセンターAに
落雷が発生しましたが、
負荷のかかった状態で
しか再生され
ないソフトウェアの
同時実行バグがあり、その結果、サービスの半分が停止しました」 分散システムの抑制における人間の能力の限界について考えるようになります。
2.3。 C2コンパイラの内部に関する記事
リンク :
http :
//marcelinorc.com/2016/05/11/phases-of-the-java-hostpot-c2s-compiler/ハードコアのファン向け。 この記事では、C2がコードを分析する方法と、使用する具体的な最適化について説明します。 これにはすべて、対応する
OpenJDKソースへのリンクが提供されます。
リンク :
http :
//stackoverflow.com/questions/37240208/reordering-of-reads/37241534#37241534Aleksey Shipilevは、
Javaメモリモデルを無視すると、x86のようなかなり落ち着いたアーキテクチャでも予測不可能な結果を招く可能性があることを示してい
ます 。
合計ストア注文はあなたを節約しません。
3.知恵
3.1。 コードのライフサイクルについて
3.2。 ベンチマーク:GCの例の見事な数値または正確さ
3.3。 流通システムについて
3.4。 バグに対する態度について
3.5。 製品の最初のバージョンについて
4.ユーモア
4.1。 ハイリム右
Googleの人事は、雇用の問題を
解決しました。 今、彼らは特定の人の位置を作成します。

4.2。 マイクロサービスアーキテクチャへの切り替えの結果
4.3。 そして、オープングレーダーだけがこれを理解します。
問題: 前 - 次