タグ

Javaに関するwamanのブックマーク (713)

  • Oracle to Change the Release Numbering for Java SE

    waman
    waman 2013/05/15
  • Javaでbyte配列から、別のプリミティブ型に変換する - CLOVER🍀

    追記) 最後にNIOのByteBufferを使用した方法を書いているのですが、こちらについて見たい方はこちらへ。 NIOのByteBufferを使って、プリミティブ型とbyte配列の相互変換を行う http://d.hatena.ne.jp/Kazuhira/20131001/1380638997 少し前に、Cassandraを使ってbyte配列からlongとかに変換しようとした時に、ちょっと調べたので。 byte配列→String、もしくはString→byte配列ならよくやると思いますが、他の型への変換って、やったことなかったです…。 例えば、longの以下の値 123456789L をbyte配列から、longに戻すことをコードを書くと、以下のようになります。 なお、ここからのサンプルコードは、ビッグエンディアンが前提となっております…。 // longは8バイト byte[] by

    Javaでbyte配列から、別のプリミティブ型に変換する - CLOVER🍀
    waman
    waman 2013/05/13
  • Javaのパフォーマンスについての9つの誤信

    JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ

    Javaのパフォーマンスについての9つの誤信
    waman
    waman 2013/05/10
  • Java | mockitoで単体テストをMockする - Tbpgr Blog

    概要 mockitoで単体テストをMockする 詳細 mockitoで単体テストをMockします。 業務ではdjUnitしか使って居なかったのですが、djUnitのMock機能は メソッドを文字列で指定するためリファクタリング対象外になる、という欠点があります。 メソッドのリファクタリングなどはよく行う機会が多く、 特にユーティリティ系の用に大量に利用されるコードをモック指定た場合に リファクタリングの工数がかなり膨らんでしまいます。 導入手順 ・下記URLからjarをダウンロード https://code.google.com/p/mockito/downloads/list ・対象プロジェクトのビルドバスにjarを追加 サンプルコードリファクタリング前 Chickenクラス package mockito; public class Chicken { public String cr

    Java | mockitoで単体テストをMockする - Tbpgr Blog
  • はてなブログ | 無料ブログを作成しよう

    異国の友人たちへ、また会う日まで 2024年ゴールデンウィーク。5年ぶりにウズベキスタン旅行に行ってきたので、旅の模様をデイリーポータルZに綴りました。ウズベク旅行記はこれが3目。 dailyportalz.jp dailyportalz.jp dailyportalz.jp (↑New!) おかげさまでどの記事も多くの方にお読みいただき、…

    はてなブログ | 無料ブログを作成しよう
    waman
    waman 2013/04/29
    nio で
  • Standard Java API for JSON

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    Standard Java API for JSON
  • Codespell – Java言語がそのまま呪文となる教育用3Dゲーム

    カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codesp […] カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッ

    Codespell – Java言語がそのまま呪文となる教育用3Dゲーム
    waman
    waman 2013/04/11
  • Java 101: Catching up with the Java Date and Time API

    waman
    waman 2013/04/10
    JSR 310: The Date and Time API
  • ScalaとJavaとインナークラスと - CLOVER🍀

    MapReduceを調べていて、少し前のScalaとHadoopを使ったプログラムを書くと、Hadoopがインナークラスをメソッドの引数に強制するので、面倒、という記事を見かけました。 要は、こういうやつです。 override def map(key: LongWritable, value: Text, context: Mapper[LongWritable, Text, Text, IntWritable]#Context) { 型引数も省略できないので、面倒ですよね〜という話でした。 staticでないインナークラスを引数に取る時は、こんな書き方をするのかぁ…と思い、知らなかったのでちょっと試してみることにしました。 *パス依存型と言われるものは、以前にマクロとかで使いましたけど これを実行した環境は、 Scala 2.10.1 sbt 0.12.2 Java 1.7.0 upd

    ScalaとJavaとインナークラスと - CLOVER🍀
  • Infinispan Map Reduce Framework - CLOVER🍀

    Distributed Execution Frameworkに続いて、今度はMapReduceです。 Map Reduce Framework https://docs.jboss.org/author/display/ISPN/Map+Reduce+framework 名前はGoogleやらHadoopやらで有名ですが、これをサポートしたプロダクトをあんまり触ったことがありません…。3年くらい前に、Hadoop StreamingでWordCountしたことがあるくらいかな…? 概要 オフィシャルドキュメントのIntroductionからすると、だいたいこんな感じみたいです。 MapReduceは、Data Grid上の巨大なデータを分散されていることを意識せずに、分散処理できることを可能にする MapフェーズとReduceフェーズの、2つの異なる計算処理の考え方が名前の由来 Map

    Infinispan Map Reduce Framework - CLOVER🍀
  • リフレクションで、ジェネリクスの情報にアクセスする - CLOVER🍀

    Infinispanでもうちょっと遊ぶ予定だったのですが、オフィシャルサイトのWikiがなんか途中で落ちてしまったので、別のネタで遊ぶことにしました。 *このネタがだいたい終わった頃には、復旧していましたが… 今回は、パラメータ化された型に関する情報をリフレクションを使ってアクセスしてみようと思います。ちょっと前からやってみたかったのです。 ジェネリクスの情報は、ClassクラスやField、Methodなどからアクセスできるのですが、それぞれ以下のような方法で取得できます。 クラス メソッド 取得できる情報 Class getTypeParameters クラス定義において宣言された型変数の情報 Field getGenericType フィールドに適用された型変数の情報 Constructor getGenericParameterTypes コンストラクタのパラメータに関する型変数の

    リフレクションで、ジェネリクスの情報にアクセスする - CLOVER🍀
    waman
    waman 2013/03/31
  • Project Lambda in Java SE 8

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    Project Lambda in Java SE 8
    waman
    waman 2013/03/29
  • JDKのバージョンアップポリシーについて - marsのメモ

    長いだけでオチは無いよ。 「Java6がサポート切れた」だの「秋にはJava8が出る」だのとJavaのバージョンアップキャンペーンっぽい話題をちらほら聞きますよね。実際、保守しているシステムも、やれハードウェアの老朽化だ、OSやミドルウェアの保守切れだ、とかいう理由で否応なしにJVMのバージョンアップをするハメになりますよね。でもコンパイラ(JDK)のバージョンアップってどうしてるんですかね? JVMはそれを必要とするミドルウェア(大抵はAPサーバですわな)がサポートしてないって大義名分があるので、Java5だJava6だと定期的にバージョンアップしてくんだけど、その上で動いているシステム(まあ業務アプリだわな)のコンパイラ(JDK)まで気にしてるって話は意外なほど聞かないのよね。 んで、どうしてるかというと、何もしない。いわゆるSI業界では、ソフトウェアは「やわらかいモノ」ではなく「モロ

    JDKのバージョンアップポリシーについて - marsのメモ
    waman
    waman 2013/03/27
  • 文字列連結と+演算子について整理しておく - 日々常々

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

    文字列連結と+演算子について整理しておく - 日々常々
    waman
    waman 2013/03/23
  • twitter4j対応メモ - exception think

    エントリ分割) Twitter4jのAsync切り替え) Twitter4J 3.0でJava2 1.4捨てたのでjava.util.concurrentを使っても良いことに気がついた! 2012-12-09 21:27:28 via YoruFukurou @yusuke おお!パフォーマンス良くなるんですかね!あと何気に通常の tw <=> async tw の変換クラスとか欲しいw(複数インスタンス持つのは不安で。。。 2012-12-09 22:35:39 via YoruFukurou to @yusuke @kimukou2628 車輪が減るだけでパフォーマンスはどうだろう・・変わらないと思います。new AsyncTwitterFactory(twitter.getConfiguration()).getInstance() ではいかがでしょう? 2012-12-09 22:

  • Open source Java projects: TomEE

    Open source Java projects: TomEE Scale to enterprise with the Java EE 6 Web container built on Tomcat Apache TomEE aims to provide application developers with a best-of-breed technology stack that can be deployed to a simple and lightweight Java EE container. In this return to the Open source Java projects series, author Steven Haines introduces TomEE, explains how it differs from Tomcat, and help

    Open source Java projects: TomEE
    waman
    waman 2013/03/23
  • Can TomEE save Java EE?

    waman
    waman 2013/03/23
  • https://blogs.oracle.com/java/post/entry/java_tutorial_updated

    waman
    waman 2013/03/07
  • String、char、byteを使った文字コード関連のTips - CLOVER🍀

    自分がたまに使う割に、一部忘れたりするのでまとめてみることにしました。 文字コード系の調査とかトラブルがあった時に、知っておくと調査しやすいかも?といった内容です。 文字列(String)から、Unicodeのコードポイントを知りたい Javaの内部的な文字の表現方法は、Unicode(正確にはUTF-16ですが…)です。なので、char1文字はサロゲートペアが登場しなければ、そのままUnicodeコードポイントを指します。 Stringをcharの配列に変換してから、文字列にしたりフォーマットしたりするとよいと思います。もちろん、いきなりcharから始めても構いませんが。 String str = "あいうえおabcde"; for (char c : str.toCharArray()) { System.out.println(c + " => 0x" + Integer.toHex

    String、char、byteを使った文字コード関連のTips - CLOVER🍀
    waman
    waman 2013/02/27
  • IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - Diary of absj31

    Eclipseで設定出来る以下の様なstatic import文の自動補完のようなものをIntelliJ IDEAでも実現したいな〜と思っていたのですが、そのものズバリな手法は見当たらなさそうなのでまずはそれに近いような事を行うためのメモを残しておこうと思います。 EclipseとJUnit4、またはstatic import|Ouobpo そのものズバリな対処法、若しくはより良い手法が見つかった場合は情報を更新する方向で。 エントリ投稿後、何人かの御方から『こういうやり方が(やり方も)ある』というアドバイスを頂きました。どのエントリも大変参考になりました。ありがとうございます! Re: IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - marsのメモ( いまいまさのぶ (TwitterID:@masanobui

    IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - Diary of absj31