タグ

*javaに関するSiroKuroのブックマーク (119)

  • ということで、バイトコードコンパイラを作ってみる。 - きしだのHatena

    おとといと昨日のプログラムを組み合わせて、数式をバイトコードにコンパイルして実行させてみました。 import java.io.*; import java.text.ParseException; import java.util.Stack; public class Compiler { public static void main(String[] a) throws Exception{ System.out.printf("%d : %d%n", eval("4-3"), 4-3); System.out.printf("%d : %d%n", eval("4--3"), 4- -3); System.out.printf("%d : %d%n", eval("((-12 + 3) * 2)"), ((-12 + 3) * 2)); System.out.printf("%d

    ということで、バイトコードコンパイラを作ってみる。 - きしだのHatena
    SiroKuro
    SiroKuro 2011/08/15
    asmとか使うと便利
  • JDK7正式版の新機能一覧(Java言語仕様に関して) - R42日記

    2011-08-02追記 JDK7に致命的なバグ 重要なので先頭に追記しておきますが、JDK7のホットスポットコンパイラに致命的なバグが存在するそうです。 詳しくはコチラ。 http://d.hatena.ne.jp/takahashikzn/20110802 JDK7を使用する際はご注意下さい。 (Javadocのスタイルもガラっと変わりました!!) http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html JDK7の正式版がリリースされています。 興味深い機能やAPIなどが追加されているわけですが、 その中でもみんな一番気になるところである、Java言語仕様の変更についてご紹介。 あとは、個人的にjava.lang.invokeなんてアヤシゲなパッケージが気になっているのですが… APIを見る限り、動

    JDK7正式版の新機能一覧(Java言語仕様に関して) - R42日記
    SiroKuro
    SiroKuro 2011/08/02
    おお、invokedynamic のドキュメントに初めてたどり着いた
  • お勧めのJavaの入門書と習得に要する時間について

    初めての言語が会社で教えられたJava言語という人は少なからずいると思うのですが、実際に実務で使えるレベルに到達するには、普通の人にはそれなりの時間と努力が必要ですよね。

    お勧めのJavaの入門書と習得に要する時間について
  • 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 #javaja_gof

    Ryo Asai @ryoasai74 最近は自分としてはDDDブームだしGoFを勉強することは無かったから、今日くらいは勉強しなおして質問事項でも考えておこうか。スピーカーではないですが。 #javaja_gof 2011-04-24 21:52:19 Ryo Asai @ryoasai74 パターンという考えを最初に知ったのはやはり、GoFのがきっかけではありましたね。最初はパターンといえば、GoF以外知りませんでしたし。最初はJava Unleashedなどの電話帳みたいな英語のサンプルで知ったのがきっかけだったと思う。#javaja_gof 2011-04-24 21:56:04 Ryo Asai @ryoasai74 GoFのパターンはサンプルにあるワープロアプリケーションのように、どちらかというとGUIやコンパイラなどの複雑なプログラムで威力を発揮するものと思っていました

    第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 #javaja_gof
  • sun.comドメインが6月1日に廃止

    OracleはOpenSolaris.comなどSun Developer Networkのコンテンツを自社サイトに移している。 www.sun.comドメインが今年の6月1日に廃止になる。Oracleが公式ブログで通知した。 2009年4月にOracleがSun Microsystemsを買収したあと、sun.comへのアクセスはOracleのサイトに転送されるようになっている。Oracleは既にBigAdmin、OpenSolaris.comなどSun Developer Networkのコンテンツを自社サイトに移しており、現在ハードウェア互換性リストの移行に取り組んでいるところだ。

    sun.comドメインが6月1日に廃止
    SiroKuro
    SiroKuro 2011/03/24
    毎回毎回ふらふらと場所を移動していた Java API ドキュメント、次はどこへ行くんだろう
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
    SiroKuro
    SiroKuro 2011/03/06
    文字列の + 演算子は、少し話を変えると AutoBoxing の話になりそうな気がする。ちなみにうちの職場では AutoBoxing 禁止されてる。
  • 共通関数継承のデメリットを説明せよ - @katzchang.contexts

    共通関数継承とは、あるクラスで共通的に使うだろう関数やメンバを、親クラスのメソッドやメンバとして定義するパターンだ。Constant interfaceパターンやimport staticあたりが関係するアンチパターンとされるモノの一つで、神様ルートクラスを嫌い、POJOを好むのあたりの、ごく初歩な議論になるだろうと思う。 package spike; public abstract class SuperUtil { /** * 時刻形式の文字列から、日付部分を抜き出す */ protected String timestamp2Date(String timestamp) { if (validTimestamp(timestamp)) return timestamp.substring(0, 10); return ""; } /** * 時刻形式の文字列から、時間部分を抜き出す

    共通関数継承のデメリットを説明せよ - @katzchang.contexts
    SiroKuro
    SiroKuro 2011/03/06
    複数人に作らせると、たちどころに SuperUtil が大増殖ですよ
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • 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
  • DIコンテナを作っています。相談に乗ってくれる人を探しています。 - SiroKuro Page

    http://code.google.com/p/freja/ できることは少ないが覚えるべきことも少ない。最低限動かすなら3つだけで十分。 インタフェイスと、その実装クラスを用意する 実装クラスに @Component アノテーションを付ける インタフェイスの Class オブジェクトで get する public class FrejaSample { public void main(String[] args) { Animal animal = Freja.get(Animal.class); animal.bark(); } private interface Animal { public void bark(); } @Component private static class Cat implements Animal { public void bark() { Sy

    DIコンテナを作っています。相談に乗ってくれる人を探しています。 - SiroKuro Page
    SiroKuro
    SiroKuro 2010/10/02
    id:backpaper0 ありがとうございます。修正してみました/jar とか src とか javadoc とか固めて公開してみる http://code.google.com/p/freja/downloads/list
  • Jayの使い方(簡略版)

    prev← up↑ →next 4.jayの使い方(簡略版) jayはyaccのJava版です。 http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/ からダウンロードできます(jay tutorial examples という名前のものをダウンロードするといいでしょう)。 ここにもcode.tar.gzや code.zipが置いてあります。 インストールの仕方を見て、インストールしてください。 ここでは、lexのJava版としてはJFlexを使うことにして話を進めます。 jayのプログラムはyaccのプログラムと同じように、宣言部、ルール部、プログラム部の3部構成になっています。各部の区切り記号は、%%です。%%だけが書かれた行が区切りになります。 yaccプログラムの構成

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

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

  • Togetter - まとめ「javaのクラスローダ同時多発TLのまとめ」

    tissi @tissi まだ実戦投入したこと無いんだけどJava6のスクリプトエンジンは超使える。ゲームとかエンジンはC++で、AIとかLuaで書くけど、あのノリがJavaで使える。ノンストップでビジネスロジックをリロードする箇所を明示的に作れるのがいい。クラスローダいじる系は危なすぎる。 2010-06-15 20:52:52

    Togetter - まとめ「javaのクラスローダ同時多発TLのまとめ」
    SiroKuro
    SiroKuro 2010/06/20
    WebLogic + log4j はマジでヤバい。詳しくは言えないがマジでヤバい。
  • Javaを動かせるレンタルサーバー - しんさんの出張所 はてなブログ編

    以前こういうのは何度か書いていたが、前回書いてから1年以上たっていた。この間に何が変わったか。 単純なJava対応という名前では増えていないように見える。 でも、Javaが動く格安レンタルサーバーはものすごく増えた。 理由はVPS。1年前のエントリの時点でいくつかあったが、メモリがやはり少ないこと、メモリを少し増やすと価格が高くなりすぎるのがネックだった。 そして今ではメモリがかなり多い。ローエンドでも512MBになっているところが多い。これだけあればRDBJavaと余裕で動かせる。OSがWindows Serverの場合1GBはほしいが、1GBもだいぶ安い。 なにより、1年前と比べてWindows Serverを選択できるのが大量に出てきている。今まではOSはLinux、しかもCentOSが圧倒的シェアを持っていたが、今ではWindowsも選べるところが多く、価格はやや高いもののこちら

    Javaを動かせるレンタルサーバー - しんさんの出張所 はてなブログ編
  • アーキテクトと変態は紙一重 - プログラマーの脳みそ

    「卵をテーブルに立てることができますか?」「そんなのできるわけがない」「こうやるんですよ。グシャッ」「そんなの俺でもできる!」 コロンブスの卵のような話は多々あって、工学の成果の多くはそういうものかもしれない。「こうやればできる」を探し出すまでが大変で、見習って真似るのはよほど簡単。よほど簡単とはいうものの、それでも10年ぐらいエンジニアやっててもなかなか到達できなかったりする世界だったりするわけだ。道を開いた人はまさにニュートンの言うところの巨人で*1そうした偉大な先人の肩に乗って僕らは若くして多くの知見を得られ、多くの技能を身につけることができる。 エンジニアたらんとするなら、やはり何かを切り開きたいものだ。自分は巨人ではないけれども、巨人の真似事をしようと悪戦苦闘の日々である。アーキテクトを志したからには背負わねばならない業の様なものだ。 アーキテクトの発想 実業務では日々いろいろな

    アーキテクトと変態は紙一重 - プログラマーの脳みそ
    SiroKuro
    SiroKuro 2010/05/09
    「セミコロンが無くても java には \u003b がある!」と以前ブクマコメに書いたつもりだったのだが、誰も気付いてくれなかった。
  • 型付けについてのまつもとさんとみずしまさんのやりとり

    Yukihiro Matz @yukihiro_matz @kmizu 静的型のメリットは十分に理解してるけど、動的型よりも「表現力が高い」ってことはないんじゃないかなぁ。スタイルの違いはあっても。Mapの例にしても、型情報を失わないScalaはすごいけど、動的型言語なら型情報なしでそのまま動いちゃうわけで。 2010-05-08 11:17:33

    型付けについてのまつもとさんとみずしまさんのやりとり
    SiroKuro
    SiroKuro 2010/05/09
    new T() としたときに T の型が型推論によって自動的に求められるならば動的型言語より記述が簡単になるかもね、という話として読み取った。
  • javariしてみた - Chikirinの日記

    javari というアマゾンが始めたや鞄の通販なんですけど。 画期的なのは、「好みに合わないという理由で返品できる」+「送料も返送料も無料」ということ。つまり“や鞄の試し履き、試し買い”がネットで可能になったということです。 で、このjavariを一度使ってみようということで、今回はその体験レポートです。 ステップ1)まずはネットでお買い物。クリック! 春になってブーツが安くなってるんじゃないかということで、レディース、ブーツのカテゴリーから、色やヒールの高さ、値段などで商品が絞り込めるのは、いかにもネットらしい便利さ。特にちきりんはヒールの高いを履かないので、これで絞れるのはとても便利。 の写真はいろんな角度からのものが掲載されていて、かなりの倍率まで拡大できるので、質感やイメージについてはネットでもほぼ完璧に理解できました。 口コミや評価の情報はまだ少ないですが、色違い商品の口

    javariしてみた - Chikirinの日記
  • Javaの定数クラスをJSTL形式でjspで参照したい - マイメモ

    こんな感じで定数クラスの値をjspで参照したいとき${Constant.hoge}定数クラスの値などを、jspでも参照したいときなどに。dionファイルに追加パラメータで、パッケージ名を指定。複数ある場合はパッケージ名も複数指定。 class="hoge.ConstantsRegister"> "addPackageName"> "hoge.constants" 定数クラスはこんな public class Constant { public static final String hoge = "hoge"; } 定数登録クラスを作成する。上で指定したパッケージ名下のクラスファイル以下を追加する。 package hoge; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.uti

    SiroKuro
    SiroKuro 2010/04/06
    やりたいことは1行で書けるのに、ソース1行で収まらない好例
  • Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記

    IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな

    SiroKuro
    SiroKuro 2010/03/25
    throw new AssertionError("暇を持て余したamachangの遊び");
  • Javaでセミコロンなしでプログラムを書く - プログラマーの脳みそ

    java-ja温泉2日目の夕。 @yoshiori がpythonのワンライナの楽しさを得々と語っていた。 @yoshiori「Brainf*ck を Python-oneliner にコンパイルする Python-onelinerを書いたけど全ッ然反応がなかった。こんなに面白いのに!」 @yamashiro「だって分かりにくいもん」 西尾先生が通常ワンライナではtry-catchが使えないけど子プロセス立ち上げて例外を出力してパースすればエラー処理ができるとか(http://www.nishiohirokazu.org/blog/2006/08/python_12.html参照)そんな話で盛り上がる中、 @nagise「Javaでセミコロンなしでプログラムが書けるような気がしてきた」 Javaの場合、普通にセミコロン(;)でマルチステートメントにかけるのでただ1行にしようというなら改行

    Javaでセミコロンなしでプログラムを書く - プログラマーの脳みそ
    SiroKuro
    SiroKuro 2010/03/22
    \u003b