タグ

javaに関するkitajのブックマーク (26)

  • Jolokia - Overview

    It is fast, simple, polyglot and has unique features. It's JMX on Capsaicin. Jolokia is a JMX-HTTP bridge giving an alternative to JSR-160 connectors. It is an agent based approach with support for many platforms. In addition to basic JMX operations it enhances JMX remoting with unique features like bulk requests and fine grained security policies. Overview of features which make Jolokia unique fo

    kitaj
    kitaj 2014/06/16
    JMXをJSON形式で返すRESTの口を用意してくれるagent.ヨサゲ.
  • java.net.URLをHashMapに突っ込むと大変なことになるのでやめろ、それどころかequalsを呼ぶだけでも大変なことに - TODESKING

    参照: http://stackoverflow.com/questions/2348399/why-does-java-net-urls-hashcode-resolve-the-host-to-an-ip 公式ドキュメントによると: public boolean equals(Object obj) … 2 つの URL オブジェクトが等しいのは、同じプロトコルを持ち、同じホストを参照し、ホスト上のポート番号が同じで、ファイルとファイルのフラグメントが同じ場合です。 2 つのホストが等価と見なされるのは、両方のホスト名が同じ IP アドレスに解決されるか、どちらかのホスト名を解決できない場合は、大文字小文字に関係なくホスト名が等しいか、両方のホスト名が null に等しい場合です。 ホスト比較には名前解決が必要なので、この操作はブロック操作です。 java.net.URL#equals

    kitaj
    kitaj 2014/06/09
    「ホスト比較には名前解決が必要なので、この操作はブロック操作です。」なにそれ凄い罠
  • 問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん

    ※ サンプルがJDK7までとJDK8までで意味が変わっていてわかりにくいという指摘があったので、少し直しました。 ※ boxedを使う書き方だと無駄なAutoboxingが走るとの指摘を頂きましたのでmapToObjを利用するように変えました。 Java8の目玉機能の一つにStream APIがあります。 目玉機能だけあって、先日のJava Day Tokyo 2014を含めて色んな所で発表やブログの記事が公開されているので、どんなものかを知ってる人は多いと思います。 Stream APIといえば「".parallel()"と書くだけで並列化してスピードアップ出来る!」という魅惑的なキーワードで紹介されることが多いので、並列化のための仕様だと勘違いされそうですが、そうではありません。 ※ もちろんそういった記事の中をちゃんと読めばそう単純な話じゃないことも分かります。 むしろ、並列化に関し

    問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん
    kitaj
    kitaj 2014/05/25
    なんかイケてない感があるんだよなぁ.
  • | タイトルを入力してください

    ブログをはじめるたくさんの芸能人・有名人が 書いているAmebaブログを 無料で簡単にはじめることができます。

    | タイトルを入力してください
    kitaj
    kitaj 2014/04/21
    魚拓で読んだが何が言いたいのか良く分からん… / っていうかどうせ魚拓されるんだから消すなよw
  • もしもラムダの中で例外が発生したら(前編) - Taste of Tech Topics

    ある日、 id:cero-t がJJUGの重鎮たちと話している中で、とある宿題をもらいましたとさ。 「Java8のラムダの中で例外が発生したら、どうなるんだろう?」 こんにちは、アキバです。 もう皆さんはJava8を使ってみましたか? とりあえずインストールしてみた人! ・・はーい (おまえか という冗談はさておき、 今回は、id:cero-t に代わって私が冒頭のお題を調べてみました。 1. SerialStreamで動かしたラムダで例外が発生したら まずは、小手調べにシングルスレッドの場合を見てみましょう。 検査例外が発生するようなコードをラムダに書いてみると、コンパイルエラーになります。 こんなコードです。 try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(W_FILENAME))) { // writer.

    もしもラムダの中で例外が発生したら(前編) - Taste of Tech Topics
    kitaj
    kitaj 2014/04/16
    後編はよ./ ParallelStreamで深く考えずにMTで動かす人が増えて今更「SimpleDateFormatがMT-safeじゃないなんて!」とかいう祭になったりして.
  • Java8 Streamではクイックソートが書けない - きしだのHatena

    タイトルは釣りです。 もちろん、汎用ライブラリなので、Streamを使ってクイックソートが書けないわけではありません。 ただ、Streamで完結したままではクイックソートは書けません。Listとの相互変換が必要です。 で、Streamで完結したままクイックソートが書けない直接的要因はいくつかあって、それを解消するユーティリティメソッドが用意されてれば、この件に関してはStreamで完結することもできるのですが、だからといってさまざま出てくる「xxxが書けない」を解決するためのユーティリティメソッドを追加しまくれば幸せになれるかというと、そうでもないわけです。 そもそも、なんでそんなユーティリティメソッドが必要になるのかというのが題。 結局のところListなどCollectionと、新たに追加されたStreamが別扱いになっているところに原因があって、CollectionとStreamの変

    Java8 Streamではクイックソートが書けない - きしだのHatena
    kitaj
    kitaj 2013/11/22
    「ぼくら高度に訓練されたJavaプログラマにとって、setXxx/getXxxのコードや匿名クラスnew Hoge(){void foo(){~}}の記述は視界にまったく入らなかった」その訓練すごいな…
  • ついにJavaがRaspberry Piとフラットデザインでタブレット市場に参入!?~JavaOne 2013まとめレポート(中編)

    Javaの最先端技術や、まだロードマップにも取り込まれていない研究段階のプロジェクトなどを紹介するテクニカルキーノートは、JavaOne初日にストラテジーキーノートに続けて行われた(参考:「俺たちのJavaは、まだまだこれからだ」未来の鍵はInternet of Thingsにあり?~JavaOne 2013まとめレポート(前編))。 Oracle Open Worldを押しのけて(?)確保したMosconeセンターでは、3時間続けざまのキーノート(基調講演)でJava開発者の体力が試された。稿では、テクニカルキーノートの模様と、いくつかのテクニカルセッションの模様をハイライトでまとめて紹介する。 すでにフォーカスはJava 8、そしてLambdaへ テクニカルキーノートを取り仕切るのはチーフアーキテクトのMark Reinhold氏だ。Reinhold氏は、「すでにデファクトスタンダー

    ついにJavaがRaspberry Piとフラットデザインでタブレット市場に参入!?~JavaOne 2013まとめレポート(中編)
    kitaj
    kitaj 2013/11/11
    色々出てきていて面白そうではある
  • Java 8は関数型なのか

    ITproの読者には既にご存じの方も多いと思うが、2014年3月に「Java SE」の次期版「Java SE 8」(以下、Java 8)がリリース予定である。国内のエンタープライズ分野では「レガシーJava」が多いとされ、現行版の「Java SE 7」に移行しているユーザーすら少数派と聞く。Java 8といっても遠い話のように感じる方も多いかもしれない。 しかし、Java 8はJavaにとって一つの大きなマイルストーンとなる。関数型プログラミングに由来する「ラムダ(lambda)式」なる構文が導入されるのだ。 Javaをよく知る技術者の方の中には、「いや、Java 8のラムダ式は関数型プログラミングのために導入されたのではない」と主張される方がいるだろう。この点については後ほど触れたいと思うが、「ラムダ式が何のために導入されたか」はさておき、ラムダ式という記法そのものが「関数型に由来する」

    Java 8は関数型なのか
    kitaj
    kitaj 2013/07/17
    タイトル見て釣りかと思ったが面白かった./『Java 8は900万人のJavaコミュニティを関数型プログラミングの世界にいざなう「トレーニングマシン」のような役割を果たすのではないか』
  • Java SE - Change in Version Numbering Scheme March 2013

    Oracle will change the release numbering for scheduled Java SE releases. With the recent increase of security releases we have been skipping numbers and have already had to renumber releases 1 . To avoid confusion caused by renumbering releases, we are adopting a new numbering scheme. Overview Since the initial release of JDK 5.0, Java update releases have either been Limited Update releases that

    kitaj
    kitaj 2013/05/17
    なにこれ.もはや笑うしかw
  • Java8のStreamを使いこなす - きしだのHatena

    さて、Java8で関数型っぽいことをやって遊んでみたわけですが、実際はそんな書き方しませんよね。 Java8で実際に使うのは、Streamです。 ということで、Streamの使い方をひととおり見てみます。 ※5/17 仕様変更があったので、修正しました 基 まずは、Iterableインタフェースに用意されたforEachメソッドを見てみましょう。 List<String> names = Arrays.asList("hoge hoge", "foo bar", "naoki", "kishida"); names.forEach(s -> System.out.println(s)); これで次のように表示されます。 hoge hoge foo bar naoki kishida いままでの拡張forだと次のように書いてました List<String> names = Arrays.a

    Java8のStreamを使いこなす - きしだのHatena
    kitaj
    kitaj 2013/05/12
    すごく便利そうだが,性能はどうなん?
  • Log4j – Log4j 2 Lock-free Asynchronous Loggers for Low-Latency Logging

    kitaj
    kitaj 2013/04/30
    低遅延な非同期ロガー.っていうかLog4j2なんてあったのか.
  • Why does this code using random strings print "hello world"?

    Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

    Why does this code using random strings print "hello world"?
    kitaj
    kitaj 2013/03/06
    よく見付けたなぁw
  • 「Java 7 Update 11でも脆弱性は残っているから引き続きJava無効化を」という話について

    Java SE 7 Update 11 でもバグが修正されていない」という専門家の意見が書いてあるロイター通信の記事(Oracle updates Java, security expert says it still has bugs)をTwitterで紹介しましたが、「やはり修正されていない」「修正されたのは2つの脆弱性の内の一つだけ」というニュース記事が複数出てきました。 これらのニュース記事には、「Java 7 Update 11でも脆弱性は残っているから、Java(Java appletを起動するためのブラウザ上のJavaプラグイン)をひきつづき無効化せよ」という内容のCERTの意見が掲載されています(無効化手順はこちら)。 しかし、日語の記事が曖昧で、少し情報源のページを読んでみると、単に「片方が修正されていないから危険」というわけではない、ちょっとややこしい話のようだった

    「Java 7 Update 11でも脆弱性は残っているから引き続きJava無効化を」という話について
    kitaj
    kitaj 2013/01/17
    やっと分かった気がした
  • 侍 - ログ , スレッドダンプ解析ツール

    "侍" とは 侍 はタブ表示できる GUI の tail ツールです。 標準出力・標準エラー出力をリダイレクトしたログファイルより Java のスレッドダンプのみを切り出して色分け表示したり、-verbosegcオプションによるログをグラフ表示したりできるため特に Java のトラブルシューティングに役立ちます。 システム要件 OS: JDK 1.4 以降の実行環境をサポートする Windows や Unix JDKは以下のページからダウンロードできます。 http://java.sun.com/j2se/1.5.0/ja/download.html 検証済みの解析対象JVM: JDK 1.3.x,JDK 1.4.x,JDK5.0 準拠の Apple/BEA/Sun/HP/IBM 製JVM 起動方法 侍 は以下の2種類どちらかの方法で起動させることができます。 Java Web Start

    kitaj
    kitaj 2011/12/15
    久しぶりに使ったが,やっぱり便利だな
  • 10ミニッツで絶対にできる、Spring Rooアプリ開発

    2011年現在、おそらく世界で一番使用されているDIコンテナではないでしょうか(筆者の周りでは途中からSeasar2を使用することが多くなりましたが)。 Spring Frameworkの詳細については以下の記事をご覧ください。 ■Spring Sourceとは 以前、Rod Johnson氏は「Interface21」という企業のCEOを務めており、この企業ではSpring Frameworkの開発、コンサルティングおよびサポートを行っていました。 Spring Framework 2.5がリリースされてからしばらく後の2007年11月、Rod Johnson氏は社名を、「Spring Source」に変更しました。この辺りからSpring Sourceはオープンソース系企業の買収を行ったり、エンタープライズ系のプロダクトを発表していきます。 「Groovy」「Grails」を開発するG

    10ミニッツで絶対にできる、Spring Rooアプリ開発
    kitaj
    kitaj 2011/08/04
    中身よりもむしろなぜ「10分」ではなく「10ミニッツ」なのかに興味があるな.「ファーストで作る」とか「Tomcatでドゥーする」とか色々表現が気になる.
  • ibmURL(変更不可)

    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.

    ibmURL(変更不可)
  • 日立がアプリサーバ新版、Full GC回避し「世界を止めない」 - @IT

    2008/10/02 日立製作所は10月2日、基盤ソフトウェアの新版「Cosminexus Version 8」を発表した。企業内の業務ノウハウをシステム化して共有できる機能のほか、アプリケーションサーバにはフル・ガベージ・コレクション(Full GC)の発生を抑止する新機能を搭載した。 Cosminexusは複数のミドルウェアで構成するスイート製品。Version 8ではアプリケーションサーバの「uCosminexus Application Server」を強化した。強化のポイントはJavaアプリケーションのレスポンスを遅らせるFull GCを抑制する新しいメモリ管理機能の実装だ。 JVMには、Javaヒープ上のメモリに割り当てたセッションオブジェクトが使われなくなると自動でメモリ領域を開放するガベージ・コレクション機能がある。メモリリソースの有効活用につながる機能だが、このガベージ・

    kitaj
    kitaj 2008/10/03
    面白いアイデア.でもホントにうまくいくのかなぁ
  • JavaOne会場のパチンコ玉ゲーム機の秘密 - @IT

    2008/05/10 まるでピタゴラスイッチかインクレダブル・マシーン(あるいはルーブ・ゴールドバーグ・マシン)のような巨大なおもちゃの前に人だかりができていた。米サン・マイクロシステムズが主催する開発者向けイベント「2008 JavaOne」のパビリオン会場で見かけた「プロジェクト・シドニー」と名づけられたその手作り感いっぱいの機械は、単なるおもちゃではなく、背後に非常に興味深いストーリーが隠されていた。 「あっ」という間に色を識別して羽を制御 カタカタ、コトコトと小さな音を立てて動きつづけるその機械では、透明なパイプの中を小さな玉が走り回っている。玉は要所要所で止まり、それを検知した機械がフリッパーで次のパイプに向けて玉を飛ばす。 玉は4色。赤、青、緑、黄色がある。上部にランダムに並んだ玉のストックから、1つずつ落ちてくる。細かなギミックはいろいろあるが、この機械のキモは中央部の「玉振

    kitaj
    kitaj 2008/05/12
    Profibusって初めて聞いた.
  • JavaとRuby:主要機能の比較:CodeZine

    はじめに Rubyはインタプリタによって解釈されるスクリプト言語で、Javaはコンパイラによってコンパイルされるプログラミング言語です。Rubyは、オブジェクト指向言語であり厳密な型指定を行うという点ではJavaに似ています。しかし、Rubyの型指定は動的であるのに対し、Javaの型指定は静的です。Rubyでは型宣言は使用されず、Javaでは型宣言は必須です。JavaRubyのどちらにも継承があり、"パブリック"、"プライベート"、"プロテクト"のメソッドがあります。RubyJavaより単純でJavaより高速です。Rubyはさまざまな点でJavaと異なっています。稿では、RubyJavaの主要機能を比較します。インタプリタ方式とコンパイラ方式 Rubyはインタプリタ方式のスクリプト言語なので、コンパイルしてバイトコードを生成することなく、直接実行できます。たとえば、Rubyファイル

    kitaj
    kitaj 2008/02/19
  • C/C++ が使えないJavaプログラマ必見! C/C++ を使わないプロダクト登場 | エンタープライズ | マイコミジャーナル

    Javaにおいてプラットフォームとの高い親和性を実現したり、C/C++で開発されたライブラリを活用するにはJNIを使う必要がある。JNIを使うにはC/C++に関するそれなりの知識と経験が必要だ。Javaからプログラミングを開始したデベロッパにとって、JNIは避けて通りたい技術だ。しかしそれが簡単に実現できる日が来るかもしれない……。 その実現を可能にするかもしれないのがJNIEasy : Java Native Objectsだ。JNIEasyはC/C++を記述することなくJavaライクなシンタックスとJOPOだけでJNIを同じ機能を実現するプロダクト。同プロダクトを使うことでC/C++プログラミングの経験がなくともC/C++ネイティブライブラリが使えるようになる。JNIEasyはWindowsLinuxで動作する。18日(米国時間)にリリースされた最新のJNIEasy 1.2ではMac

    kitaj
    kitaj 2008/01/25
    なんかタイトルとか記事の内容が微妙だけど,JNIEasyそのものはヨサゲ.ところでJOPOって何よ? と思ったらPOJOのことか.