約 2,878,799 件
https://w.atwiki.jp/sevenlives/pages/1977.html
JavaBeansコンポーネント?
https://w.atwiki.jp/beaglemasa/pages/53.html
■SuseでJFreeChart等を使用する場合の文字化け対策 原因;OS起動時にLC_ALLという最優先のロケール変数に”POSIX"がセットされてしまうので、tomcat起動時のロケールが"ja"ではなくなり、/usr/local/java2/jre/lib/font.properties.jaファイルが読み込まれない為 対応;Tomcat起動時に設定する(/etc/init.d/tomcat)のサービス起動スクリプトの先頭へ追加する exportLC_CTYPE=ja_JP.UTF-8 exportLC_ALL= 上記の2つを追加する事で、Tomcat起動時に強制的にLC_ALLを空にしておく。
https://w.atwiki.jp/ce00582/pages/3792.html
import java.io.IOException; import java.io.File; import javax.sound.sampled.*; public class game0717{ public static void main(String [] args) { try { AudioInputStream ais = AudioSystem.getAudioInputStream(new File("sound.wav")); byte [] data = new byte [ais.available()]; ais.read(data); ais.close(); AudioFormat af = ais.getFormat(); System.out.println("#channels " + af.getChannels()); System.out.println("#isBigEndian " + af.isBigEndian()); System.out.println("#FrameSize " + af.getFrameSize()); System.out.println("#SampleSizeInBits " + af.getSampleSizeInBits()); System.out.println("#SampleRate " + af.getSampleRate()); if (af.getEncoding() == AudioFormat.Encoding.PCM_SIGNED) { System.out.println("p4"); } else if (af.getEncoding() == AudioFormat.Encoding.PCM_UNSIGNED) { System.out.println("p3"); } System.out.println(data.length); if (af.getChannels() == 2 af.getSampleSizeInBits() == 16 af.getEncoding() == AudioFormat.Encoding.PCM_SIGNED (!af.isBigEndian())) { short left, right; for (int i = 0; i data.length; i += 4) { left = (short)(data[i] 0xff | (data[i+1] 8)); right = (short)(data[i+2] 0xff | (data[i+3] 8)); System.out.println(left); } } else { System.out.println("p2"); } } catch (Exception e) { e.printStackTrace(); System.exit(1); } } }
https://w.atwiki.jp/invalides/pages/19.html
JavaWorld.com Articles showrss プラグインエラー RSSが見つからないか、接続エラーです。 IDG Japan showrss プラグインエラー RSSが見つからないか、接続エラーです。
https://w.atwiki.jp/javadsge/pages/4431.html
(1)表 (2)プログラム プログラム (3)グラフ (4)出所 Java version of LIBLINEARを使ってみる (5)メモ (6)作業記録 2月15日 ページ作成 -
https://w.atwiki.jp/ehatoovo/pages/21.html
このページはEffective JAVAを読んだメモを書きます。 なお、管理者の文章力があれだったりページ作成中ということもあり、いろいろ間違っている可能性があります。 間違いが起こらない為にも購入して読まれることをおすすめします(宣伝) Amazonのリンク↓ EFFECTIVE JAVA 第2版 (The Java Series) Effective JAVA 概要 Effective JAVAはプログラミング言語Javaについて、 より良いプログラムの書き方についてまとめられた本です。 Effective JAVAは以下の章で構成されています。 第1章 はじめに 第2章 オブジェクトの生成と消滅 第3章 すべてのオブジェクトに共通のメソッド 第4章 クラスとインタフェース 第5章 ジェネリックス 第6章 enumとアノテーション 第7章 メソッド 第8章 プログラミング一般 第9章 例外 第10章 並行性 第11章 シリアライズ 第 1 章 はじめに Javaは正式なリリース名と、それに対応するエンジニアリングバージョン番号を持つ。し、知らなかった… 正式なリリース名 エンジニアリングバージョン番号 Java Platform, Standard Edition 6 1.6 Java言語は4種類の型をサポートしている。これを知っていればJava通を名乗れる(嘘) ・インターフェース ・クラス ・配列 ・基本データ 第 2 章 オブジェクトの生成と消滅 項目 1 コンストラクタの代わりに static ファクトリーメソッドを検討する クラス設計時の話。publicのコンストラクタ以外にpublicのstaticファクトリーメソッドを提供できる。 staticファクトリーメソッドとは、クラスのインスタンスを返すstaticのメソッドである。 staticファクトリーメソッドの長所 メソッド名を持つ メソッドが呼び出されるごとに新たなオブジェクトを生成する必要がない メソッドの戻り値型を任意のサブタイプのオブジェクトで返すことができる パラメータ化された型のインスタンス生成の面倒さを低減する staticファクトリーメソッドの短所 public,protectedのコンストラクタを持たないクラスのサブクラスを作れないこと →☆よく分からないので再読。 他のstaticメソッドと区別がつかない →ドキュメントで注意を引いたり標準の命名規約に従うことで対処する。 項目 2 数多くのコンストラクタパラメータに直面した時にはビルダーを検討する コンストラクタやstaticファクトリーメソッドは、パラメータをたくさん持つのに不向きである。 テレスコーピングコンストラクタパターンは必須パラメータだけを受け取るコンストラクタと +αのオプションを受け取るコンストラクタを複数作成する。 オプションパラメータが多すぎると大変なことになる。 JavaBeansパターンはパラメータなしのコンストラクタを呼び出し 必要とされるオプションのSetterメソッドを呼び出す。 呼び出しが複数の記述に分断されるため、 誤ったパラメータを渡した場合に不具合を検知し難いという欠点ある。 これは本書を読んで初めて知った。そう言えばそうだね。 両者の欠点を克服したものがビルダーパターンである。 項目 3 private のコンストラクタか enum 型でシングルトン特性を強制する シングルトンの実装方法 public finalのフィールドによるシングルトン staticファクトリーメソッドによるシングルトン enumシングルトン 項目 4 private のコンストラクタでインスタンス化不可能を強制する ユーティリティクラスのインスタンスはほぼ意味が無いので そもそもインスタンス化できないようにする記述が必要。 項目 5 不必要なオブジェクトの生成を避ける コストが高く用途が決まりきっているオブジェクト(Calendarクラスの特定日付など)は クラスのstaticフィールドとして据え置き、static初期化子を用いることで パフォーマンスの改善を図ることができる。 項目 6 廃れたオブジェクト参照を取り除く Wikipediaより引用。メモリリーク - Wikipedia メモリリーク (Memory leak)とは、プログラミングにおけるバグの一種。 プログラムが確保したメモリの一部、または全部を解放するのを忘れ、確保したままになってしまうことを言う。 メモリリークが発生する原因でよくある物は以下のとおり。 意図しないオブジェクトの保持 キャッシュ リスナーやコールバック 項目 7 ファイナライザを避ける 第 7 章 メソッド 項目 38 パラメータの正当性を検査する 項目 39 必要な場合には、防御的にコピーする 項目 40 メソッドのシグニチャを注意深く設計する 項目 41 オーバーロードを注意して使用する 項目 42 可変長引数を注意して使用する 項目 43 null ではなく、空配列か空コレクションを返す 項目 44 すべての公開 API 要素に対してドキュメントコメントを書く 第 8 章 プログラミング一般 項目 45 ローカル変数のスコープを最小限にする ローカル変数宣言は初期化子を含んでいるべき ローカル変数宣言はできるかぎり使用する直前に行う forループのイディオム3つ。 // ①コレクションのイテレート for (Element e c) { doSomething(e); } // ②イテレータを用いたforループ for (Iterator Element i = c.iterator(); i.hasNext(); ) { doSomething(i.next()); } // ③ローカル変数のスコープを最小限にするイディオム for (int i = 0, n = expensiveComputation(); i n; i++) { doSomething(i); } 項目 46 従来の for ループより for-each ループを選ぶ 前述の②③は単なるforループであり余り良くないらしい。 Mapのループはイテレータを使ったforループしかやったことが無かったので for-eachループはどうやるのかを調べた。 // ④Mapのイテレート for(Map.Entry String, String e map.entrySet()) { doSomething(e.getKey()); doSomething(e.getValue()); } for-eachループが使えない状況 フィルタリング 変換 並列イテレーション 項目 47 ライブラリーを知り、ライブラリーを使う プログラマは以下の標準ライブラリーの内容を知っておくべき。 java.lang java.util java.io java.utilパッケージのコレクションフレームワーク java.util.concurrent 項目 48 正確な答えが必要ならば、float と double を避ける 扱うデータとそれに対応するデータ型 9桁以下の整数 - int 18桁以下の整数 - long 18桁を超える - BigDecimal 小数を含む - BigDecimal 項目 49 ボクシングされた基本データより基本データ型を選ぶ 基本データ型(primitive type)→ int, double, boolean 参照型(reference type)→ String, List 対応するデータ型同士は特別な操作なしに代入できる。 // 自動ボクシング(autoboxing) int a = 10; Integer b = a; // 自動アンボクシング(auto-unboxing) Integer c = new Integer(10); int d = c; 参照型同士を == 演算子でつなげると値の比較ではなく、 2つのオブジェクト参照に対して同一性比較(identify comparison)を行う。 Integer first = new Integer(10); Integer second = new Integer(10); // first == second // 同じ値を表していても異なるIntegerインスタンスへ参照しているならfalseを返す ☆単一操作内で"基本データ型"と"ボクシングされた基本データ型"を混在させた場合、 ほとんどの場合に"ボクシングされた基本データ"は自動アンボクシングされる。 Integer i; if (i == 42) { // nullオブジェクト参照が自動アンボクシングされるとNullPointerExceptionがスローされる // 到達しない } 項目 50 他の型が適切な場所では、文字列を避ける データの扱い方の話。 データが本質的に本当に文字である場合にだけ、文字として扱うのが正しい。 データが数値ならば、int, float, BigIntegerなどの適切な数値型を使用すること。 項目 51 文字列結合のパフォーマンスに用心する String型の(+)による文字列結合はめっちゃ遅いので StringBuilderのappendメソッドを使う。 項目 52 インタフェースでオブジェクトを参照する List String list = new Vector String (); のListの部分はインターフェース型と呼ぶ。 new の後ろに続くクラスを後から変更しやすい。 項目 53 リフレクションよりインタフェースを選ぶ 本文より引用。 リフレクションの正当な使用方法は、実行時には存在しないかもしれない他のクラス、メソッド、あるいはフィールドに対するクラスの依存性を管理することです。 JavaBeanクラスのフィールド名hoge01~hoge99の一括設定とかでリフレクションを使うのはよくないんだね! ArrayList使えよという話だけどJavaBeanクラスを渡す先のO/Rマッパーが上手く動いてくれない(泣 項目 54 ネイティブメソッドを注意して使用する C,C++等Java以外のプログラミング言語で書かれた特別なメソッドであるネイティブメソッドを Java Native Interface(JNI)で呼べるそうです。まず使わない。 項目 55 注意して最適化する 既に稼動しているプログラムはバグや仕様変更が無い限り触らないほうがいい。 項目 56 一般的に受け入れられている命名規約を守る 命名規約で参考になりそうなサイト↓ Google Javaスタイル Google スタイルガイド
https://w.atwiki.jp/ce00582/pages/3475.html
import java.io.*; import java.awt.*; import java.awt.Graphics; import java.awt.event.*; import java.net.URL; import javax.sound.sampled.*; class game0228 extends Frame implements Runnable{ Frame f; Thread th; int ballx,bally,dx,dy; public static void main(String[] args){ Frame f=new game0228(); f.setSize(700,700); f.setBackground(Color.yellow); f.show(); } game0228(){ addWindowListener(new stopwin()); ballx=100; bally=300; dx=10; dy=7; th=new Thread(this); th.start(); } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } public void paint( Graphics g ) { g.setColor(Color.red); g.drawRect(ballx,bally,20,20); } public void update(Graphics g) { paint(g); } public void run() { int i; for (i=1;i 500;i++){ ballx=ballx+dx; bally=bally+dy; if (ballx 500)dx=-dx; if (ballx 0)dx=-dx; if (bally 500)dy=-dy; if (bally 0)dy=-dy; if (ballx 490){ music(); } if (ballx 10){ music(); } if (bally 490){ music(); } if (bally 10){ music(); } repaint(); try{th.sleep(100);} catch(InterruptedException e) { } } } void music(){ try {URL url = this.getClass().getClassLoader().getResource("sound.wav"); AudioInputStream audioIn = AudioSystem.getAudioInputStream(url); Clip clip = AudioSystem.getClip(); clip.open(audioIn); clip.start(); try{Thread.sleep(100);} catch(InterruptedException e) { } clip.stop(); } catch (UnsupportedAudioFileException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (LineUnavailableException e) {e.printStackTrace();} } }
https://w.atwiki.jp/marineblue45/pages/14.html
javascript sleipnir seahorse sample 参考 if (document != null) { var hoge= 謎 + document.title + ですよ ; alert(hoge); document.title = hoge; for ( var i = 0; i document.styleSheets.length; i++ ) document.styleSheets[i].disabled = true; } create element 参考 function addElement() { var element = document.createElement( div ); element.id = "id"; element.innerHTML = "hogehoge"; element.style.backgroundColor = red ; var objBody = document.getElementsByTagName("body").item(0); objBody.appendChild(element); // body要素にdivエレメントを追加 } get iframe etc.. 参考 function callNakanohito(){ //window.alert(frameHogename.document.getElementById("nakanohito").value); window.alert(document.getElementById("frameHogeid").contentWindow.document.getElementById("nakanohito").value); } なお、iframe作成直後にgetしてもなにもないので空しか取れないので注意。 その場合はiframeでonload=などでロードし終わったのを確認してから取得する。 参考 iframe src="frame.html" onload="alert( complete );" ここを編集
https://w.atwiki.jp/h264hirasa/pages/20.html
JAVA Advanced Image (JAI) https //jai.dev.java.net/binary-builds.html JAI インストール
https://w.atwiki.jp/hear_br0wn/pages/27.html
☆JavaScript 【①JavaScriptとは】 動きのあるホームページを作成できるようにする、クライアント用スクリプト言語。 イベント利用のインタラクティブ機能の補完 ユーザ入力補助などにイベント発生 【②JavaScriptとイベントハンドラ】 JavaScriptは動作するタイミング(クリック時、マウスオーバー時・・など)を指定する必要がある。 イベントハンドラ名="実行するJavaScript('コメント')" ●JavaScript(命令)例: ・alert('テキスト') :アラート(ポップアップ)を表示 ●イベントハンドラ(命令をするタイミング)例: ・onabort ブラウザの停止ボタンなどで、画像の読み込みが中断された場合 ・onblur 対象の要素からフォーカス(マウスポインタなど)が離れた場合 ・onclick クリックされたら実行 ・onchange 値が変更されたら実行 ・onerror ページや画像の読み込みエラーされたら実行 ・onfocus 対象の要素にフォーカス(マウスポインタなど)が移動した場合 ・onload HTMLが読み込まれたら実行(ページが表示された直後に実行) ・onmouseover カーソルホバーされたら実行 ・onreset フォームがリセットされた場合 ・onsubmit フォームのサブミットボタンが押されたら実行 ・onselect テキストボックスなどのエリア内をクリックし、入力が可能になった場合に実行 ・onunload 別ページへ移動する場合に実行 【③記述時のルール】 半角文字で記述する ・大文字と小文字が区別される(HTML・CSSは大文字小文字を区別なく書いてもOK) ・各文の最後に「;」(セミコロン)を記述する必要がある。(ないと命令がずっと続いていると認識される) ・半角、タブによるスペースは無視される。 ※コメントはHTMLと同様に --!と//-- でくくる。 ※外部ファイル(外部JS)の場合は、 ・//:ラインコメント(1行) ・/*非表示にしたい内容*/:ブロックコメント 【④組み込みかた】 ④-1.外部ページ CSSのようにJavaScript専用の.jsファイルをつくり、そこから呼び出す。 script type=”text/javascript” src=”パス” /script 例: !DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"" html xmlns="http //www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title JSイベント /title link href="css/import.css" rel="stylesheet" type="text/css" / script type="text/javascript" src="import.js" /script ④-2.ページ内(header内) script type=”text/javascript” 処理 /script 例: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http //www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title Javascript /title script language="javascript" !-- //-- var total = 4800; var a = new Array(3); a[0] = 2000; a[1] = 400; a[2] = 500; function goukei(i){ if(document.f1.elements[i].checked == true){ total = total + a[i]; } else{ total = total - a[i]; } document.f1.elements[3].value = total; } /script /head ④-3.タグ内 要素名 イベント=”処理” 例: body onload="window.alert('オンロードイベント発生') ) ④-4.JavaScriptに対応していないwebブラウザ用に以下の記述をしておくとわかりやすい。 script language="JavaScript" !-- (JavaScriptの処理を記述) /script nonscript このページはJavaScriptが使用されています。 br / JavaScriptを有効にしてから閲覧してください。 /nonscript ※ nonscript ~ /nonscript はJavaScriptに対応していないブラウザの場合のみ表示される。