タグ

javaに関するclash_m45のブックマーク (126)

  • Java: ファイルロック | Inside ASCADE

    File lockFile = new File("file.lock"); int retryCount = 30; // timeout = 3sec while (! lockFile.createNewFile()) { if ((retryCount--) == 0) { throw new LockFailedException("give up!"); } Thread.sleep(100); } try { // ファイルロックで保護された処理 ... } finally { lockFile.delete(); } マジックナンバーを使っていたり副作用のある式を条件式に使っていたりと、 気になるところはいろいろあるかも知れませんが、このコードの一番の問題は "File.createNewFile() に頼ったロック機構になっている" ことです。どういうことか簡単に説明して

  • XStream

    About XStream XStream is a simple library to serialize objects to XML and back again. Features Ease of use. A high level facade is supplied that simplifies common use cases. No mappings required. Most objects can be serialized without need for specifying mappings. Performance. Speed and low memory footprint are a crucial part of the design, making it suitable for large object graphs or systems wit

  • はじめての“XStream” - あしのあしあと

    今さらながら、XStreamを使ってみた。JavaにおけるXMLの操作は、何年も前にJAXBを使って以来だ。いつの間にやら、JAXBはJava SEにバンドルされ、StAXも加わっていた。ちょっと目を離すと、すぐにおいていかれる。ちなみにStAXについては、櫻庭氏の次の解説がわかりやすい。 http://www.javainthebox.net/laboratory/JavaSE6/stax/stax.html さて、今回の目的は、次のようなXMLファイル*1を読み込んで、必要な情報を取得して解析したり、加工して別ファイルに出力したり、そういう処理をすることだ。 <box> <pack> <magazines> <magazine mcode="001" name="雑誌001" /> <magazine mcode="002" name="雑誌002" /> </magazines> <

    はじめての“XStream” - あしのあしあと
  • Java書式付き出力メモ(Hishidama's Java Formatter/Formattable Memo)

    第一引数で書式を指定し、その書式に則って第二引数以降の値を編集(変換)して出力する。 (第二引数以降の値は、可変長引数で複数指定できる) System.out.printf("値1=%d 値2=%d", 123, 456); String s = String.format("%04x", 789); 書式には「%」が入った文字列を指定する。「%」の書式指定に従って変換が行われる。 デフォルトでは、複数の%指定がある場合、第二引数以降の値が順番に使われる。 引数が多い分には無視されるだけなので別に構わないが、指定に該当する引数が足りないと例外が発生する。 変換の実体はFormatterクラスにある。 したがってどのような書式があるかについてはFormatterJavadocに載っているが、代表的なのは以下のようなもの。 C言語と同様の書式指定 書式 説明 例

  • いつもの日記帳:Eclipse ユーザーライブラリー - livedoor Blog(ブログ)

    2007年03月30日 Eclipse ユーザーライブラリー Javaプロジェクトを作成してライブラリ(*.jarなど)をたくさん入れると、ライブラリだけでプロジェクトがものすごく縦長になってしまう。 これの解消法として「ユーザーライブラリー」がある。 <ユーザーライブラリの作り方> 1.必要なライブラリをどこかのフォルダ(例 C:\temp\libs)にまとめる。 2.プロジェクトを右クリック→「プロパティ」→「Javaのビルドパス」を選択。 3.「ライブラリー」タグを選択し、[ライブラリー]の追加を押す。 4.「ライブラリーの追加」ダイアログが出るので、ユーザー・ライブラリーを選択し[次へ]を押し、次の画面で[ユーザーライブラリー]ボタンを押す。 5.「設定」ダイアログにて[新規]ボタンを押し、任意の名前を設定し[OK]を押す。 6.追加したユーザーライブラリーを選択し、[JARの追加

  • メモリリークを調べたい - はてっちょ

    JavaJavaで悩ましいのが、メモリリークとそれに伴うOutOfMemory。OutOfMemoryでJVMがクラッシュしたら結局何で落ちたかよくわからんね、となってしまう。ヒープダンプJava6では、ヒープダンプを出す仕組みがあります。簡単に手順を。コマンドは全部%JAVA_HOME%\binにあります。JVMのPIDを調べるjpsコマンドでPID(というのが適切かは別として)を調べることができます。 C:\Program Files\Java\jdk1.6.0_13\bin>jps 5604 5996 Jps 5324 Main <−調べたいプロセス ヒープダンプをはかせるjpsコマンドでPIDがわかったので、そのJVMのヒープをダンプさせます。 >jmap -dump:file=c:\dump.txt 5252 Dumping heap to C:\dump.txt ... Hea