タグ

javaに関するpwtwjmpmgwgのブックマーク (6)

  • 知って使えるJVMの概要とヒープダンプ取得から解析まで

    連載では、Javaプログラムの実行を担うJava仮想マシン(JVM)について、その情報を取得するさまざまなツールの利用を通じて理解を深めます。JVMやそのツールに関する知識はアプリケーションが正常に動作しているときではなく、障害など異常が起こった際に大いに活躍します。それだけでなく、Javaプログラムを動作させる仕組みを知ることはソフトウェアを開発するエンジニアの皆さんの知的な部分を刺激するとともに、シニアレベルのJavaエンジニアへと進む第一歩となります。連載第1回はJVMの概要を解説し、模擬的なトラブルシュート体験としてヒープダンプを取得して解析します。 はじめに 今後もアプリケーションをJavaで開発、運用していくことを前提にすると、そうした業務に携わる方は次のようなことを学び続けるでしょう。 Javaの半年ごとのバージョンアップに追随して新機能などを学ぶ アーキテクチャなどでの新

    知って使えるJVMの概要とヒープダンプ取得から解析まで
  • 「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita

    はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま

    「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita
  • AWS LambdaのコンテナサポートをJavaで試してみた。 - Qiita

    AWS LambdaとServerless Advent Calendar 2020 12/8分の記事です。 COVID-19の影響で、オンライン開催となったAWS re:Invent 2020。 初日のキーノートで、AWS Lambdaがコンテナをサポートするという発表がありました。 New for AWS Lambda – Container Image Support なんかやってみたいなーと思って、昔Javaをやっていたので、 Java用のコンテナイメージ使って、Lambda関数を作ってみました。 どんなコンテナイメージあるの? コンテナイメージ(Base Image)にはどんなのがあるのかと、 DockerHubをみると、以下のものがあるようですね。 amazon/aws-lambda-nodejs amazon/aws-lambda-python amazon/aws-lamb

    AWS LambdaのコンテナサポートをJavaで試してみた。 - Qiita
  • Javaのラムダ式やStream APIの可読性を向上させるテクニック - Qiita

    Advent Calendarの3日目です 2日目は @exotic-toybox さんによる「Java8の日時APIにおける期間の重複判定」でした。 はじめに Java 8 でラムダ式や Stream API が導入されてから随分経ちましたが、いまだに読みづらいコードに出会うことがあります。 稿では可読性を向上させるためのテクニックをいくつかご紹介します。 ​ 以降のサンプルコードの動作確認は AdoptOpenJDK 14.0.2 で行いました。​ ロジックを抽出してストリームをすっきりさせる filter や map などのメソッドに渡すラムダ式が長くなると、ストリーム処理の全体の見通しが悪くなります。​ // かさばるの一覧 List<String> bookTitles = null; ​ // BEFORE bookTitles = ownedBooks.stream()

    Javaのラムダ式やStream APIの可読性を向上させるテクニック - Qiita
  • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

    Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

    Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
  • 西暦1年は閏年か? - プログラマーの脳みそ

    閏年(うるうどし)の話題。 Twitterで見かけた話題で「西暦1年は閏年かどうかぱっとわからん人おる?」という些か煽り気味のツイートを見かけたのだけども、反射的に「閏年じゃないに決まってるじゃん」とぱっと答えてしまわないだろうか。当にそうだろうか? そう単純な話なのだろうか? プログラミングを学んでカレンダーを扱うことを学ぶ際に置閏法についても簡単に触れられることがある。置閏法というのは閏年や閏月(太陰暦では1年が13ヵ月になるケースがあり追加の月を閏月と呼ぶ)をどのようなルールで挿入するかという話で、まさにアルゴリズムであるからプログラミングの話題と相性がいい。 置閏法 現代の西暦の置閏法(ちじゅんほう)は 西暦を 400 で割り切れる年は閏年 上記以外で西暦を 100 で割り切れる年は平年 上記以外で西暦を 4 で割り切れる年は閏年 上記以外は平年 といった手続きで閏年(つまり2月

    西暦1年は閏年か? - プログラマーの脳みそ
    pwtwjmpmgwg
    pwtwjmpmgwg 2020/10/31
    西暦の経緯や閏年の考え方
  • 1