タグ

javaに関するjoker1007のブックマーク (40)

  • JBM: General JVM blocking monitor powered by eBPF and async-profiler

    LINEのKafkaチームでは、1兆件/day以上のメッセージを取り扱う世界最大規模のKafkaクラスタを運用しています。 我々がこれまでに直面したパフォーマンスに関連した問題の内、最も典型的なのはJVMのあるスレッドが何かしらの理由によりブロックしてしまう、ということに起因しています。 時には、あるアプリケーションスレッドがI/Oの完了を待つ間ブロックしていた、というような単純なものですが、場合によっては、safepoint中に行われた意図しないI/Oや、それに関連したlock競合によりJVM全体がブロックされ、所謂STW(Stop-the-World)になってしまうケースもありました。 そのような問題を数多く経験した後、JBM - JVM Blocking Monitor (https://github.com/kawamuray/jbm) というツールを開発するに至りました。 JBM

    JBM: General JVM blocking monitor powered by eBPF and async-profiler
  • Java 19新機能まとめ - Qiita

    Java 19が2022/9/20にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2022-September/006933.html 今回、正式導入された機能がほとんどありませんが、Record PatternsやVirtual Threadは注目すべき機能です。 こちらの配信で解説しています。 詳細はこちら JDK 19 Release Notes Java SE 19 Platform JSR 394 OpenJDK JDK 19 GA Release APIドキュメントはこちら Overview (Java SE 19 & JDK 19) 追加されたAPIまとめはこちら https://docs.oracle.com/en/java/javase/19/docs/api/new-list.html APIの差分はこちら。

    Java 19新機能まとめ - Qiita
  • JVMアプリケーションを運用する際のメジャーどころチューニングポイントメモ - yoskhdia’s diary

    JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られています。 しかし、設定しておかないとパフォーマンスにそのまま影響すると分かるものを調べないのは裸で戦場に赴くようなものです。*2 どんな項目をどう変更すれば良いのか知っていることは重要な武器なのです。 なぜ調べるのか 今回、チューニングポイントを調べるにあたって、私のモチベーションはどこにあるのかを考えると、以下の要件を満たしたいということがあげられます。 アプリケーションとして求められる品質水準として動作する → 性能目標 異常時に事象を追うことができる ここでいう品質水準・異常とは、パフォーマンスが明らかに低い、アプリケーションがクラッシュす

    JVMアプリケーションを運用する際のメジャーどころチューニングポイントメモ - yoskhdia’s diary
    joker1007
    joker1007 2021/04/10
    まだまだJVMは不慣れなので参考になる。
  • Profiling JVM Applications in Production

    Profiling JVM Applications in Production Sasha Goldshtein CTO, Sela Group @goldshtn github.com/goldshtn https://s.sashag.net/srecon0318 Workshop Introduction • Mission: Apply modern, low-overhead, production-ready tools to monitor and improve JVM application performance on Linux • Objectives: qIdentifying overloaded resources qProfiling for CPU bottlenecks qVisualizing and exploring stack traces u

  • Home - Micronaut Framework

    Questions about Micronaut Foundation sponsorship? Please complete this form, and we’ll follow up with you shortly. A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications

    Home - Micronaut Framework
  • ざっくりわかった気になるモダンGC入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!@yokotaso です! 2018/05/26のJJUG CCC 2018で「ざっくりわかった気になるモダンGC入門」というタイトルで登壇させていただきました。 現在開発中の新しいGCアルゴリズムをざっくり理解することをテーマに発表しました。 発表練習用に作ったカンペの内容を公開します。ブックマークコメントでもツイートでも感想を書いていただけると喜びます! 発表資料は、speakerdeck にあります。はじまり〜はじまり〜 はじめに 今日はざっくりわかった気になるモダンGC入門というお話をさせていただきます。 現在開発中のGCアルゴリズムの全体像を理解してもらうことを目的としたセッションです。よろしくおねがいします。 さて今日のアジェンダですが、まず簡単にこれまでのGCを復習した後に新しいGCが必要になってきた背景について少し話します。 次にShenandoahGC、ZGC、E

    ざっくりわかった気になるモダンGC入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
    joker1007
    joker1007 2018/09/03
    なるほど、分かった気になる。
  • jar-dependencies を使って jruby gem (or アプリケーション) の jar 依存を解決する - Qiita

    jar-dependencies を利用すると maven レポジトリから jar をその依存も含めてダウンロードして、jar の依存解決をすることができる。もちろん、バージョン指定もできる。なお、jar-dependencies gemjruby にデフォルトでバンドルされている。 小話 最初は mkristian/jbundler が良さそうと思って使っていたのだが、どうやら mkristian/jar-dependencies が jruby にデフォルトでバンドルされるようになり、こちらがスタンダードになった模様。 gem の場合 gemリリース時にjarをバンドルしてしまいたい場合 gem に jar を入れ込んでリリースしてしまう方法 https://github.com/mkristian/jar-dependencies#vendoring-your-jars-bef

    jar-dependencies を使って jruby gem (or アプリケーション) の jar 依存を解決する - Qiita
  • Javaのログ出力: 道具と考え方

    Concepts and tools of logging in Java. Javaにおけるログ出力の考え方と道具について説明. CC Attribution Licenseの元に公開します.Read less

    Javaのログ出力: 道具と考え方
    joker1007
    joker1007 2015/10/15
    Scala初めて触った時に、ログ出力ライブラリはJavaのを使うしかなくて、Javaのログ出力周りを調べて絶望した記憶が甦ってきた。
  • Reactive Streams 入門 #jjug

    2015/06/24 JJUG ナイトセミナー 「Reactive Streams特集」 by @okapies https://jjug.doorkeeper.jp/events/26547 補足記事: http://okapies.hateblo.jp/entry/2015/06/26/024505

    Reactive Streams 入門 #jjug
  • 会社員になってJJUG CCCのスポンサーセッションで発表してきた - きしだのHatena

    2月1日からLINE Fukuoka株式会社というところで会社員をやっております。 ということで、JJUG CCC 2015 Springのスポンサーをやらせてもらって、スポンサーセッションで登壇してきました。 だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。 from なおき きしだ ※4/15 15:41追記 P37の「近所の定屋」は今週値上げして490円になりました 内容としては、Javaエンジニア養成読の記事をベースに、Java歴史について、技術トレンドや経済的な情勢、そしてハードウェアの事情から捉えてみて、いろいろな流れのなかで影響を受けてきたことを示しつつ、コミュニティがどう変遷してきたか、個人的にこの先をどう考えて動いてたかってのを、ふんわりと説明したかった感じです。 ということで、タイトルにある「誰も教えてくれないJavaの世界」というのは、そう

    会社員になってJJUG CCCのスポンサーセッションで発表してきた - きしだのHatena
    joker1007
    joker1007 2015/04/15
    零細企業会社員でフリーランスとほぼ変わらない仕事してたんで、いっそ一回フリーランスになった方が経験の幅が広がると思ってフリーランスになってみたけど、裁量労働の会社員の方がどう考えても楽だと思う。
  • Javaパフォーマンス

    書ではJVMのチューニングとJavaプラットフォームでの問題解決の双方からJavaパフォーマンスの「アート」と「サイエンス」を明らかにします。Javaアプリケーションのテスト手法やベンチマーク測定、パフォーマンス分析に必須のモニタリングツールを学んだうえで、さまざまな性能改善について議論します。JITコンパイル、ガベージコレクションというチューニングが大きな役割を果たす2つの仕組みについて最初に考察します。続いて、Javaプラットフォームのさまざまな側面で高いパフォーマンスを発揮するためのベストプラクティスを紹介します。具体的には、Javaのヒープメモリ、ネイティブメモリ、スレッド、Java EEのAPI、JPAとJDBC、そしてJava SEのAPIでのヒントを取り上げます。Java 8対応。 目次 監訳者まえがき まえがき 1章 イントロダクション 1.1 概要 1.2 プラットフォ

    Javaパフォーマンス
    joker1007
    joker1007 2015/03/25
    JavaはやってないのだがJVMチューニングはどっかで勉強しとかんといかんなあと思ってたので、ちょっと欲しいな。
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    joker1007
    joker1007 2014/08/11
    使う度に忘れるので、毎回ググっている。
  • IntelliJ IDEA 13.1 EAPのChronon Debuggerをお試しください! | Post Blog

    IntelliJ IDEAの次期バージョン、13.1ではChronon Debugger をプラグインでサポートしいます。既にEAPよりお試し頂けます。ご存じでない方のために説明しますと、Chronon はJavaプログラムの動作状況を記録して、後から解析することができる革新的ツールです。複雑なバグを追跡するのにとても有効です。 Chrononは商用ツールで、通常はライセンスを購入する必要がありいますが、なんとIntelliJ IDEA 13.1 Ultimateをお使いの方は完全に無料でご利用いただけます。 プラグインのインストール Chrononを有効にするにはまずSettings → Plugins → Install JetBrains pluginよりChrononを選択肢、インストールしてください。 Chronon Include/Excludeパターン Chrononはcod

    IntelliJ IDEA 13.1 EAPのChronon Debuggerをお試しください! | Post Blog
    joker1007
    joker1007 2014/03/10
    巻き戻せるのすげーな…。Scalaとかでも使えたりしないだろうか。
  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    友人から「しんぺいさん DI について書いてほしい」みたいな話をだいぶ前からされてたんだけど書く気力ずっとなかった。でも仕事の気分転換にちょっとずつ書いたやつがいい量まとまったので公開するです。たいしたことは書いてないっていうか知ってるひとにはあたりまえのことしか書いてない。サンプルコードはわたしの趣味Scala で書いてあるが、Java が読めればなんとなく読めると思います。 DI ってなに Dependency Injection、日語で言えば依存性の注入です。おしまい。 で記事を終えてもいいんだけど、そもそも依存性とはなんなのか、それを注入するとはどういうことなのか、なぜ DI が必要となるのかみたいな話をこれからします。 そもそも依存性ってなあに 例を出します。入力された文字列をもとにおみくじをひいて、その結果を twitter に投稿するプログラムにしましょう。 まずは普通

    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    joker1007
    joker1007 2014/02/14
    つい先日、何も考えずにRubyの感覚でScalaのコードを書いていて、あれモックする方法ねーじゃんってなってしまい、ああなるほどだからDIとかが必要なんだな、と頭打った所である。
  • Javaを使うメリットはありますか? はい、それはもちろんあるに決まってます! - ブログなんだよもん

    /.Jに聞け:Javaを使うメリットは? | スラッシュドット・ジャパン デベロッパー え、ありますよね? Webアプリに限っても。 というか、上げてるデメリットが現代的じゃないなぁ... 個人的には少数精鋭チームを作れてないならJavaはかなり有りな選択だと思っています。 ※ Java使ってるメンバーがスキルが低いのではなく、LL系で高品質なものを作るのにスキルが必要で、例えスキルがあっても多人数開発にはあまり向かない、という意図 というわけで、自分が思うLL系言語ではなく、JavaでWebアプリを開発するメリットを書いてみます。 静的型づけ言語 HaskellとかOCamlとかScalaとか、その辺の超強力な型付け言語から見ると弱いですが、多くのLLと違い静的型付けな事が特徴です。 これは型というメタ情報を言語仕様に明確に取り込んでいるということです。以下のメリットがあります。 人間が

    Javaを使うメリットはありますか? はい、それはもちろんあるに決まってます! - ブログなんだよもん
    joker1007
    joker1007 2014/02/02
    静的解析の強力さは羨しい所あるなあ…。でも、ちゃんとJava 1.7とか1.8で開発できる環境が一杯あるんだろうか、という点が気になる。結局少数精鋭にならないかな。
  • Java8のOptionalがモナドになったよ! - きしだのHatena

    Java8にはOptionalクラスが導入されたのですが、5月にエントリを書いた時点ではモナドではありませんでした。 Java8でのプログラムの構造を変えるOptional、ただしモナドではない それが、5月末にどうもソースにモナドに必要なメソッドが追加されたらしいということになって、いつ使えるようになるか待っていたら、いつの間にか使えるようになっていました。 Optional (Java Platform SE 8 b101) こちらからダウンロードできます。 JDK8 Early Access Releases ― Project Kenai 他にもいくつか便利メソッドが追加されたおかげで、このようなコードが書けるようになりました。 String str = "abcd"; Optional.ofNullable(str) .map(st -> st.toUpperCase()) .f

    Java8のOptionalがモナドになったよ! - きしだのHatena
    joker1007
    joker1007 2013/08/05
    なんかJavaがモダンになってきてるぞ。
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • Apache POIでExcelを操作

    Apache POI(以前はJakarta POIと呼ばれていました)はJavaアプリケーションからExcelやWordなどのMicrosoft製品のフォーマットファイルを読み書きするためのAPIです。 今回は特にExcelのファイルを対象として試していきますが、Excelのファイルの読み書きではApache POIの中のHSSFとXSSFを使用します。HSSFExcel2003までのファイルフォーマットに対応したもので、XSSFExcel2007のOOXML(.xlsx)ファイルフォーマットに対応したものです。 Apache POI 3.6のダウンロード Apache POI 3.6のインストール クラスパスの設定

  • 究極の問題解析ツール、逆コンパイラJD-Eclipseとは

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは:ユカイ、ツーカイ、カイハツ環境!(13)(1/2 ページ) ソースコードがなくても大丈夫? 開発を行っている際に、利用しているミドルウェアやライブラリの内部で例外が発生して、そのクラスのソースコードを調べたくなることはありませんか? 例えば、以下のような場合です。 ほかのチームが開発したモジュールのメソッドが仕様通りの動作をしない仕様通りの動作をしない 処理に時間がかかっているが、何の処理に時間がかかっているのか分からない何の処理に時間がかかっているのか分からない アプリケーションが応答しなくなり、どこかで停止しているのだが、どこで停止しているか分からないどこで停止しているか分からない ソースコードがないため、“やきもき”していませんか? 開発者であれば、誰しもこのような経験をしたことがあると思います。ソースコードがあれば、コード

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは
  • Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)

    はじめに 今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世

    Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)