タグ

javaに関するayato0211のブックマーク (110)

  • CRaCを用いたJavaアプリケーションの起動高速化 - Candy, Vitamin or Painkiller

    検索エンジンプロダクトを一緒に開発してた同窓会 Advent Calendar 2023 の9日目です。 Javaアプリケーションの起動を高速化する技術として、Application CDSやGraalVM Native ImageによるAOTコンパイルなどがあります。 CRaC(Coordinated Restore at Checkpoint) もまた、Javaアプリケーションの起動高速化を目的としたOpenJDKのプロジェクトです。CRaCはLinuxのCRIUを利用し、実行中のJavaアプリケーションの状態をスナップショットとして保存します。スナップショットからはアプリケーションを高速に復元することができます。 今回はSpring Bootアプリケーションのスナップショットを作成し、スナップショットからアプリケーションを起動してみます。 CRaCをサポートするJDKのインストール

    CRaCを用いたJavaアプリケーションの起動高速化 - Candy, Vitamin or Painkiller
  • Inversion of Control コンテナと Dependency Injection パターン

    以下の文章は、Martin Fowler の「Inversion of Control Containers and the Dependency Injection pattern」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。 翻訳にあたっては、kdmsnr さんにご協力をいただきました。ありがとうございます。公開後の改訂履歴を記事の最後に記述しています。 Java コミュニティでは軽量コンテナが花盛りである。 軽量コンテナは、異なるプロジェクトのコンポーネントをひとまとまりのアプリケーションとして組み立てることを支援する。 このようなコンテナの根底には、コンポーネントの結び付け方についての共通したパターンがある。 そのパターンのコンセプトは「Inversion of Control(制御の反転)」と、まことに包括的な名前で呼ばれている。 記事では、このパタ

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Java直列化メモ(Hishidama's Java Serializable Memo)

    直列化/整列化とは [/2007-12-07] シリアライズの実装方法 [/2007-06-13] シリアライズの実行方法 [2007-05-02] serialVersionUID [/2020-03-21] シリアライズの対象/非対象フィールド [/2007-06-11] シリアライズ方法の独自定義 [/2010-04-29] Externalizable [2010-04-28] シリアライズできないクラス シリアライズのあるべき姿(?) [/2008-07-05] @Serial [2020-03-21] 直列化とは Javaの説明(Javadocとか)を見ていると、よく「直列化」「直列化可能」「直列化された形式」という言葉に遭遇する。 これはserializeの訳語みたいだけど、なんだか意味不明…。 VC++でシリアライズと言えば、「ファイルへのデータ保存」「ファイルからのデータ

  • htmlparser summary

  • 今年とは一体なんだったのか - 日々常々

    いろふAdventCalendar2013の25日目です……今年こそは続かないと思ったのに。 なんか今年はアドベントカレンダー、複数日を書くのがあたりまえになってるようで、数あるアドベントカレンダーもそんな感じで埋まってるのを横目に、「あー今年は書かない感じかなー」なんて思ってました。なんとなく"全部俺"を除いて一人一回にした方がハードルも下がって良いんじゃないかなーとか、とは言え続かなかったらそれはそれで残念な感じになるのかなーとか、モヤモヤと思いつつ師走のアレソレに身を任せて今日に至ります。でもアドベントカレンダーは普段あまり表に出ない(?)方の一つの後押しになると思うんですよ。書かれるのはその分野のお歴々なことも多いので、そこに並んでエントリを書くってのは、ある意味ハードルを超えるとか云々。いや募集はじまって即飛び込めばいいだけなんですが。なかなか、ね?この辺りは答えが出ないのでモヤ

    今年とは一体なんだったのか - 日々常々
    ayato0211
    ayato0211 2013/12/26
    "こないだ、「Javaをはじめたい」に対する明確な答えを持ってないことに気付いた。"
  • Javaを創ろう - きつねとJava!

    この記事はJava Advent Calendarの13日目の記事です. 昨日は@kisさんのJava SE 8でパターンマッチを実装するでした. 明日は@megascusさんです. 皆さんはおそらく普段からJavaを使ってプログラムを作っているかと思います. そんな皆さんはJava言語について多くの思い・想いを持っているかと思います. 例えば,「こんな事ができたら良いのに」だったり,「ここが良くないんだよなぁ」といった具合です. そういった言語特徴の追加や改善を自分の手でできたら素敵だと思いませんか? 幸いJavaはOpenJDKというオープンソースプロジェクトで開発が行われており,第三者の僕達でもソースコードを手に入れ自由に変更を加えることができます.*1 この記事では言語の拡張の仕方を述べ,OpenJDKを実際に用いて極々簡単な言語特徴を実装してみます. コンパイラ概要 コンパイラの

    Javaを創ろう - きつねとJava!
  • JAX-RSとかの話 — 裏紙

    <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-bundle</artifactId> <version>1.11.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.sun.jersey.jersey-test-framework</groupId> <artifactId>jersey-test-framework-http</artifactId> <version>1.11.1</version> <scope>test</scope> </dependency> Jerseyのartifactはjersey-serverやjersey-jsonなどいくつかに分かれているのですが、jersey-bun

  • 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
    ayato0211
    ayato0211 2013/08/07
    やっぱあるか。
  • 文字列連結と+演算子について整理しておく - 日々常々

    何度か書いているけど、整理的な意味で。今後は「このエントリ参照」にするつもりで書いてみる。 文字列連結から見るシステム内で扱う型について - 日々常々 Javaプログラマであるかを見分ける10の質問 に答えてみる - 日々常々 String の連結ネタの続き - 日々常々 前書き Stringなんてboxed primitive*1でもないただのクラスのくせに、中途半端に贔屓されて*2てムカつく*3し、その中途半端ぶり*4がなお腹立たしい……。そして +演算子 で連結して問題が起こるような状況、つまりそんな長々と文字列連結したいような場合は、きっと他の適した型がある。StringBuilderじゃなく、もっと別の何か。業務要件で文字列を組み立てる目的を考えれば、たぶんテンプレート的なものに落ち着くんじゃ無かろうか。ライブラリ的な所でなら逐次書き出し等になるような。どちらにせよ文字列の組み立

    文字列連結と+演算子について整理しておく - 日々常々
  • Java8で実行時にメソッドの引数の名前がとれるぽい - 日々常々

    JEP 118: Access to Parameter Names at Runtime http://download.java.net/jdk8/docs/api/java/lang/reflect/Parameter.html#getName() Java8で実行時に Parameter#getName でメソッドの引数の名前がとれる感じです。 やってみる こんなクラスのー public class Hoge { public void method1(String hoge) { } public void method2(Object fuga, Object piyo) { } } メソッド名と引数を引っ張り出すと、こう出る。 method1[ java.lang.String hoge] method2[ java.lang.Object fuga, java.lang.O

    Java8で実行時にメソッドの引数の名前がとれるぽい - 日々常々
  • 第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp

    原因は大きく分けて3つあります。 1つめは、リソース不足です。たとえば、CPUのクロックやコアが足りず、処理の完了待ちであることなどが原因として考えられます。 図1 CPUのリソース不足の例 2つめは、M/W(ミドルウェア)からアプリケーションに提供されるスレッドや、コネクションのプールにあるリソースが不足していて、その提供待ち(無応答)になっている可能性です。 M/Wでプールしているリソースが不足した状況は、会社の書籍棚に1冊しかないを社員で順番待ちしている状況に似ています。1冊しかないため、今借りている人が返すまでは他の人は借りれません。 図2 M/Wでプールされたリソースが不足しているケース 1つめのケースで問題がGCにある場合、GCに割り当てるリソースのバランスが悪いことが原因です。たとえば、特定のプロセスに対するCPUリソースの割り当てが大きい場合、GCが起きると、CPUリソー

    第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp
  • OracleはJava 6のセキュリティアップデートの配布を2月で停止する

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    OracleはJava 6のセキュリティアップデートの配布を2月で停止する
  • Java 8 で Scala のような何かを使う - seratch's weblog in Japanese

    Java 8 では JSR 335: Lambda Expressions が取り入れられます。 これを使うと Pure Java でありながら「どう見ても Scala」というコードが書けるようになります。 主に私がメンテナンスしている ScalaFlavor4J というライブラリがあります。 https://github.com/m3dev/scalaflavor4j Java 7 まではこんな感じで使う必要がありました。 Seq.apply(1, 2, 3, 4, 5).filter(new F1<Integer, Boolean>() { public Boolean apply(Integer i) { return i > 2; } }); // -> Seq.apply(3, 4, 5) しかし、Java 8 ではこんなにシンプルに書けてしまいます。 Seq.apply(1,

    Java 8 で Scala のような何かを使う - seratch's weblog in Japanese
  • 今日から始めるJava8 - Taste of Tech Topics

    こんにちは id:cero-t です。 「なんとやらは風邪をひかない」と言われているところ 先日、インフルエンザに掛かってしまいまして。 重ね着+多段布団+電気毛布2枚のコンボで一気に悪寒を吹き飛ばし、 一日で熱を下げたものの、感染予防のために出社を控えたために時間でき、 ちょっとJava8などと戯れていました。 そう、今日はJava8の話題です。 今年の秋に正式リリースが予定されているJavaSE8ですが、 OpenJDKのサイトでは、既にEarly Access版を入手することができます。 JDK8 : http://openjdk.java.net/projects/jdk8/ ダウンロード : http://jdk8.java.net/download.html 1/31に、マイルストーン6がリリースされ Feature Complete となりました。 名前からすると 全機能開発

    今日から始めるJava8 - Taste of Tech Topics
  • enumあれこれ - 日々常々

    EffectiveJava読書会で意外とenumネタで需要がある気がしたので、ちょっと書いてみます。内容的に目新しいものは無いはずの事を書きますので、理解されている方はツッコミ所探しでもしてください。 読み方 enumは enumerate か enumeration が語源になってるわけで、素直にいけば「イニュム」になります。けれど実際どう読まれるかは別の話です。最も大事なのは伝わる事なので、私は基相手が発音したものに合わせます。コウモリです。それはいい。 実現場では「いーなむ」と発音することが多いです。アクセントの位置は地域で変わるかもしれませんが、日では「いーなむ」と言っておけば通じない事はないと思います。「いにゅーむ」とか下手に言っちゃうと「は?」って顔される可能性が非常に高いです。英語のセッションの動画見て「い(え)にゅーむ」って言う事にしたのですが、いざ言おうとしたら「いに

  • JUnitでテスト名の制約を取っ払う - 日々常々

    2020-06-11追記 稿の対象はJUnit4です。JUnit5で同等のアノテーション`@DisplayName(value)` が追加されているため、このような小細工は必要ありません。 発端は[twitter:@ayato_p]さんのツイートでございます。「JUnitのテストメソッド名を日語で書く」のはそれほど奇異な話ではありません。 メソッド名を日語にする話 - 日々常々 JUnit実践入門でも「日語のメソッド名を使うメリット」と言うコラムがあり、サンプルコードのテストメソッド名は平然と日語で書かれています。 [isbn:978-4774153773:detail] しかし日語メソッド名なので、当然のようにメソッド名に由来する問題が幾らかあります。よく詰まるのは「そもそも使えない」ですが、これはVM引数などで解決出来ます。 JUnitのテストメソッド名に日語を使ったとき

    ayato0211
    ayato0211 2013/01/24
    "直接の問題は「テストメソッド名に日本語を使うと微妙な制約のせいで思い通り記述出来ない」ですが、別に「テストメソッド名に日本語を使いたい」ではありません。"
  • JavaのテストコードからはじめるGroovy #gadvent2012 - やさしいデスマーチ

    エントリーは、G* Advent Calendar 2012の24日目のエントリーです。前日は、@tetsurokitaharaさんのGroovyにProcessingを!でした。 何をネタに書こうかなと悩んだのですが、思うほどG*なネタは持っておらず、JUnitネタとなりました。実は、書籍「JUnit実践入門」でもGroovyを活用するトピックを入れる予定だったのですが、紙面の都合上、入れる事ができませんでした*1。そこで、少しだけですが、エントリーで補足したいなと思います。 テストコードでGroovyを使う Groovyは、Javaと親和性の高いプログラミング言語です。上司を説得する場合は「GroovyはJavaの拡張ライブラリです(キリッ」と言っても良いでしょう。当は開発環境やビルドツールの設定などで一工夫しなければ利用できませんが、その辺は裏でしれっとやってしまえばOKです。

    JavaのテストコードからはじめるGroovy #gadvent2012 - やさしいデスマーチ
    ayato0211
    ayato0211 2013/01/23
    "テストコードを書いてない人は、まずJUnit実践入門をお買い求めください"
  • Javaスクールの危険 - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳をべ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える

  • Javaを知らない世代が今からはじめるJava EE開発 - DENの思うこと

    JavaEE Advent Calendar 2012 の19日目の記事です。 昨日は@n_agetsuさんの JSF2.0でボタンの2度押しチェックをするでした。 明日は@hiranasuさんのNativeQueryじゃだめ?~JPAクエリ表現ごとのパフォーマンス比較です。 Java EEの何について書こうかなと思ったのですが、これからJavaを始めようと思っている若い世代が迷わず簡単に始めることができるJava EE開発のスタートについて書こうかなと思います。 Java EEの開発はRails等のフルスタックなフレームワークとは違いライブラリやフレームワーク、IDE、テスト等の情報が種類も多くいろんな場所に散らばっていてる為、初心者が全容を把握することはなかなか困難な状態です。 また長年のJava開発の中でWeb上の情報も古くなってしまっているものが多く、今からJavaを始めようとする

    Javaを知らない世代が今からはじめるJava EE開発 - DENの思うこと