[go: up one dir, main page]

タグ

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

  • Javaのラムダ式導入に関する最新提案の雑なまとめ - 矢野勉のはてな日記

    java7月頭に,Brian GoetzがJavaにおけるラムダ式導入に関する最新提案のドラフトを出しました。State of the Lambda 私はこの提案書と,提案書を元にした英語記事を読んだだけですが,Twitterで話していると,23日くらいにこの提案を元にしたソースがJavaのソースリポジトリにコミットされたらしい。ただし,中ではまだ議論続発してるらしい。ちなみに英語記事はラムダについての連続記事の4回目で,5回目ではWicketでラムダ式を使うとどうなるか,という考察が載っています。提案書のラムダ式とWicketの非整合部分についての考察で,Wicket好きの人は読んでみてもいいと思う。あと,空コンストラクタがないクラスについて提案書は明確なところ書いてないよね,みたいな指摘も。せっかくなんで,最新提案におけるラムダ式実装をまとめておきます。いままでのあらすじ最新提案書では

    kkobayashi
    kkobayashi 2010/07/30
    Javaがすごいことになっているなあ
  • Javaにおける文字コードまわりの話 - あしのあしあと

    毎度毎度、文字コードの話は面倒である。開発のメインストリームでないことと、外部調整が必要であることが原因だと思う*1。 プラットフォームが変わるたびに、毎回検証しているような気がする。私の場合だと、毎回OSが違う。Windows Server、AIX、HP-UX、Red Hat Linux。毎回Java仮想マシン(JVM)が違う。SunのJDK(今はOracleか)、JRockit(これもOracleか)、IBMのJVM、HPのJVM。データベースエンジンは、だいたい同じ。 当にみんな、毎回やっているのだろうか? とりあえず、Javaで開発することは決まっている前提で、外部設計と内部設計にて、やるべき(と思っている)ことをまとめておく。 以降で挙げる例は、次のようなシステムをイメージしている*2。 構築対象システム Webアプリケーション バッチ 外部システム ホスト 外部設計 画面や帳

    Javaにおける文字コードまわりの話 - あしのあしあと
  • http://twitter.com/ReiOdaira

  • Design and Implementation of RJJ

    Randall R Schulz Azul Systemsのブログで以下のようなコメントを見つけた(http://blogs.azulsystems.com/cliff/2008/05/javaone.html): Cliff Click wrote: STMの性能はユーザから見て透過的ではない。STMのランタイムはアボートと再実行をしなければならないからだ。その仕組みは複雑怪奇で、負荷が高い状況でSTMの振る舞いは予測不能だ。実際の製品で使える代物ではない。 これについて何かコメントは反証はあるかい? Raoul Duke Rich Hickey wrote: 明示的にロックを使えばそういう予測不能な事態はなくなるのか?私にはそうは思えない。 要するに負荷が高い状況ではいずれにせよ振る舞いは複雑になる、と言いたいらしい。 うーん、でもロックを使えばある意味そういう複雑な事態は起きないと思

    Design and Implementation of RJJ
    kkobayashi
    kkobayashi 2010/03/16
    Java VMの方は珍しいかも。
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
    kkobayashi
    kkobayashi 2010/02/08
    実際のデバッグでバイトコードを読む必要があったことはないなあ。JITコンパイル後のネイティブコードならともかく。。
  • 気付いたとき、気が向いたとき。by ykhr

    とりあえずやってみたってだけで、あってるかは不明。 ちゃんと使うには、もっと中身を覗いていかないとだめかも。 ライブラリ ganymed-ssh-2 というのを使ってみる。 https://code.google.com/p/ganymed-ssh-2/ バージョンは(Mavenであがってた)262というもの。 ドキュメントがあまりなさそう(古いのはリソースがけっこうある?)で、妄想だけで作ってくのは辛いです・・・ サンプル public static void main(String[] args) { Connection conn = null; try { conn = new Connection("xxx.xxx.xxx.xxx"); conn.connect(); boolean auth = conn.authenticateWithPassword("hoge", "fo

    気付いたとき、気が向いたとき。by ykhr
    kkobayashi
    kkobayashi 2009/08/28
    同じ症状だ。なんでeclipseだとコンパイル通るんだろ?
  • メソッドジェネリクス構文と型推論によるキャストの限界 - 豆無日記

    Hoge hoge = new Hoge(); hoge.hoge() Javaの型推論Utilsクラスのカラクリ 知らなかった....。使えるなコレ。でも、汚いなぁ。 戻り値型に依存した型推論を利用するCastUtilsを使ってたんだけど、mavenでコンパイルしたときだけ Test.java:8: 型パラメータ E を判別できません; 型変数 E (上限 E,java.lang.Object) の固有の最大インスタンスが存在しません。 E obj = method1(); 通勤筋肉痛 - 気付いたとき、気が向いたとき。by ykhr と同じエラーが出て困ってたんですよね。JDKを1.6.0_6にあげても同じでした。 Eclipseの場合は問題なくコンパイルできるのに。クラスのコンパイル順序とかに影響するのかしら。 というわけで、そういった場合は上の記法で直接型を指定してあげるようにすれ

    メソッドジェネリクス構文と型推論によるキャストの限界 - 豆無日記
    kkobayashi
    kkobayashi 2009/08/28
    型推論は便利だけど・・・やっぱめんどっちいね
  • [Comparator] HashMapのソート Javaテクニカルサンプル集

    HashMap、Hashtable、Vectorなどをソートするサンプルです。 Collectionインターフェースを実装しているクラスから、ArrayListのインスタンスを作成し、ソートします。 // ソートする HashMap hashmap = new HashMap(); ArrayList entries = new ArrayList(hashmap.entrySet()); Collections.sort(entries, new Comparator(){ public int compare(Object obj1, Object obj2){ Map.Entry ent1 =(Map.Entry)obj1; Map.Entry ent2 =(Map.Entry)obj2; String val1 = (String) ent1.getValue(); String

  • MapのiterationはentrySet().iterator()を使う - argius note

    FindBugsで気づいたんですが、下記のようなコードはパフォーマンス的によろしくないのでした。 Map map = new HashMap(); // ... for (Iterator it = map.keySet().iterator(); it.hasNext();) { Object key = it.next(); Object value = map.get(key); }これは、こう書くべきでした。 Map map = new HashMap(); // ... for (Iterator it = map.entrySet().iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry)it.next(); Object key = entry.getKey(); Object value = entry.getV

    MapのiterationはentrySet().iterator()を使う - argius note
    kkobayashi
    kkobayashi 2009/08/27
    MapにはentrySet。perl脳だと foreach keys %hash の癖がなー・・・。
  • Java Swing Tips - てんぷらメモ

    \閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう

  • Mapインターフェイスの実装クラスの違いを知る

    JavaのコアAPIに含まれるjava.util.Mapインターフェイスは、キーと値とのマッピングを表すデータ構造のためのインターフェイスです。同パッケージに含まれるListインターフェイスとともに、Javaプログラミングでは非常によく使われるインターフェイスといえるでしょう。 コアAPIには、このMapインタフェース実装クラスがいくつも用意されています。マップというデータ構造は、常にキーを通して値へのアクセスを行うものです。そのため、キーが許容する値やその格納方法などが、個々の実装を特徴付けるポイントになります。 マップの利用頻度は非常に多いだけに、コアAPIで使えるマップの種類を確認しておくのは、効果的なプログラミングへとつながります。ここでは、java.utilパッケージに含まれる5つのMap実装クラス、Hashtable、HashMap、TreeMap、IdentityHashMa

    Mapインターフェイスの実装クラスの違いを知る
    kkobayashi
    kkobayashi 2009/08/06
    ふむふむ。
  • JavaMail ドキュメント

  • RADKRAFT: Using java.util.Properties

    Javaアプリケーションに対して、 外部ファイルから環境設定情報などを読み込ませるために、 ちょっとしたINIファイル(Configファイル)を使いたいとき、 java.util.Propertiesが役に立ちます。 また、Java VMが自前でもっている環境情報は、 java.lang.System.getProperty()で取得することができます。 ここでは簡単なプロパティファイルを読むサンプルを載せてみます。 /* * PropertyExample.java * 2002/01/19 */ import java.io.*; import java.util.*; public class PropertyExample { public static void main(String[] args){ try { String propertyFile = "/usr/app1

  • JavaMail - しいしせねっと

    [技術資料室] [SMTP] [Java] [J2EE] [java.dev.jp] [developer.jp] JavaMail のお部屋 Last update 2007.1.14 JavaMail(TM) API こんなんや。トップだけ日語化されてた。めでたい。 雑誌で時々、簡単に触れられているけど、具体的なのがよく分からないので調べてみましたぞと。 何をするものか Javaでメールのクライアント(MUA)らしいことが出来る。SMTPで送信ができる。POP3、IMAPもつかえるらしい。 サーバ(MTA)機能は特に持っていない。 よって、メーリングリストなどをつくる場合は、受信部分についてはPOP等を使用するか、別途つくらなければいけないかもしれない。 インストール J2EEに含まれているものなのでJ2EEで利用する場合はこの設定は不要。Tomcatにも入っている? JavaBea

  • IBM Developer

    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.

    IBM Developer
  • Visual EditorでSwingアプリケーションを作成する(Javaマスター)

    Swingプログラミングに慣れている人でも、ソースコード上だけで 思い通りのGUIを作成するのは、かなり骨の折れる作業ではないかと思います。 Visual Editorを使えば、試行錯誤しながら、非常に簡単にGUIアプリケーションが 作成できます。 ここでは、JFrameを拡張して簡単なアプリケーションを作成してみます。 プロジェクトを右クリックして「新規」→「その他」を選択し、 ダイアログにて「JFrame Visual Class」を選択し、 「次へ」をクリックします。 「名前」に適当な名前を入力します。ここではFrameとしました。 プレビュー画面と、コンポーネントパレットが付いた Visual Editorが起動しました。 右側のコンポーネントパレットからコンポーネントを選択し、 プレビュー画面(フレーム)の上でクリックすると、コンポーネントを 貼り付けることができます。 また、編

  • JFreeChart

    Welcome To JFreeChart! JFreeChart is a free 100% Java chart library that makes it easy for developers to display professional quality charts in their applications. JFreeChart's extensive feature set includes: a consistent and well-documented API, supporting a wide range of chart types; a flexible design that is easy to extend, and targets both server-side and client-side applications; support for

  • VM Spec The Structure of the Java Virtual Machine

    Java Language and Virtual Machine Specifications Java SE 25 Released September 2025 as JSR 400 The Java Language Specification, Java SE 25 Edition HTML | PDF Preview feature: Primitive Types in Patterns, instanceof, and switch The Java Virtual Machine Specification, Java SE 25 Edition HTML | PDF Java SE 24 Released March 2025 as JSR 399 The Java Language Specification, Java SE 24 Edition HTML | PD

    kkobayashi
    kkobayashi 2009/03/10
    JAVA VM の specification
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

    kkobayashi
    kkobayashi 2008/08/04
    cygcheck -fなんていう便利コマンドがあるのか。
  • JavaのGC頻度に惑わされた年末年始の苦いメモリ

    JavaのGC頻度に惑わされた年末年始の苦いメモリ:現場から学ぶWebアプリ開発のトラブルハック(9)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Java言語を利用するようになって、システムを開発するうえで楽になった要素は何かというアンケートがあったとき、読者の皆さんならどのように回答するだろうか。私は迷わず、「メモリ管理」と回答する。 同時に、Javaを利用してシステム開発を行う際に、注意していること、悩まされたことは何かとアンケートがあれば、「GC(ガベージ・コレクション)」と回答するだろう。 多くのシステム開発の現場では、いまこの瞬間も、JavaのGCの挙動に悩まされ、GC

    JavaのGC頻度に惑わされた年末年始の苦いメモリ