Author:nothingcosmos(坂頂佑樹) IT系、特にVMに関して 周辺技術の紹介等をしています。 コメント・質問はお気軽にどうぞ。 LLVM wiki twitter:nothingcosmos
地味にハマったのでメモ コンソール上などプラットフォームの文字コードの指定 Mavenの環境変数にプラットフォームの文字コードを指定する。 特に気にしなくても、デフォルトはプラットフォームの文字コードになってます。 set MAVEN_OPTS=-Dfile.encoding=MS932 ソースコードの文字コードの設定 ソースコード自体の文字コードの指定は以下のようにします。 Mavenを実行するJavaが認識できる文字コード名を指定。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.
実装する仕様は、以下のバージョンにアップデートされました。 Servlet 2.5⇒Servlet 3.0 JSP 2.1⇒JSP 2.2 EL 2.1⇒EL 2.2 本連載では3回の連載を通して、Tomcatの最新メジャーバージョンであるTomcat 7について説明します。第1回目と第2回目でServlet 3.0を紹介し、第3回目でTomcat独自の新機能を紹介する予定です。 Servlet 3.0における6つの主な変更点 第1回目となる今回は、Tomcat 7が実装したServlet 3.0について説明します。Servlet 3.0とはJSR-315のことを指します。Tomcatは、このJSR-315仕様を実装しています。 Servlet 3.0では、Servlet 2.5に対して主に、次のような仕様変更を導入しました。 Ease of Development(EoD、開発容易性)
■ 初期化パラメータを使用する場合は「@WebInitParam」 初期化パラメータを使用する場合でも、従来なら以下のようにweb.xmlのServletマッピングに設定を追加していました。 <servlet> <servlet-name>WebServletTest</servlet-name> <servlet-class>test.annotation.WebServletTest</servlet-class> <init-param> <param-name>name</param-name> <param-value>HELLO!!</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>WebServletTest</servlet-name> <url-pattern>/test</url
■ リクエスト処理のアーキテクチャ Tomcat 4時代から採用されているリクエスト処理のCatalinaアーキテクチャは変更なしで、そのまま採用しています。Tomcatが受け付けたリクエストは、リクエスト処理パイプラインによってServletまで到達し処理されます。 ■ クラスタリング(セッションレプリケーション) 若干のインターフェイスの改良はありますが、基本的には同じ仕様です。 「All-to-All」「primary-secondary」の2つのレプリケーション方式が利用可能となっています。 ■ DBコネクションプール 今までどおりApache Commons DBCPを使用し、バージョンはDBCP 1.4系(JDBC 4用)を採用しています。Tomcat独自のjdbc-poolを利用する場合は別途ビルドが必要です。jdbc-poolは近いうちに同梱されるかもしれません。 では、T
毎年6月に行われてきたオープンソースの統合開発環境「Eclipse」のバージョンアップが今年も行われ、最新版となる「Eclipse Indigo」がリリースされました。 バージョン番号は3.7となりますが、Eclipse Indigoは正確に言えばEclipseの新バージョンというよりも、Eclipse本体とそれに関連するさまざまなプロジェクトが同一時期に新バージョンをリリースする、「同時リリース」に対して付けられたコードネームです。 Eclipse Foundationは、Eclipse Indigoの開発には62のプロジェクトチームが参加し、4600万行のコードが含まれていると発表しています。 GUIデザイナーや自動テスト、DSL開発フレームワークなど Eclipse Indigoに含まれる主な新機能をいくつか紹介しましょう。 「WindowBuilder」はGUIデザイナーで、ビジュ
12. Java JSON • Json-lib( ) http://json-lib.sourceforge.net/ • JSONIC http://jsonic.sourceforge.jp/ • FlexJson http://flexjson.sourceforge.net/ • 13. Java API (writeExternal/readExternal) public class Hoge implements Externalizable{ private String str; private long time; @Override public void writeExternal(ObjectOutput out) { out.writeObject(this.str); out.writeLong(this.time); } @Override public v
はじめに 本稿では、Java Enterprise Edition 6で採用されたJSF(JavaServer Faces)について紹介します。 対象読者 Java EE 6開発に興味がある方 これからJavaのWebアプリケーション開発をはじめる方 必要な環境 動作環境は以下のとおりです。 Java EE 6 NetBeans 6.9.1 JSF(JavaServer Faces)とは JavaServer Faces(以下、JSF)が採用された当初は、従来のJavaWebアプリケーションと同様にJSPを使い、その中にJSFのタグを追加していくものでした。JSPはHTMLに近い内容で記述できることがメリットでしたが、現在Webの世界では、Ajaxによる非同期通信や、jQueryUIに代表されるUIコンポーネントも含んでいる非常に優れたライブラリが頻繁に使われるのに対して、JSPが行うのは
What's New in Java SE Documentation Java SE documentation is regularly updated to provide developers with in-depth information about new features in the Java platform. Some recent updates include: Customizing the RIA Loading Experience Customize the rich Internet application loading experience by providing a splash screen or a customized loading progress indicator to engage the end user when the R
十年一昔といいますが、文字通り一昔前の書籍ではJ2EEのEJBコンポーネントはプロセスが分散化されたリモート呼び出しにより処理を行う分散コンポーネントとして説明されています。そして、残念ながら現状Java EE関連の日本語の書籍はこうした古い時代に書かれたものがほとんどとなっています。それゆえ、 開発効率がきわめて悪い 実行性能が悪い*1 仕様がきわめて複雑で理解が大変 といった悪いイメージが定着してしまっているのではないかと思います。しかしながら、最新バージョンのJava EE6では、Spring、Guice、SeamなどのOSSの軽量コンテナのアイデアを取り込むことにより、以前とは比較にならないくらい開発効率が改善されているという事実があります。 ここでは、Hello WorldのEJBの書き方を以前の古いバージョンから順次振り返りながら比較してみることで、EJBのプログラミングモデル
さて、第1回JVMソースコードリーディングの会(OpenJDK6)もあることですし、OpenJDKのソースに手を入れたりコンパイルオプションとか変えてビルドしたいなぁ、とか思いますよね。というわけで一つOpenJDKビルド用サンドボックスとなるFedora 14環境を用意してOpenJDK 6をビルドしてみましょう。 Fedora 14が無い人はFedoraのサイトからLive isoイメージダウンロードして(torrentが利用できる人はtorrent使った方がダウンロード早いです)、仮想環境とか一個作って入れれば良いです。仮想環境では1.2GBほどのメモリと20GBほどのディスクを用意してください。インストールしたらsu -してvisudoで自分のユーザからsudoを発行できるようにしましょう。サンドボックス環境なのでNOPASSWD指定で良いと思います。 Fedora 14がインスト
GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く