タグ

javaに関するkat0usiのブックマーク (45)

  • Java for OS X 2015-001 について - Apple サポート

    Java for OS X 2015-001 では、インストール時の不具合が改善されており、Java for OS X の以前のバージョンの修正点をすべて引き継いでいます。インストールされる Java 6 のバージョンは、Java for OS X 2013-005 と同じです。 この記事は、サポート対象外の古い Java ソフトウェアに関するものです。 最新バージョンの Java for OS X は Oracle から直接ダウンロードしてください。 このアップデートは、すべての Web ブラウザから Apple が提供した Java アプレットプラグインをアンインストールします。Web ページでアプレットを使うには、「プラグインが見つかりません」というラベルのついた領域をクリックして、最新バージョンの Java アプレットプラグインを Oracle からダウンロードしてください。

  • String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita

    あるSlackでの会話 何がおきているのか Android 端末でプラットフォームの API バージョンを出すのに、ちょっと色気を出して、 なんて書いたりします。で、だいたい android-22 みたいな感じになるんですけど、でもやっぱり世界ってのは広くて、ふと見たらなんか android-١٦ とか android-၂၂ とか不思議なやつがいるんですよ。 何それ読めない。 もしかして SDK_INT が変な端末がいるのかな??と一瞬考えたんですが、 Build.VERSION.SDK_INT は名前通りプリミティブな public static final int なので疑いようがなかった。 AndroidじゃなくてJavaの仕様 でよくよく調べると、 java.util.Formatter のドキュメントに Number Localization Algorithm なんてものが書か

    String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita
    kat0usi
    kat0usi 2015/07/31
  • Java のチェック例外と非チェック例外の考察まとめ - 全力で怠けたい

    世間ではオワコンと揶揄されることも珍しくない Java ですが、Java を初めたばかりのエンジニアがチェック例外と非チェック例外の使い分けについて「ベストプラクティスないの?」と調べたのをまとめてみました。 エントリまとめ どのエントリも Java についての深い洞察と開発の実践現場での生きた経験をもとに書かれていて大変に勉強になりました *1 エントリ中からリンクされているエントリもぜひ一読されることをおすすめします。 検査例外と非検査例外(実行時例外)をどう使い分けるか - Lino Blog Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指して Javaのチェック例外はクソ仕様 - やさしいデスマーチ 例外の扱いについて その2 - じゅんいち☆かとうの技術日誌 「検査例外はアジャイルやオブジェクト指向の考えに反するという事実」について一部誤

    kat0usi
    kat0usi 2012/08/16
  • Site Cooler

    Blog Post Featured post Sprinkle delicious dishes as a cook with gourmet cookware Continue reading Points to Note When Shopping for a Washing Machine There are different washing machines brands in New Zealand. When shopping, therefore, you need to ensure that first, you get a quality machine; a machine that will last through many years without breaking down. You check product warranties and review

    kat0usi
    kat0usi 2012/08/16
    非検査例外と検査例外
  • J2SE, v1.4 の新機能 New I/O Channel 基礎編

    今回取り上げる Channel は、ファイルや Socket といった今までストリームとして扱っていたものに対するコネクションを表すインタフェースです。 今まで java.io パッケージで提供されていた InputStream/OutputStream やその派生クラス群があるのに、なぜ Channel を新たに導入したのでしょうか。 一番大きな理由はやはりパフォーマンスのようです。 ストリームだとちまちまと読み書きを行うイメージがありますが (あくまでもイメージです ^^;;)、Channel をインプリメントしたクラスではガバッと読んで、ガバッと書き込みを行うという感じです。まとめて行うので、その分効率が上がるというわけです。ここで活躍するのが前回の Buffer です。 実際には java.nio.channels.Channel インタフェースには読み込みや書き込みのメソッドは定

    kat0usi
    kat0usi 2012/07/18
    Channel を使ったものは 1.832 秒、ストリームを使ったものが 2.478 秒
  • New IO

    New IO(java.nio) New I/O(NIO)APIはJDK1.4で追加された機能です。NIOには、java.ioパッケージの入出力機能を補足するいくつかの機能が用意されています。 そのNew IOについて解説していきます。 New IO(java.nio) INDEX バッファ 1.1. New I/O の概要 1.2. バッファ 1.3. バッファの作成方法 1.4. バッファの位置プロパティ 1.5. バッファの読み書き 1.6. ダイレクトバッファ 1.7. MappedByteBuffer 1.8. メモリ領域の割り当て バッファの操作 2.1. clear, flip, rewind 2.2. 同種バッファのビューの作成 2.3. 補助配列 2.4. バイトオーダー(ByteOrder) ファイルチャネル 3.1. チャネル(Channel) 3.2. ファイルチャ

    kat0usi
    kat0usi 2012/07/18
  • 「New I/Oで高速な入出力」第4回 チャネルを使ってみよう

    チャネルのクラス構成 先週はバッファだけでしたが,今週はチャネルも組みあわせて使っていきましょう。 チャネルはストリームの代わりになるクラス群です。大もとになるのはjava.nio.channels.Channelインタフェースです。とはいうものの,ChannelインタフェースにはcloseメソッドとisOpenメソッドしか定義されていません。実際の入出力は,Channelインタフェースから派生したインタフェースを使用します。 入力はReadableByteChannelインタフェース,出力はWritableByteChannelインタフェースで定義します。このほか,大量の入力を扱うScatteringByteChannelインタフェース,同様に大量の出力を扱うGatheringByteChannelインタフェースが提供されています。 これらのインタフェースはすべて名前にByteを含んでい

    「New I/Oで高速な入出力」第4回 チャネルを使ってみよう
    kat0usi
    kat0usi 2012/07/18
    FileChannel etc.
  • Java static クラス - グロブ

    いまのところ、「Google Androidアプリケーション開発入門 画面作成からデバイス制御まで――基機能の全容」 を教科書としてサンプルを実装したりしてるのですが、SQLite のサンプルで、インナークラスを static 宣言してるんですね。 Google のチュートリアルでも同様でした。 ちょっと、見慣れない記法だと思ったのですが、どう使い分けるのだろう? ちょっと挙動を試してみました。 Bar クラスと、Foo クラスを作成。 Barクラス package test; public class Bar { private String m_str; public Bar() { m_str = "Bar"; } class Ham { public String getValue() { // 外部クラスの静的でないメンバーが参照できる return "Ham | " + Ba

    kat0usi
    kat0usi 2012/07/04
  • guava-libraries - Project Hosting on Google Code

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    guava-libraries - Project Hosting on Google Code
  • Arrays.asList()が変わっている - idesaku blog

    int[] data = new int[] { 1, 2, 3 }; List<Integer> list = new ArrayList<Integer>(); list.addAll(Arrays.asList(data)); intをIntegerにAutoBoxingしてくれることを期待したが、コンパイルエラー(汗)asList()がListではなく要素数1のListを返してくる。 今更なのだが、Java5から、Arrays.asList()の仕様が変わっているのだな。 // 正解 list.addAll(Arrays.asList(1, 2, 3)); // 間違い int[] data = new int[]{ 1, 2, 3 }; list.addAll(Arrays.asList(data)); Java5からasList()は可変引数を取るようになったらしい。 いやしか

    Arrays.asList()が変わっている - idesaku blog
    kat0usi
    kat0usi 2012/03/26
  • syboos.jp

    kat0usi
    kat0usi 2012/02/09
  • 文字列連結実行速度比較 ( 試してみよう Java実験コーナー )

    kat0usi
    kat0usi 2012/01/17
    +演算子 > String.concat > StringBuffer > StringBuilder
  • ProxyパターンとProxyクラスと黒魔術 - プログラマーの脳みそ

    Java Advent Calendar 2011 の18日目です。 17日目の記事は JavaEE使ってウェブアプリケーションつくろうよ - 水まんじゅう2、 19日目はJavaエバンジェリストの寺田さんですよ。乞うご期待。 プロローグ 後:「先輩、いまさらなんですけど上からSQLの遅いところを調査してくれって依頼がきてて、全クエリの実行時間を実データで集計とれと言ってるんですけど。これ、SQL発行前後で時間計測するしかないですかねー。このプロジェクトどんだけクエリ発行してるところあるんだろ…。簡単にやれないですかね。とりあえず調査に1週間かかるって返答しちゃいましょうか」 先:「まぁまて。全部のクエリにもれなく時間計測のコードを挿し込むとかやってられんし、手作業で漏れも発生するだろ。こういうのはオブジェクト指向で解決するのがスマートだ。あ、とりあえず調査に1週間かかるとは返答しておけ」

    ProxyパターンとProxyクラスと黒魔術 - プログラマーの脳みそ
    kat0usi
    kat0usi 2011/12/20
  • 究極の問題解析ツール、逆コンパイラJD-Eclipseとは

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは:ユカイ、ツーカイ、カイハツ環境!(13)(1/2 ページ) ソースコードがなくても大丈夫? 開発を行っている際に、利用しているミドルウェアやライブラリの内部で例外が発生して、そのクラスのソースコードを調べたくなることはありませんか? 例えば、以下のような場合です。 ほかのチームが開発したモジュールのメソッドが仕様通りの動作をしない仕様通りの動作をしない 処理に時間がかかっているが、何の処理に時間がかかっているのか分からない何の処理に時間がかかっているのか分からない アプリケーションが応答しなくなり、どこかで停止しているのだが、どこで停止しているか分からないどこで停止しているか分からない ソースコードがないため、“やきもき”していませんか? 開発者であれば、誰しもこのような経験をしたことがあると思います。ソースコードがあれば、コード

    究極の問題解析ツール、逆コンパイラJD-Eclipseとは
  • Java講座 > 3.8. 改行コード

    『目的』 移植性を考慮して改行コードの扱いに注意しましょう。 『Before』 改行コードとして"\n"または"\r"をハードコーディングすることは好ましくありません。 改行コードはプラットフォームによってが異なります。 プラットフォームに依存するソースコードになってしまいますね。 (Windowsでは「\r\n」、UNIXでは「\n」、Macでは「\n\r」が改行として振る舞われます。) 改行コードをハードコーディングするとこうなります。 // 改行を文字列に含める StringBuffer str = new StringBuffer(); str.append("Hello"); str.append("\n"); str.append(name); "一行目\n二行目\n三行目" 別のプラットフォームにおいては正しく動作しないかもしれません。 『After』 改行コードをハードコ

    kat0usi
    kat0usi 2011/09/05
    改行コード:System.getProperty("line.separator")
  • 遅延初期化には気をつけろ - かとじゅんの技術日誌

    フィールドの遅延初期化について勉強したので要約としてまとめておきます。 遅延初期化とは 遅延初期化とは、コンストラクタなどで事前にフィールドを初期化するのではなく、フィールドが利用される時に初期化することいいます。遅延初期化は諸刃の剣と呼ばれていて、必要がなければやらないというのが考え方らしい。 public class Fuga{ private Hoge hoge; public Hoge getHoge(){ if ( hoge == null ){ hoge = new Hoge(); // 遅延初期化している } return hoge; } } ただ、この場合だと複数のスレッドから呼び出されてしまうと、遅延初期化が循環してしまいます。(遅延初期化循環といいます)ではなく、複数のスレッドが割り込むと初期化が何度も行われてしまうということ。 追記:さらにいうとシングルトンは単一のイ

    遅延初期化には気をつけろ - かとじゅんの技術日誌
    kat0usi
    kat0usi 2011/09/05
  • Java講座 > 1.5. リテラルの比較

    kat0usi
    kat0usi 2011/09/05
    string.equals("literal") → "literal".equals(string)
  • https://blogs.oracle.com/okazaki/entry/performance_myth_string_plus_string

    kat0usi
    kat0usi 2011/09/04
    StringBufferとStringBuilderの違いは、StringBufferがスレッドセーフであるのに対して、StringBuilderはスレッドセーフではない代わりに同期をしない分パフォーマンスがよい
  • Java講座 > 1.2. 配列を返すメソッド

    kat0usi
    kat0usi 2011/09/02
  • Java講座 > 5.2. ループ内でインスタンス化しない

    『目的』 インスタンス化方法を改善してメモリ管理の負荷を下げましょう。 『Before』 ループの内部で一時オブジェクトを生成すると、 メモリを管理するためにより多くの負荷がかかってしまう可能性があります。 これは、ループ内で一時オブジェクトを生成しています。 for (int i = 0; i 毎回StringBufferを作っているためメモリ管理に負荷がかかります。 『After』 ループ外で作ったものをループ内で使い回すようにします。 StringBuffer sb = new StringBuffer(); /* ループ外に出した */ for (int i = 0; i ループを繰り返しても、インスタンスは一つだけなのでメモリ管理に負荷はかかりません。 『まとめ』 使い回せるのであれば、ループ内でインスタンス化するのは控えましょう。 大きなインスタンス(コンストラクタにお

    kat0usi
    kat0usi 2011/09/02