オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基本事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX
Androidアプリケーションは、Java言語を用いて開発できます。Androidアプリケーションの開発にあたっては、米グーグル社が提供するAndroid SDK(Software Development Kit、開発キット)の知識は当然ながら、基本となるのはJava SEです。この連載では、Javaでの開発の基礎となるJava SEを、実際にAndroid上で実行できるソースコードとともに解説します。 はじめに 最終回の本稿は、基本的なJava APIで、これまでとりあげていなかった日付や時間を操作するAPIを紹介します。 なおAndroid SDKに含まれる基本APIは、現行のJava SE 6とまったく同じというわけではありません。API Levelが低いと、Java SE 6に含まれるクラスやメソッドの一部が実装されていない場合があります。 API Levelの微妙な違いは、And
お久しぶりです。 ただ今仕事でphpを始めております。Web系統の処理が非常に楽チンなのでMMORPGもこれで作っちゃおうかしらと気持ちが傾いています(というか最近のブラウザMMORPGはこういうスクリプト言語で作られてんじゃないかしら?) まあ、サーバー側の負担が半端ではないので、1万人同時接続とか無理でしょうけどね。 さて!急いでphpに携わらなければならなかったので、即席でphp使いになるために 3日で作るPHPアプリケーション [ 秦崇 ] ジャンル: 本・雑誌・コミック > PC・システム開発 > プログラミング > PHPショップ: 楽天ブックス価格: 2,376円を読みました。簡単である上に、いきなり使えるコードが出ているので嬉しい。 しかしやはりそこには落とし穴が! phpでは変数には頭に半角の「$」を付ける。うむ、それはBASICでもそうなので違和感は無い。 phpでは定
メモリ不足の問題の切り分け方の基本 まずは、メモリ不足がJavaヒープとCヒープのどちらで発生したかを切り分けておこう。 Javaヒープ OutOfMemoryErrorがスローされ、JavaVMの実行が継続している場合には、Javaヒープが不足している可能性が高い。Javaヒープ不足かどうかを確定させるために、スローされたOutOfMemoryErrorのトレースを確認しよう。 java.lang.OutOfMemoryError: Java heap space <=======【*1】 at java.nio.CharBuffer.wrap(CharBuffer.java:350) <=======【*2】 at java.nio.CharBuffer.wrap(CharBuffer.java:373) at java.lang.StringCoding$StringDecoder.
JNIを使ってCなどのnativeプロセスからJavaVMを起動し、さらにそのJavaVMからnativeメソッドをコールバックさせる方法です。Webで調べた際に、意外と情報が見つからなかったのでメモ。 結論から言ってしまうと、RegisterNativesというJNI関数を使用します。この関数は、jclassとJNINativeMethod構造体の配列を引数に取り、Java側のnativeメソッド宣言とnative側のメソッド本体を動的に結びつけます。 具体的な使い方は、以下のサンプルコードを参考にしてください。 まずは、nativeのコールバックメソッドを持つJavaクラスを作成。 package jnitest; public class JniTest { // nativeから呼ばれるメソッド public boolean entryMethod() { System.out.p
前回、Androidでは端末のメモリが不足するとstatic変数がクリアされたり、 Activityのメンバ変数がクリアされるという問題を紹介しました。 とはいえ、Object型変数であれば常に null になることを想定しなければならないとすると毎回 null チェックをしなければならないことになり、プログラムとしてもかなり可読性が悪いばかりか、不具合発生時に不具合を見逃す可能性も高くなります。 じゃあどうすればいい?ということになりますが、具体的な対処法の前に、まずはstatic変数がクリアされる理由について詳しく紹介します。 01. 端末がメモリ不足になってアプリを再アクティブにした場合、クラスロードから再度実行される 端末がメモリ不足になると、static変数やActivityのメンバ変数がクリアされると紹介しましたが、このとき、Javaとしてどのような動きをするかというと、クラス
究極の問題解析ツール、逆コンパイラJD-Eclipseとは:ユカイ、ツーカイ、カイハツ環境!(13)(1/2 ページ) ソースコードがなくても大丈夫? 開発を行っている際に、利用しているミドルウェアやライブラリの内部で例外が発生して、そのクラスのソースコードを調べたくなることはありませんか? 例えば、以下のような場合です。 ほかのチームが開発したモジュールのメソッドが仕様通りの動作をしない仕様通りの動作をしない 処理に時間がかかっているが、何の処理に時間がかかっているのか分からない何の処理に時間がかかっているのか分からない アプリケーションが応答しなくなり、どこかで停止しているのだが、どこで停止しているか分からないどこで停止しているか分からない ソースコードがないため、“やきもき”していませんか? 開発者であれば、誰しもこのような経験をしたことがあると思います。ソースコードがあれば、コード
USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND ……(中略)…… tomcat 13701 13779 13.9 114 1.7 745108 37344 pts/0 Rl+ 14:11 0:04 java …… ……(中略)…… tomcat 13701 13799 10.8 114 1.7 745108 37344 pts/0 Rl+ 14:11 0:03 java …… ……(中略)…… tomcat 13701 13815 10.1 114 1.7 745108 37344 pts/0 Rl+ 14:11 0:03 java …… ……(以下略)…… CPU使用率が高いプロセスのLWPIDを上から3つ抜き出すと、「13779」「13799」「13815」となった。スレッドダンプでのnidは、16進数にな
Tomcat(5.5対応)についての各種Tipsです。 新しく書いたものが上になるように並べてあります。 JSP2.0 での <jsp:param> について JSP2.0(Tomcat5以降) では、EL式というものが使えます。 例えば、今まで <%= request.getAttribute("userName") %> と記述していたものが、EL式を使うと ${userName} こんなに簡単になります。 これはリクエスト属性だけでなくセッション属性(さらにはアプリケーション属性)もサポートしているので 今までのように「この属性ってリクエストだったかなぁ、セッションだったかなぁ」と悩む必要がありません。 ただし、リクエストパラメータを使うには多少手を加える必要があります。 <%= request.getParameter("userName") %> これは、以下のように記述します。
HashMapを使う上での注意点について説明します。 Map型変数を使う HashMapオブジェクトを格納するには、HashMap型変数ではなくMap型変数を使います。 // HashMapオブジェクトの生成 Map<String, String> map = new HashMap<String, String>(); HashMapはMapの実装の一つに過ぎません。HashMapをMapとして使っているのであればMap型変数に格納した方が自然です。また、パフォーマンス上の問題で他のマップ(TreeMapなど)と差し替えることが容易になるなど、プログラムの汎用性が上がります。HashMap独自の操作が必要である場合(あまり思いつきませんが)を除いてMap型変数を使いましょう。 初期容量と負荷係数 HashMap生成時のパラメータとして、初期容量と負荷係数があります。 初期容量は、Hash
前回では、コレクションフレームワークに関係のあるクラスのうち、具体的な実装クラスについて紹介しました。今回はさらに踏み込んで、コレクションフレームワークと密接な関係のある、各要素にアクセスすためのクラスやソートするためのクラスなど、非常に便利なクラス群を紹介します。 Iterator Collectionの中に含まれる各要素にアクセスする場合、java.util.Iteratorを使用することになります。 Collectionの中身すべてにアクセス java.util.Collectionインターフェースには次のようなメソッドがあります。 java.util.Iterator iterator() コレクションの要素の反復子を取得する。 このメソッドを使用してIteratorを取得することにより、簡単にCollectionの各要素にアクセスできます。 java.util.Iteratorが
Java技術解説 Javaプログラムの種類 発表当初、ネットワーク対応言語として、主にWebクライアント上での利用で注目を集めたJavaですが、その後サーバサイドでのシステム構築に使われるなど大きな発展を遂げました。 ここでは以下の4つについて説明します。 アプレット(Applet) サーブレット(Servlet) JavaServer Pages(JSP) Enterprise JavaBeans(EJB) アプレット(Applet) 「小さなアプリケーション」を意味する造語です。 アプレットはWWWサーバからダウンロードされ、ブラウザ上で動作するプログラムであり、最初はWebページにアニメーション等の動きを付けることに用いられていました。 その後、Webシステムのクライアントアプリを作成する技術として適用が進み、現在では様々なGUI部品や画面の制御技術等も出揃ってきています。 アプレ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く