Java
最後に、API改良の残りのセキュリティー関連と、プラットフォームの変更、etc、について、説明します。 (2014-03-21追記)APIドキュメントのリンクを差し替えました。 目次 モジュール化の準備 コンパクトプロファイル セキュリティー関連 Javadoc APIのjavax…
このエントリーでは、これまでに紹介した機能以外の、新しいAPIと改良されたAPIについてまとめています。 (2014-03-21追記)APIドキュメントのリンクを差し替えました。 目次 ラムダに伴うコアライブラリーの拡張 内部イテレーターとIterable#forEach Compara…
このエントリーでは、(2)で触れた「ラムダ式」「メソッド参照」以外の新しい言語機能についてまとめています。「ラムダ式」「メソッド参照」については、(2)を参照してください。(2014-03-21追記)APIドキュメントのリンクを差し替えました。 目次 仮想拡張メ…
このエントリーでは、Java8の新機能のうち、最も大きな変更であるラムダ式と、それに関連するメソッド参照、およびストリームについてまとめています。 目次 ラムダ式とメソッド参照 関数型インターフェイス ラムダ式の内部表現 ラムダ式のキャプチャー スト…
このシリーズは、2014-03-18に正式リリースが予定されている、Java SE 8の新機能と拡張機能についてまとめたものです。 (2014-03-21追記)予定通り、2014-03-18(現地時間)にリリースされました。APIドキュメントも公開されたので、そちらに差し替えました。…
Javadocの情報を、リスト形式で取得したい、具体的には、CSVで出力して、スプレッドシートとして閲覧したいと思いました。 独自でパーサーを作って、ソースコード直接orHTML形式をパースする? さすがにそれより簡単なやり方があるでしょうと思って調べてみ…
この記事は、個人的なおさらいのための、Java Concurrency Utilitiesの一部を使ったサンプルとメモです。 目新しいものは特にありません。 記事内のサンプルとAPIドキュメント参照はJava7(Java SE 7)を基準にしていますが、Java Concurrency Utilities自体は…
比較的新しいJUnitでは、TemporaryFolder(org.junit.rules.TemporaryFolder)というRuleクラスが使用できます。 テストで使った一時ディレクトリを、テストが終わった後に自動で消すことができます。 Rulesの機能は、2009-08-04にリリースされたJUnit4.7で追…
前回(2013-02-19)から3か月ほど経過しましたが、また少し状況が変わったようです。 今回は、EarlyAccess版ビルドをインストールしてみました。
最近は、ここで扱っている情報をリアルタイムに収集することはほとんどなくなっています。 久しぶりにJava関連の情報を集めに行ってみると...どうやら今年の秋ごろにJava8がリリースされる見込みとか。 Java7ではまとめたことですし、今回もちょっとだけ追い…
元ネタはブクマ参照。 少なくとも、Java6でコンパイラしたものをJava7で動かしても同様なので、コンパイラの話ではないと思います。internのpool実装がJava7で変わったらしく、これまではPermGenだったのが、Java7では普通のheapに置くようになったとか。 で…
こっち方面から離れ気味です。 最近はアンチパターンについて主にネットで調べておりました。 そして、下記リンクのページを見つけてインスパイアされたのが今回のネタです。 (2004年のエントリなので新鮮ではないです。) Martin Fowler's Bliki in Japane…
EPWINGという辞書フォーマットがあるんですね。 この辺の分野は疎いので知りませんでした。 辞書データはEPWINGフォーマットのものを適当に。ライブラリは、これを使いました。 EB4J (SF.jp) final String word = "..."; Book book = new Book("..."); // EP…
ついに、私の使っているほぼすべての環境がJava1.6以上を使えるようになりました。 それと合わせて、Java SE 6で導入された"JSR-223 Scripting for the Java Platform"の機能を使う機会があったので、少しまとめてみました。
主キーの話に関連して、UUIDについても――実際は初めてのことばかりでしたが――おさらいをしてみました。
リストの生成を行うスレッドAと、リストのイテレーションを行うスレッドBがあって、リストListはそれぞれのスレッドの処理が始まる前にスレッドAからスレッドBに渡しておかなければなりません。 スレッドBは、Listが並列処理かどうかを知らないものとします…
JavaFX2はGUIライブラリになったとの話を耳にしたので、ちょっと試してみました。
そういえば、以前のエントリで11gではmapDateToTimestampというプロパティがデフォルトtrueで、DATE型の列がTimestampで取得できるという話がありました。 これは実際に11gで確認できました。すなわち、DATE型の列において、getObjectでjava.sql.Timestampが…
断片的な知識と想像に任せて、行き当たりばったりでプログラミング言語の作り方に挑戦しています。(2012-02-11〜2011-02-27) JavaでJVM言語を作ってみる(1) - 環境を準備する JavaでJVM言語を作ってみる(2) - バイトコード解析 JavaでJVM言語を作ってみる(…
これまでの実験のまとめとして、最後に処理系を作ってみました。
今回は解析器ジェネレータについて見ていきます。
前回までは、JVMのコード生成について実験してきました。 今回は、ちょっとだけ解析器の方へ進んでみます。
今回は、javacを使わずにclassファイルを作ってみます。
前回の続きです。 足し算プログラム"Adder"を、直接バイトコードを出力して作ります。 その前に、JVMの機械語について少し触れてみたいと思います。
これまでも極簡単な処理系を作ってみたことはありますが、いずれもインタプリタで実用的ではないものでした。 今回も、本格的なものを作る気は今のところはありません。 ですので、題名は正確には、JVM言語を作る環境を準備する、と言ったところでしょうか。…
※使用しているCayenneのバージョンは3.0.2ですが、バージョン3以上なら使えると思います。 Cayenneでは、CayenneModelerで"Query"というマッピングを作ることができ、SQLTemplateとして利用できます。この機能は、Adapter(DBMSのインターフェイスみたいなも…
Wicketはステートフルが基本。 それでも、ステートレスなページをWicketで実現したい、実現できるなら多少制限があってもかまわない、という場合の、真のステートレス(と言い切っていいものかどうか)を実現する方法を模索してみました。
年明け早々、予定していたバタバタと予定外の(ある程度は覚悟していたものの、予想を上回ってしまった)バタバタとしておりまして、書きたいことがまとめられないので、雑感ってことで。
先に結論から。 Wicket-QuickStartでソースフォルダー"src/test/java"の下に作られる"Start.java"をEclipseなどからデバッガで実行すれば、軽快なテスト用アプリケーションサーバが起動します。JNDIの設定もjndi.propertiesだけでOK。 さらに、「Cayenne(3.0…
Cayenneの接続設定でJNDIDataSourceFactoryを使っている場合、JNDIサーバが参照できない環境で設定を切り替えずに単体テストをするにはどうしたら良いのか...と考えたらこうなりました。