タグ

javaに関するsatfyのブックマーク (50)

  • JDK 8 新機能ダイジェスト (JDK 8 Features) #java - unnamed

    この記事は Java Advent Calendar 15 日目です! 14日目は @megascus さんの 動的SQLでPreparedStatement+プレースホルダを使用する - 水まんじゅう でした。 明日は @cero_t さんです。 まえがき いよいよ JDK 8 が来年の3月に正式リリースされます。素晴らしいことに Java Japan User Group の皆様の blog や記事、 JJUG Night、CCC などの勉強会やカンファレンスなど、JDK 8 の新機能が紹介されている場が多いので、既にある程度知っている人も多いのではないでしょうか。しかし、JDK 8 全体としてどのような機能が加わるのか、それを把握する方法がよく解らない人もいらっしゃると思います。ここではどうすれば JDK 8 の新機能を確認できるのか、そして新機能はどう言ったものがあるのか簡単なダイ

    JDK 8 新機能ダイジェスト (JDK 8 Features) #java - unnamed
    satfy
    satfy 2013/12/16
  • guava - mtoyoshi開発メモ

    いつのまにやら、google-collectionsがguavaに統合されていた。現時点でのバージョンはr06。guavaはGoogleの多くのJavaベースのプロジェクトで使用されているjava core libraryとのこと。 パッケージ名を見れば大体の機能について想像がつく。 com.google.common.annotations com.google.common.base com.google.common.collect com.google.common.io com.google.common.net com.google.common.primitives com.google.common.util.concurrent 見てすぐ気付くのはcommons-langやcommons-collectionsなどcommons系と機能が重複しているということ。違いといえ

    guava - mtoyoshi開発メモ
  • OS XにおけるJavaアプリケーションのエンコーディング - PiyoPiyoDucky

    前記事の続きです。 結論から言うと、IntelliJ IDEA(やEclipse)にも環境変数LANGを渡すことができれば、Java 7における開発で日語の扱いに問題が出なくなります。_JAVA_OPTIONSやJAVA_TOOL_OPTIONSは不要です。 file.encodingだけでは足りない ここではIntelliJ IDEAを取り上げますが、おそらくEclipseも同様です。 Java 6まではシステムプロパティfile.encodingをUTF-8に設定していればとりあえず大丈夫でした。 ところがJava 7ではfile.encodingを設定していてもうまくいきません。 file.encodingにUTF-8を設定した状態で日語テストメソッドを実行しても、正しく認識されずエラーとなります。(余談ですがIDEAは12.1から-Dfile.encoding=UTF-8がin

    satfy
    satfy 2013/06/04
  • Jenv Portal

    What is jenv? jenv is Java environment manager, and it is a clone of RVM for Java. jenv can manage parallel versions of Java development kits on any Unix based system. It provides a convenient command line interface for installing, switching, removing and listing Candidates. Why jenv? Easy to manage Java version, such as 1.6, 1.7, 1.8 and 1.9 Easy to install Java tools, such as Ant, Maven, Tomcat

    satfy
    satfy 2013/04/28
  • Tomcat7 でゼロダウンタイムデプロイ - mallowlabsの備忘録

    「Web アプリのバージョンアップ時に Tomcat を再起動してもいいのは小学生までだよねー」 ということで、Tomcat でダウンタイム無しで Web アプリのバージョンアップをする方法についてまとめてみる。 Parallel Deployment Tomcat 7 から Parallel Deployment という機能が追加され、同一 Web アプリの複数バージョンを同時にデプロイができるようになった。 war のファイル名を somewebapp##001.war 等にしておくことで、 - $CATALINA_BASE/ - webapps/ - somewebapp##001.war - somewebapp##002.warのように配備をすると、 http://localhost:8080/somewebapp/ でアクセスした場合に、セッションが継続している場合には古い方(

  • JMockitは理想的なモックフレームワーク - かとじゅんの技術日誌

    テストを書いているとモックオブジェクトを使う機会が多いと思います。そのモックオブジェクトは自前で作るよりは、JMockやMockito*1などのフレームワークを利用した方が楽でしょう。 今回は機能的に、ほぼ最強と思われるJMockitを紹介します。 これが、他のモックフレームワークとの機能比較です。 MockingToolkitComparisonMatrix - jmockit - A feature matrix comparing several mocking toolkits. - Project Hosting on Google Code 機能が多ければ使いやすいか。そんなことはないと思います。しかし、これは使いやすいかもと周りの人からお勧めがあったので、実際に使ってどんなところが使えるのか検証してみたので、書いてみます。あと、最後にScalaで使えるか試してみました。 あ、

    JMockitは理想的なモックフレームワーク - かとじゅんの技術日誌
  • Java の語彙で Maybe を説明してみる - ぐるぐる~

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;

    Java の語彙で Maybe を説明してみる - ぐるぐる~
    satfy
    satfy 2012/06/29
  • 第一回 Playframework 勉強会 in 関西に行ってきたよ! - ikeike443のブログ

    去る8月6日土曜日、大阪の株式会社クロノスさんのセミナールームにて、第一回Playframework勉強会in関西が開催されました! http://atnd.org/events/17724 つーわけで行ってきた! 業務でPlayframeworkを使う中で(・∀・)イイネ!!と感じたことをだらだらとしゃべってきた! まとまってなくてごめんなさい!! スライドはこれです! Play ja kansai View more presentations from Takafumi Ikeda 他の参加者の方々のスライドは下記です。 Play勉強会 playをGAEで動かそう! View more presentations from daiksy @daiksyさんによるPlay! on GAEのチュートリアル。 @daiskyさんのスライドとプレゼンテーションはとっても分かりやすくて、とても

    第一回 Playframework 勉強会 in 関西に行ってきたよ! - ikeike443のブログ
    satfy
    satfy 2011/08/09
  • 【祝】:Java SE 7 正式リリース

    【祝】:Java SE 7 正式リリース 2011年7月29日 at 2:00 午前 3件のコメント 日(2011年07月28日(日時間29日 日でもぎりぎり28日だったようです。))Java SE 7 が正式にリリースされました。5年ぶりのリリースとなる Java SE 7 ですが、Java SE 7 は進化として位置づけられているバージョンになります。ここで言う進化とは言語仕様に対する大幅な変更はなく、開発生産性の向上やライブラリのアップデート等が多く、今まで Java SE 5, 6 等で開発をしてきて頂いた Java 開発者は比較的かんてたんに移行が可能になっています。Project Coin, NIO.2 等により可読性、開発生産性が向上した最新の Java SE を入手頂き是非開発現場でご使用ください。 サポート環境はこちら Java SE 7に関するドキュメント チュー

    【祝】:Java SE 7 正式リリース
    satfy
    satfy 2011/07/29
  • Java SE 7のjava.nio.file.Filesがとても便利な件 - きしだのHatena

    とても便利。 たとえば、あるサイトからHTMLをダウンロードしてファイルに保存する場合。 try(InputStream is = new URL("http://www.google.com/").openStream()){ Files.copy(is, Paths.get("C:\\Users\\kishida\\Downloads\\google.html")); } ファイルの内容を一行ずつ読み込んで処理をする場合。 for(String s : Files.readAllLines(Paths.get("C:\\Install.log"), Charset.defaultCharset())){ System.out.println(s); } まあ、直接文字列でファイルパスを渡せなかったり、デフォルトCharset使う場合でも引数が省略できなくて、まだるっこいコードになってし

    Java SE 7のjava.nio.file.Filesがとても便利な件 - きしだのHatena
    satfy
    satfy 2011/07/07
  • nullはJavaのWeakポイント - Return to Saisse’s Wiki

    純粋にオブジェクト指向的に考えた場合、オブジェクト間の通信にnullを使用するなんてことはあってはならない事だ。 ある値がnullであるということは何かの状態を表しているわけで、その状態をnullで表してしまうと人間の頭にとっては扱い難い存在となる。 例えばあなたがコーヒーカップを持っているとしてコーヒーカップがnullだでは想像で補うことは可能であっても意味が通じない。状態をnullで表すのを止めてコーヒーカップが空だと言えば格段にわかりやすくなる。 ここで重要なのは名前がついているかどうか?ということだ。名前を付けることによって人間の頭は高速に処理できるようになる。名前を省略されるとそもそも状態があることを認識することが困難になる。 このことからnullはコンピュータのメモリの状態を表す言葉であって実装であるといえる。つまりnullはカプセル化の対象であって、インターフェース間でやりと

    nullはJavaのWeakポイント - Return to Saisse’s Wiki
    satfy
    satfy 2011/06/10
  • InfoQ: JavaプログラマのためのActionScript 3

    現実と向き合ってみましょう。クライアントは、Javaプログラマーにとって親しみやすい場所ではありません。applet、 Swing、JavaFXによるクライアントのJavaテクノロジーは、ある程度の成功をおさめました。JavaScriptは、その名前にも関らずほとんどがJava言語らしくありません。さて、Adobe Flashは、まるでJavaScriptのようですか? 違いますか? 2、3年前は、FlashはJavaScriptのようだったことは事実だったかもしれません。しかし、ActionScript 3の登場で、その多くが変わりました。そして、あなたはその多くに気づくでしょう。 第一に、ActionScript(Adobe FlexとFlashのプログラミング言語)は、強い型づけ言語です。クラスやインターフェースを含む、第一級のオブジェクト指向でもあります。それは、Javaには無いも

    InfoQ: JavaプログラマのためのActionScript 3
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
    satfy
    satfy 2011/06/10
  • Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework

    Java SE 7徹底理解の2回目である今月は、並行処理のフレームワークについて紹介していきます。 Javaは1.0がリリースされた当初から、スレッドを使用することができました。筆者もJava 1.0で簡単にスレッドが使えることに感動したことを覚えています。 しかし、スレッドを安易に使ってしまうと、デッドロックやデータの破壊を引き起こしかねません。スレッドクラスは簡単に使えるものの、使いこなすには並列/並行処理についての適切な知識を必要としたのです。 そこで、より簡単に並列/並行処理を使うためのフレームワークであるConcurrency UtilitiesがJ2SE 5.0で導入されました。 Concurrency Utilitiesは非同期処理APIや、スレッドセーフで高性能な並行コレクション、ラッチやセマフォなどのロック機構、アトミック処理など並列/並行処理のためのさまざまな機能が含ま

    Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework
    satfy
    satfy 2011/06/06
  • [Java]正しい無限ループの書き方 - きしだのはてな

    boolean д = true; for(;д;){ System.out.println("でれません"); } boolean ω = true; for(;ω;){ System.out.println("ぬけれません"); } boolean ェ = true; for( ;(ェ); ){ System.out.println("終わりません"); } boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 参考 while(1)をfor(;;)って書くやつ(2ch)

    [Java]正しい無限ループの書き方 - きしだのはてな
    satfy
    satfy 2011/01/17
  • 弱参照と強参照の違い - unsigned

    通常の参照が強参照。弱参照と強参照の違いはガベージコレクトのタイミングにある。 オブジェクトの生成コストを減らすためHashMapなどにメモリキャッシュする場合があるが、一定期間のみ生存するオブジェクトをメモリキャッシュした場合には、必ずキャッシュしたオブジェクトを削除する必要がある。 削除しなければ、オブジェクトはガベージコレクトされずにそのまま残ることになり、それを繰り返せばメモリ使用量は増え続ける事となる。 メモリが圧迫されるまで問題があることにすら気付き難いやっかいな不具合になる。 そこで弱参照を使用する。java.util.WeakHashMapにオブジェクトをメモリキャッシュすることで、使用済みとなったオブジェクト(WeakHashMapのみに参照があるような状態)についてはガベージコレクトの対象とすることができ、メモリ使用量が増え続けるような問題を解決することができる。

    弱参照と強参照の違い - unsigned
    satfy
    satfy 2010/08/07
  • ClassLoader Leak Patterns

    1. クラスローダ リークパターン なにそれおいしいの? Takayoshi Kimura Senior Software Maintenance Engineer, JBoss Global Support Service Red Hat

    ClassLoader Leak Patterns
    satfy
    satfy 2010/08/07
  • クラスローダーについて

    2. 日の内容  クラスロードの仕組み  クラスローダーの名前空間  リローディングの技術  その他の話題  アンロードの条件  パッケージプライベート  シリアライゼーション 2010/08/06 #jvmjvm 2 3. 2.17.2 Loading 5 Loading, Linking, and Initializing 5.3.2 Loading Using a User-defined Class Loader クラスロードの仕組み 2010/08/06 #jvmjvm 3 4. クラスローダーの作り方 1. java.lang.ClassLoaderのサブクラスを定義 2. findClass()をオーバーライド 3. クラスファイルをdefineClass()にわせる 4. 結果のjava.lang.Classを返す public class MyClass

    クラスローダーについて
    satfy
    satfy 2010/08/07
  • Javaバイトコード入門

    1. わかる !Java バイトコード ― 30 分でわからない ?Java バイトコード入門 筑波大学大学院 システム情報工学研究科 博士後期課程 水島宏太 2. 自己紹介とか Twitter: @kmizu はてな : id:kmizushima github: http://github.com/kmizu/ 大学院生 構文解析の研究とかやってます 特に Packrat Parsing Scala 好き Scala の布教活動をあちこちでやったり JVM 好き JVM 上で動作する言語処理系 Onion を開発 3. Agenda プログラミング言語としての Java バイトコード マシンモデル 型システム 命令セット クラスファイルベリファイア ベリファイアがはじく操作の例 簡単なプログラムを javap で逆アセンブルする 役に立つかもしれない javap のオプション解説 クラ

    Javaバイトコード入門
    satfy
    satfy 2010/08/06
  • OpenJDKとSun JDK比較、IPA評価結果公表 | エンタープライズ | マイコミジャーナル

    情報処理推進機構 情報処理推進機構(IPA)は8日、OpenJDKとSun JDKの比較評価結果を公開した。アプリケーションプラットフォームとしてSun JDKとOpenJDKにどの程度の違いがあり、OpenJDKを基盤プラットフォームとして採用できるかどうかが評価されている。 IPA iPedia - アプリケーション実行基盤としてのOpenJDKの評価 アプリケーション実行基盤としてのOpenJDKの評価 報告書概要資料 アプリケーション実行基盤としてのOpenJDKの評価 調査報告書 現在開発段階にあるJDK7とOpenJDK7は同じソースコードを基盤としており、そもそも違いが発生しにくい。調査では従来のコードベースのまま開発されているSun JDK6と、OpenJDK7のコードをベースにしつつJDK6への対応を実現しているOpenJDK6を評価の対象とし、JCKがカバーしない範囲に

    satfy
    satfy 2010/07/10