最強JVM系関数型 論理プログラミング言語、 その名は Flix 第五関数型プログラミング(仮)の会 2024-01-26 knih The Flix Programming Language
最強JVM系関数型 論理プログラミング言語、 その名は Flix 第五関数型プログラミング(仮)の会 2024-01-26 knih The Flix Programming Language
こんにちは。齋藤です。 今回のこの記事はJava アドベントカレンダー 2017 4日目に向けた記事です。 今日はJMXと格闘した記録をここに書いておきます。 今回は以下の内容について記述します。 ローカルのDockerコンテナ上に立ち上げたJVMに対して JMX接続する EC2上に立ち上げたJVMに対して JMX接続する EC2上のDockerコンテナ上に立ち上げたJVMに対して JMX接続する 今回JMX接続先に利用するのはElasticsearchです。 やっていきます。 ローカルのDockerコンテナ上に立ち上げたJVMに対して JMX接続する まずは手始めに、簡単なところから攻めていきます。 次のコマンドでElasticsearchを起動します。 docker run -d -it -e "ES_JAVA_OPTS= -Djava.rmi.server.hostname=127.
RubyのJIT開発でやろうと思ってることが大体 @_ko1 さんの作業待ちでブロックしていて暇なので何かを書こうと思い、JVMを書くことにした。 まだその辺のアプリを気軽に動かせるレベルでは全然ないが、別に秘密裏に開発する必要もないと思ったので公開した。 github.com これの紹介と、現時点で学べたことをこの記事に記録しておく。 何故JVMなのか 仕事でJVM言語を使っている 僕が所属しているTreasure Dataでは、大雑把に言うと本番サーバーのサービスは大体Ruby, Java, Scala, Kotlinで書かれている*1ので、既にRubyのVMはある程度わかる*2ことを考えると、JVMさえ理解してしまえば社内の主要な言語評価系を抑えたことになり、運用面で活躍の機会が増える気がしている。 また、自分が最近一番書いているのはKotlinなのだが、JVMで動かしていることに由
JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られています。 しかし、設定しておかないとパフォーマンスにそのまま影響すると分かるものを調べないのは裸で戦場に赴くようなものです。*2 どんな項目をどう変更すれば良いのか知っていることは重要な武器なのです。 なぜ調べるのか 今回、チューニングポイントを調べるにあたって、私のモチベーションはどこにあるのかを考えると、以下の要件を満たしたいということがあげられます。 アプリケーションとして求められる品質水準として動作する → 性能目標 異常時に事象を追うことができる ここでいう品質水準・異常とは、パフォーマンスが明らかに低い、アプリケーションがクラッシュす
見て分かるとおり、プログラミング言語としてScalaやCeylon、Javaな人にはお馴染みのSpring BootやMavenなどもインストールできます。 これらをSDKMANでインストールすれば、バージョンも簡単に切り替えられますし、パスもわざわざ自分で通す必要がありません。 全てのファイルは$HOME/.sdkmanとうディレクトリに格納されるので、システム環境を汚すこともありません。 各プロダクトで新しいバージョンが出るとかなり早めにSDKMANから利用できるようになります。(というかだいたい即日) 先ほどのGithubのREADMEに有ります。 2015年12月22日現在ではcurl -s api.sdkman.io | bashというコマンドを実行すればOKです。 インストールが終わったら、ターミナルの再起動か、source .sdkman/bin/sdkman-init.sh
The Software Development Kit Manager Meet SDKMAN! – your reliable companion for effortlessly managing multiple Software Development Kits on Unix systems. Imagine having different versions of SDKs and needing a stress-free way to switch between them. SDKMAN! steps in with its easy-to-use Command Line Interface (CLI) and API. Formerly known as GVM, the Groovy enVironment Manager, SDKMAN! draws inspi
The Twelve-Factor App is a recent methodology (and/or a manifesto) for writing web applications that, hopefully, is getting quite popular. Although I don’t agree 100% with the recommendations, I'll quickly go through all 12 factors and discuss them from the perspective of the Java ecosystem, mentioning the absolute “musts” and the points where I disagree. For more, visit the 12factor.net site. Cod
メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ...バグだらけのWebアプリケーションを使ってバグを理解するJavaバグ脆弱性トラブルシューティングjconsole 概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVM
Java VMで監視すべき4つのポイント 前回は、システム運用者がJava VM(JVM)、アプリケーションサーバ、Javaアプリケーションから、ログ、JMXとMBean、ダンプを使用して情報を取得する方法を紹介しました。今回と次回では、JVMからどのような情報を最低限取得するべきか、詳細を紹介します。 システム運用者は、JVMが滞りなくアプリケーションを支援できているか、アプリケーションが動いているかを確認する必要があります。JVMは内部で管理しているさまざまなリソースに関する情報を持っていますが、システム運用者がそれらをすべてを監視することは不可能です。そこで、たくさんある情報の中から、次の4つのポイントに絞ってJVMの動きを監視します。 JVMがアプリケーションを中断することなく実行できているか JVMがアプリケーションのリソースを奪っていないか OSのリソースが十分に割り当てら
Brendan Gregg (NETFLIX の Senior Performance Architect) 作の Java Mixed-Mode Flame Graphs を使うと Java のプロセスが CPU ネックのケースで、Java アプリケーションコード、JVM(HotSpot VM)、Linux Kernel のどのレイヤーのどの関数がボトルネックになっているかを簡単に特定することができます。 以下は GitHub - martint/jittest: Demonstrate JIT compiler issue in java 7 のワークロードを実行して Flame Graphs で可視化したものです。 以下は Java One 2015 での Brendan Gregg のスライドです(YouTube もあります)。 JavaOne 2015 Java Mixed-Mo
今回も前回の記事につづき、Java8による変更点で未だあまり紹介されていないポイントを記事にしようと思う。 今回はJava8のHotSpotVMの話。Java8ではJEP122が取り込まれ、VMのメモリモデルが変更された。JEP122のタイトル「Remove the Permanent Generation」から想像できるとおり、Java8のHotSpotVMからは従来のPermanent領域が無くなった。 なぜ、こういった変更が行われたのだろうか?また、元々Permanent領域に格納されていた情報は何処にいってしまったのか?JVM付属のツールにどういった影響があるのか? 今回の記事ではこの点をまとめていこうと思う。 なお、HotSpotVMのメモリモデルについて詳しくない方は、先にこちらの項番(「補足 – HotSpotVMのメモリ構造概説)を読んでいただくとスムーズに読み進められるだ
Daniel Mitterdorfer, comSysto GmbH @dmitterd Behold! It will get scary. Topics Illusions by (J)VMs Interpreter JIT Compiler Memory Illusions Based on A JVM Does That??? Write Once, Run Anywhere One "Binary" for All Platforms Consistent Memory Model (Java Memory Model) Consistent Thread Model Bytecodes Are Fast (JITing) Infinite Heap (Garbage Collection) What "is" a JVM? The JVM is specified in The
本書ではJVMのチューニングとJavaプラットフォームでの問題解決の双方からJavaパフォーマンスの「アート」と「サイエンス」を明らかにします。Javaアプリケーションのテスト手法やベンチマーク測定、パフォーマンス分析に必須のモニタリングツールを学んだうえで、さまざまな性能改善について議論します。JITコンパイル、ガベージコレクションというチューニングが大きな役割を果たす2つの仕組みについて最初に考察します。続いて、Javaプラットフォームのさまざまな側面で高いパフォーマンスを発揮するためのベストプラクティスを紹介します。具体的には、Javaのヒープメモリ、ネイティブメモリ、スレッド、Java EEのAPI、JPAとJDBC、そしてJava SEのAPIでのヒントを取り上げます。Java 8対応。 目次 監訳者まえがき まえがき 1章 イントロダクション 1.1 概要 1.2 プラットフォ
3/7(土)はJVM のいろはにほ - 私はこうやってJVM好きになった話 -に参加したよ。 参加っていうか運営も担当してたんだっけな? 会場はまぁや姉(@maaya8585)の勤める株式会社ALBERTさん〜! 人間用の会社なんだけど、熊いた。私も会社に大きなパンダが欲しい。 熊と待ってる!白と金のワンピース着てきた(たろうさんに言われた)。 #javajo pic.twitter.com/8yDkL9Yk6G — よこな人生ハズチェンジド (@ihcomega) 2015, 3月 7 講師は@sugarlifeさん・・・!!! 資料はコチラ↓ JVM のいろはにほ #javajo from Yuji Kubota でね!でねでね!すっごい楽しかった! 勉強会の間ずっと話についていけて、気軽に質問できて、夢中で聞けた! 内容はトゥギャってありました。ありがとうございます! (つぶやいてる
PPLサマースクール2016「商用Java処理系の研究開発」のパート2です. http://ppl.jssst.or.jp/index.php?ss2016 Java言語処理系の実装について詳説する.まずJava仮想マシンの概要について述べ,その主要な構成要素として,クラス管理とインタープリタ,ヒープ管理とガベージコレクション,スレッド管理と同期機構,JITコンパイラとの連携,などについて説明する.性能改善のために行った各種手法についても触れる. 他のパート 1 Javaの登場と発展 http://www.slideshare.net/Tamiya_Onodera/java-66081108 2 Java仮想マシンの実装技術 http://www.slideshare.net/KiyokuniKawachiya/java-66003903 3 Java Just-In-Timeコンパイラの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く