補足: http://techlog.mvrck.co.jp/entry/todesking-runtime-jvm-bytecode-optimization/
![実行時におけるJVMバイトコード最適化手法](https://cdn-ak-scissors.b.st-hatena.com/image/square/0d45e824f2192bf1d12a81c4c3e3804059821dde/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F579cd4fde36e40e980e7171bacee4943%2Fslide_0.jpg%3F6046027)
Apache Spark 1.5正式版がリリース。JavaVMのオーバーヘッドを改善する「Project Tungsten」で、さらに高速に Apache Sparkは、高いスループットを実現するバッチ処理と小さなレイテンシが求められるリアルタイム性の高い処理のいずれにも対応することを目指して開発された、大規模分散処理基盤です。 インメモリ処理や中間データなどをできるだけ生成させない効率的なスケジューラなどを備え、Scala、Java、R、Pythonなどに対応するなどが特長。 Project Tungstenによる高速化 Apache Spark 1.5の最大の特徴は「Project Tungsten」による実行エンジンの高速化です。 Apache SparkはJavaVMを用いて処理を行っていますが、JavaVMが備えるガベージコレクションやメモリ管理などの仕組みは、Apache Sp
いや、ネタとかじゃないんで。 AndroidJavaそろそろ限界問題 以前の記事にも書いたけど、最近の関数型プログラミングやRxJavaなどの流れの中で、ラムダも書けない言語では限界を感じ、何かAndroid開発を救ってくれる魔法のアイテムを探す必要に迫られていました。 そして行き着いたのがKotlinでした。 Kotlinとは Kotlinはプログラミング言語です。 JVM言語で、いわゆるaltJavaの一つです。 開発したのはAndroid StudioのベースとなっているIntelliJを開発しているJetBrains社で、2011年に生まれたばかりのとても幼い子です。 特徴は型推論、null安全、高階関数、可愛い名前などで、Javaより書きやすく関数的で、尚且つScalaほど複雑にはならない事を目指しているようです。 最近ではSwiftに似ていると言われるようです。 なぜKotli
以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -
なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く