タグ

javaに関するodzのブックマーク (210)

  • 目次 · 入門: JDK Flight Recoder

    目次はじめに1章 JDK Flight Recoderとは?1.1 JDK Flight Recorder 1.2 Javaにおけるパフォーマンス分析と障害診断 1.3 JFRの歴史 - JRockitからOpenJDKまで 1.4 JFRの動作環境とJMCのインストール 2章 JDK Flight Recorderのアーキテクチャ2.1 JFRのアーキテクチャ概要 2.2 JFRとオーバーヘッド 3章 JDK Flight Recorderの記録3.1 JDK Flight Recorderの記録 4章 JDK Mission Controlによる障害分析4.1 JFR/JMCで分析可能なメトリクス 4.2 Weblogic(WLDF)とJFR 4.3 ECIDと分散トレース 4.x ユースケース 4.x.1 ユースケース1 - バッチのボトルネック分析 4.x.2 ユースケース2 -

    odz
    odz 2020/11/07
  • Javaのコンテナのメモリ割り当ての考え方をまきさんに教えていただいたので記録 - Mitsuyuki.Shiiba

    何度か教えていただいているので、今度こそしっかり覚えておきたくて、まきさんからのコメントを記録。 ## メモリサイズの考え方 SpringBootのアプリをコンテナとして動かす場合には768MB以上必要で、1GBくらいは割り当てる必要があるのではないかという僕のコメントに対していただいたコメント。 それは不正確..Tomcatを使う場合は最大コネクション(スレッド)がデフォルト200で+50スレッドくらい余裕を見ると250M (-Xss1M)でデフォルトのReservervedCodeCacheSize 240MとDirectMemorySize 10M加えた上にMaxMetaSpaceSizeがざっくり50Mくらい足すと550Mくらい使ってこれHeapを足すとコンテナサイズ— Toshiaki Maki (@making) November 16, 2019 その前提であればHeap 2

    Javaのコンテナのメモリ割り当ての考え方をまきさんに教えていただいたので記録 - Mitsuyuki.Shiiba
    odz
    odz 2019/11/18
  • 実践クリーンアーキテクチャ with Java

    この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を

    実践クリーンアーキテクチャ with Java
  • LINEのOpenJDK導入レポート:互換性の確認から注意事項まで

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。私は、Service EngineeringチームでSRE(Service Reliability Engineer)の業務を担当しているYongChan Kwonです。チーム名や業務名から分かると思いますが、一つの業務を担当するよりは、サービスのライフサイクルにおいてインフラ、開発、サービス技術の間で発生しうる死角を補う役割を担っています。 2018年、オラクルのライセンス体系が変更され、2019年1月以降は無料でOracle JDKを使用できなくなりました。そこで、LINE内部ではOpenJDKへの移行に向けて必要事項や検討項目を事前にまとめるため、TF(task force)を立ち上げました。また、その作業内

    LINEのOpenJDK導入レポート:互換性の確認から注意事項まで
    odz
    odz 2019/05/18
  • ようやくSaStrutsを卒業してSpring bootデビューしたので良かった点と悪かった点を書いてみます - 文系プログラマによるTIPSブログ

    長い道のりでした・・・ 今回の記事は長文になります。 ありがとうSeasar。そしてさようなら。 次のフレームワークは Spring bootを使ってみて 良かった点 Spring STSが便利 application.ymlが便利 セッションレプリケーションが楽 ロガー周りが楽 Controllerが使いやすい actuatorのhealthcheckが便利 gzip圧縮転送が楽 Fully ececutable jarが楽 swaggerとの連携が楽 設定ファイルと定数クラスの紐付けが楽 静的リソースのバージョニングが便利 悪かった点 application.ymlで警告が出てしまうプロパティが有る Spring Batchが難しい 例外ハンドリング周りに注意 ログ設定まわりの混乱 domaとの連携に一手間必要 mime-typeにjsonpが無い jsonpに謎のコメントが混入する

    ようやくSaStrutsを卒業してSpring bootデビューしたので良かった点と悪かった点を書いてみます - 文系プログラマによるTIPSブログ
  • Java開発の性能改善! その3 ヒープダンプを取ろう - Qiita

    プロセスIDがわかったらjmapコマンドでダンプを取ります。 サーバのディスク容量に注意してください。 heapサイズを2GBとかに設定した場合は2GB以上のファイルが 生成されることがあります。 これで指定した場所にダンプファイルができます。 -dump:live,format=...というようにliveをつけるとGCが起きて コマンド実行時に活きているオブジェクトのみのダンプになるようです。 とりあえず今回はフルで取ります。 ヒープダンプの中身を解析をする 解析をするにはツールを使います。 java標準のjhatやMemory Analyzer、HeapAnalyzerなど いくつかありますが今回はMemory Analyzerを使います。 Eclipseベースなのでサイズの大きいダンプファイルを開く場合は MemoryAnalyzer.iniの設定でツール自体のヒープサイズを 増やす

    Java開発の性能改善! その3 ヒープダンプを取ろう - Qiita
    odz
    odz 2016/10/01
  • Java開発の性能改善! その2 GCログの解析とHeapの設定 - Qiita

    第2回です。 なかなか更新できる時間がないですが マイペースで書いていこうと思います。 ストックやフォローをして頂けると励みになります。 さて前回はGCの仕組みの概要説明とjstatでのモニタリングでした。 今回はCGログの分析をしてみようと思います。 JVMのGCログ設定 まずはGCログが取得できるように設定しないと始まりませんね。 以下のようなオプションをjavaの起動コマンドに付与すると GCの情報を取れるようになります。 -verbose:gc [GC 919089K->41941K(943744K), 0.2300771 secs] こんな感じのGCログが出ます。 -XX:+PrintGCDetails -XX:+PrintGCDateStamps [GC2015-12-10T07:06:41.209+0900: 308.418: [ParNew: 903392K->50610K

    Java開発の性能改善! その2 GCログの解析とHeapの設定 - Qiita
    odz
    odz 2016/10/01
  • Java開発の性能改善! その1 jstatによるヒープ/GCの確認 - Qiita

    JavaのWeb開発の開発後期になると性能試験や負荷試験を実施することになると思いますが、 そのフェーズになると色々な問題が起こることが多い。 今まで起きた問題と調査・解決方法をいくつかの回に分けて紹介しようと思います。 まずはメモリリーク。 長時間サーバを起動して運用していたり、負荷試験を実施するとメモリリークを起こすことがある。 ガベージコレクションのおさらい Javaのヒープは大きくnew領域(young領域)とold領域に分かれます。 new領域には生成されてすぐのオブジェクトが格納されてマイナーGCにて未使用になった際に開放されます。 マイナーGCを何度も繰り返されても開放されない(長く参照されている)オブジェクトは old領域へと移動され、こちらはメジャーGC(フルGC)で開放されます。(メジャーGCはnewとperm領域も開放。) もう少し細かく説明すると・・・ new領域は

    Java開発の性能改善! その1 jstatによるヒープ/GCの確認 - Qiita
    odz
    odz 2016/10/01
  • #javajo Java/Scala ではじめる機械学習

    https://javajo.doorkeeper.jp/events/27588 での発表資料です。

    #javajo Java/Scala ではじめる機械学習
  • JJUG CCC 2014 Fall でIntelliJ IDEAの使い方を教えてもらってきたよ! #jjug_ccc #jbugj - そこに仁義はあるのか(仮)

    IntelliJ IDEA、Jが大文字なの最近知った…。 ブログ書くの相当のんびりしてしまった…。 JJUG CCC 2014 Fall - 日Javaユーザーグループ | Doorkeeper のイベントで、サムライズムの@yusukeさんによるIntelliJ IDEAのハンズオンがあったので、参加してきました!! のんびりと2時からの参加だったよ!! ハンズオンの資料はこちら! 丁寧に書いてあって、ハンズオン参加しなかった人もやってみると良いのではなかろうか! yusuke/ideahandson · GitHub もともと知ってたこともあったけど、知らなかったうあああ!.。゚+.(・∀・)゚+.゚ってことがいっぱいで楽しかった!! コード補完 @yusukeさんから教えてもらいましたが、 後述のpsvmやforiのようになにもないところに呪文を書いて展開させるものをLive Te

    JJUG CCC 2014 Fall でIntelliJ IDEAの使い方を教えてもらってきたよ! #jjug_ccc #jbugj - そこに仁義はあるのか(仮)
    odz
    odz 2014/12/01
  • Functional Java

    Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. The library is intended for use in production a

    odz
    odz 2008/11/01
  • In-Memory Data Grid - Hazelcast - Home

    Hazelcast Platform 5.4 is now available, bringing cutting-edge solutions to meet today's data-intensive challenges head-on. Learn More

    In-Memory Data Grid - Hazelcast - Home
    odz
    odz 2008/10/28
  • JavaでTrieデータ構造を実装する

    WEB+DB PRESS vol.42の特集「アルゴリズム&データ構造」でもとりあげられていたTrie(とらい; p34-37)について調べてみたので、忘れないようにメモです。 Trie(s)というのは単語を辞書のなかから見つけ出すときに人がふつうに行っている探し方のアルゴリズムです。例えば、poolならまず、pのところに行って、次にoのところに行って、、、つまり、p -> o -> o -> lと探していきます。続いてprizeを見つけるとしたら、p -> r -> i -> z -> eですが、先頭の文字が同じpなので、pの付近からはずれたところから始めたりはしません。この二つの単語の場合pをprefixと見なすのがTrieです。poolとpoleだったらprefixはpoにのびていきます。prefixがのびていけばいくほど候補は減っていきます。ちょうどIDEのメソッド補完機能のように

    JavaでTrieデータ構造を実装する
    odz
    odz 2008/10/18
    Java での Trie
  • Sign in - Google Accounts

    odz
    odz 2008/10/16
  • Javaの性能を分析する10のツール | エンタープライズ | マイコミジャーナル

    JDK16 jconsoleの動作例 JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。 jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能 VisualVM - 高性能な

    odz
    odz 2008/08/02
  • FreeMarker Java Template Engine Library - Overview

    News 27 June 2013: FreeMarker 2.3.20 was released This version comes with better error messages, better boolean formatting, higher multi-core performance, and many other smaller improvements and fixes. See all the changes here... Download it here... (GAE-compatible binary here...) What is FreeMarker? FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to a

  • Javaウェブフレームワーク「Wicket」の使い方

    目次 目次 気持ちのいいウェブプログラミング Wicketの使いどころ Wicketの考え方 まずはダウンロード インストール おなじみの設定 - Javaサーブレットとしての設定 Wicketアプリケーションの作成 Pageクラスの作成 Wicketのモデルとモデルオブジェクト モデルへの値のセットと検証 フォーム全体の検証 メッセージを変える フォーム毎にメッセージファイルを持つ まとめ 次回は... ご意見などは... 気持ちのいいウェブプログラミング このページでは、ウェブ・アプリケーション・フレームワークWicketの使い方について紹介します。Wicketの特徴は「HTMLJavaだけですべてが完了する」ということでしょう。 Struts以降、ほとんどのウェブ・アプリケーション・フレームワークはJSP + Java + XMLで構成されて

  • jconch - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • Javaにvariant型を実装した - *「ふっかつのじゅもんがちがいます。」withぬこ

    最近Hadoopを使うために5〜6年ぶりにJavaをいじっています。 そんで、ちょっとばかり耐えがたいわけです。 例えばありがちな例題を挙げると、 ["google", "検索","開発"] のようなタグ(文字列)のリスト(でも配列でもなんでもいい)を受け取って [ {tag=>"google", enc=>'google'}, {tag=>"検索", enc=>'%E6%A4%9C%E7%B4%A2'}, {tag=>"開発", enc=>'%E9%96%8B%E7%99%BA'} ] のようなハッシュテーブルのリストに変換しなさい。 ただしパーセントエンコーディングを行う関数(でもメソッドでもなんでもいい) uri_encodingは与えられているものとする。 こんなこと、Webアプリケーションではよくやるじゃないですか。 んで、実際Perlなんかでは結構簡単に書けて #my @tag

    odz
    odz 2008/03/19
  • Java が使いにくいのは静的だからではない - kwatchの日記

    Java が使いにくい言語であるというのは、世界中の LL ファンが皆思っていることだろうから改めていうことでもないけど、使いにくいのは静的言語だからというのは間違っている。Java が使いにくいのは単に Java の設計者のセンスが悪かっただけであり、静的言語のせいではない。 たとえばこんなコード。 public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; }

    Java が使いにくいのは静的だからではない - kwatchの日記
    odz
    odz 2008/03/06