約 1,620,988 件
https://w.atwiki.jp/idjj/pages/18.html
java concurrentパッケージ スレッド協調クラス Exchanger スレッド間で協調してオブジェクトの交換をしたいときに使用 Producer/Consumer間で似非同期リクエスト/リプライ実装に使用できる consumer側スレッドでNull Objectを生成 Exchanger#exchange呼び出し subscribe Producerスレッドはsubscribeに対して、キャッシュからデータ取り出し Exchanger#exchange呼び出し CountDownLatch 複数のスレッド間の同期化を行い、最後のスレッドが到達した時点で各スレッドを開放する 再利用不可能 CyclicBarrier 複数のスレッド間の同期化を行い、最後のスレッドが到達した時点で各スレッドを開放する バリアアクションを登録しておくと、各スレッド解放前にバリアアクションを起こすことができる。 各スレッドの状態同期などに使用できる カウントをリセットして再利用可能
https://w.atwiki.jp/fumokmm/pages/12.html
package framework; import java.util.LinkedHashMap;import java.util.Map; import org.eclipse.swt.widgets.Composite; import framework.control.GButton;import framework.control.GControl;import framework.control.GLabel;import framework.exception.NonParentExistsException; public class ControlBuilder{private Map String, GControl manager;private Composite baseComp; public ControlBuilder(Composite baseComp){this.manager = new LinkedHashMap String, GControl ();this.baseComp = baseComp;} public void createLabel(String name, String value) throws NonParentExistsException{GLabel l = new GLabel(name, value);manager.put(l.getName(), l);}public void createButton(String name, String value){GButton b = new GButton(name, value);manager.put(b.getName(), b);}public void create(){//for(Control)}}
https://w.atwiki.jp/suffix/pages/101.html
System.outとSystem.errの違い toStringメソッドについて Javaのビット表現 プリミティブ型とラッパークラス 型変換(キャスト) キーワード解説 Java可変長引数 Javaジェネリックス Java版Foreach Javaパッケージ 役割別クラス・メソッド解説(適宜編集項目) 配列 動的配列の使い方 連想配列の使い方 配列要素へのアクセス コレクションについて
https://w.atwiki.jp/allegory/pages/49.html
システム日付の取得と表示 現在の時刻を表示する場合 <ソース> 現在の日時は %= Now % です。 現在の日付は %= Date % です。 現在の時刻は %= Time % です。 <表示> 現在の日時は2006/09/21 16 00 00です。 現在の日付は2006/09/21です。 現在の時刻は16 00 00です。 日付のフォーマット 表示する日付をフォーマットします。 <ソース> % Response.Write FormatTime(Now,"YYYY/MM/DD") % <表示> 2006/09/21 フォーマット 説明 例 YYYY 西暦4桁 2006 YY 西暦2桁 MM 月2桁 09 M 月1桁 DD 日2桁 01 D 日1桁 HH24 時2桁(24時間) H24 時1桁(24時間) HH 時2桁(12時間) H 時1桁(12時間) II 分2桁 I 分1桁 SS 秒2桁 S 秒1桁 XX 午前/午後 ZZ AM/PM 曜日を表示します。 tmp = Weekday(now) Dim A A =array("","日","月","火","水","木","金","土") Response.Write " p " A(tmp) "曜日" tmp = WeekDayName(Weekday(now)) Response.Write " p " tmp
https://w.atwiki.jp/shuei/pages/240.html
JSP JSPページ マークアップの合間に、動的なコンテンツを作成するためのロジックを表す特殊なJSP要素が含まれる サーブレットに比べて、読みやすく?保守しやすく?単純である?ことから好まれる? 実際にはサーブレットテクノロジの拡張機能であり、JSPページは「JSP実装クラス」と呼ばれるJavaサーブレットに変換される(JSPエンジン) JSPエンジンは、JSP実装クラスが存在しない、或いはJSPページより古い場合に起動する JSPページ内で定義されているマークアップを出力するJavaコードと、ユーザーリクエストを処理する全てのコードを含む _jspService()メソッドが含まれる Javaソースコードへの変換中にJSPページに不完全なJSP構成要素が含まれる場合、サーバーよりParseExceptionが返される コンパイル中にスクリプトレットでの構文エラーが発生すると、サーバよりJasperExceptionが返される その場合実装クラス名とエラーのスタック情報が表示される JSPのライフサイクル JSP実装クラスのインスタンスが存在しない場合、JSPコンテナはクラスの読込み・クラスのインスタンス化・jspInit()にて初期化処理が行われる _jspService()メソッドを呼び出し、リクエストとレスポンスを渡してサービス処理を行う JSP実装クラスの消滅により jspDestroy()にて消滅処理が行われる 指令(jsp directive) 重要な情報をJSPエンジンに渡すために使われる 出力は生成しない include指令以外は、JSPページの先頭に記述しなければならない <%@ 指令 {属性=”値”}* %> page指令 <%@ page [ language="スクリプト言語" ] [ extends="パッケージ名.クラス名" ] [ import="インポートするパッケージ名" ] [ session="true | false" ] [ buffer="none | (size)kb" ] [ autoFlush="true | false" ] [ isThreadSafe="true | false" ] [ info="版権など" ] [ errorPage="対応しない例外が発生した場合のエラーページ" ] [ isErrorPage="true | false" ] [ contentType="MIMEタイプ" ] [ pageEncoding="peinfo" ] %> errorPageは、JSPファイルのはじめに入れるべき taglib指令 <%@ taglib uri="タグライブラリ" prefix="プレフィックス" %> taglibで登録したカスタムタグを使用できるようになる 宣言(jsp declaration) JSPページ全体でのフィールド・メソッドを定義する Java言語の予約語や暗黙的オブジェクト名をつけることはできない <%! [宣言;]+ %> スクリプトレット(jsp scriptlet) マークアップの間に記述されるコードの断片 将来のJSP仕様ではJava以外の言語も記述できるようになるかもしれない <% コード %> 式(jsp expression) String型かString型に変換できる肩でなければならない <%= 式 %> アクション(jsp ****) <jsp include page="url" flush="true | false" /> JSPページなどほかのファイルを動的にインクルードする <jsp forward page="url" /> 別のJSPやサーブレットにフォアードし、呼出元のJSPページは処理を終了する <jsp plugin type="bean | applet" code="パッケージ名.クラス名" codebase="コードベース" [ align=/archive=/height=/hspace=/jreversion=/name=/vspace=/width=/nspluginurl=/iepluginurl= ] /> JavaアプレットまたはJavaBeansコンポーネントを組み込むことができ、ブラウザに適した<object>タグまたは<embed>タグを生成する <jsp params>を含む場合は、内部にjsp paramを列挙できる <jsp fallback>を含む場合は、pluginが起動できない場合の代替コンテンツを指定できる コンテンツが見つからない場合はClassNotFoundExceptionとなる <jsp param name="name" value="value" /> jsp include/forward/plugin と組み合わせて使用する <jsp useBean id="参照名" [scope="page | request | session | application"] typeSpec /> ボディをもつ場合、<jsp setProperty>または、<%。。%>を含むことができる typeSpecでは、クラス名 | タイプ名 | クラス名+タイプ名 | ビーン名+タイプ名 の組み合わせが許される タイプ名としては、クラス名だけでなくスーパークラスや実装されたインターフェース名でも良い <jsp setProperty name="ビーン名" property="プロパティ名" value="<%=XX%>" />では、ビーンのsetterを呼ぶ <jsp getProperty name="ビーン名" property="プロパティ名" />は、getterを呼ぶがString型として出力される JavaBeans パッケージ化されたpublic指定のシリアライズ可能クラスであり、publicの引数のないコンストラクタとsetter・getterのみをもつ コメント 出力コメントは、レスポンスにて返される <!−− コメント −−> JSP式を含めても良い JSPコメントは、レスポンスにて返されない <%−− コメント −−%> <% /*コメント*/ %>と同義 暗黙的オブジェクト request=HttpServletRequest / response=HttpServletResponse / out=JspWriter / session=HttpSession / config=ServletConfig / application=ServletContext / page=Object(JSP実装クラス) / pageContext=Object(より抽象化された実装クラス) / exception=Throwable(エラーページの場合) カスタムタグ カスタムタグ JSP標準で使用できるアクションとは別に、タグライブラリを参照することによりカスタムアクションを実行するためのタグ カスタムタグの準備 タグハンドラの作成 → TLDファイルの作成 → web.xmlへのTLDファイルの登録 → JSPページ内にtaglib指令を記述 → カスタムタグをJSPページ内に記述 コンパイルは逆順で行われる web.xml内<taglib>タグにて、taglib-uri/taglib-locationを指定する taglib-locationは、TLDファイル(Tag Library Descripter)のコンテキストルートからのパスを指定する /WEB-INF以下の任意のディレクトリに配置するのが望ましい TLDファイル URI・タグ名とそれを処理するタグハンドラクラス・属性がまとめられている <taglib>がルートノードであり、tlib-version/jsp-version/short-name/tagを指定する taglibタグ内<tag>タグは最低2つの要素が必要であり、name/tag-class/body-content/attributeを指定する tagタグ内<body-content>タグには、empty/JSP/tagdependent(本文をもっても動的解釈されない)の3種の文字列を指定する tagタグ内<attribute>タグには、name/required/rtexprvalueを指定し属性の設定を行う rtexprvalueをtrueで指定しないとJSP式を解釈しない タグハンドラクラス カスタムタグに関連付けられた実際のタグ処理を行うクラスファイル /WEB-INF以下classesかlibに配置する javax.servlet.jsp.tagext.Tagインターフェース(doStartTag()/doEndTag())やIterationTagインターフェース(+doAfterBody())が大本であるが、本文をもつタグのためにはBodyTagインターフェース(+doInitBody()/setBodyContent())が使用される 実際には、IterationTagインターフェースを実装したTagSupportクラスとBodyTagインターフェースを実装したBodyTagSupportクラスのどちらかを継承してタグハンドラクラスを作成する TagSupportクラス javax.servlet.jsp.tagext.TagSupportクラスを継承してタグを作成すると、本文をもたないタグや本文を解釈する必要のないタグを作成できる doStartTag()の返り値として、SKIP_BODYまたはEVAL_BODY_INCLUDEを指定する EVAL_BODY_INCLUDEでは本文の評価・表示を行う doEndTag()の返り値として、SKIP_PAGEまたはEVAL_PAGEを指定する SKIP_PAGEを指定するとタグより後の部分を評価しない タグ属性値の扱いは、タグクラスのsetter/getterを作成する doAfterBody()では、EVAL_BODY_AGAINかSKIP_BODYを指定でき、本文部分が再評価される body-contentがJSPであれば、TagSupport.getParent()メソッドで上位タグハンドラクラスの参照を取得できる 下位の参照は取得できないがsetValue/getValueによりObject型の値を相互参照できる 同様にbody-contentがJSPであれば、findAncestorWithClass()メソッドでは、同JSPページに限定して上位タグを取得する getParent()ではさらに外部のJSPページを参照する可能性がある BodyTagSupportクラス TagSupportを継承したクラス doStartTag()の返り値として、EVAL_BODY_BUFFEREDが指定できるようになる この場合、本文の評価のみで表示は行わずにsetBodyContent()/doInitBody()に委ねる メンバ変数bodyContentを利用または、setBodyContent(BodyContent bc)をオーバーライドすると、BodyContentオブジェクトを利用できる clearBody()メソッドでbodyContentをクリアできる doInitBody()は、本文部分が評価される前に呼び出されるメソッドである PageContextクラス タグハンドラクラスにjavax.servlet.jsp.PageContextクラスを利用するためには、TagSupportクラスのメンバ変数であるpageContextを利用するか、setPageContext(PageContext pc)をオーバーライドする pageContext.getOut()により、JspWriterオブジェクトを取得でき、JSPページへの出力を行うことができる pageContext.getAttribute(name, scope)またはpageContext.findAttribute(name)を利用することで、JSPページからJavaBeansを受け取ることができる scopeは4つのスコープ全てが有効 pageContext.getRequest()/getSession()/getServletContext()メソッドにて、それぞれのスコープでのコンテキストを取得できる JSTL JSP Standard Tag Libraryは、一般的に使用される標準的な処理をまとめたタグライブラリであり、core/I18N/sql/xmlがある
https://w.atwiki.jp/programmerassistant/pages/27.html
import java.io.*; /* class Saikoro{ //サイコロの目 int me; //サイコロの目を振る void drop(){ this.me = (int)(Math.random() * 6 + 1); */ public class ChoHan { public static void main(String args[]){ BufferedReader myReader = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("サイコロゲームを開始します。"); System.out.println("2つのサイコロを投げます。"); //サイコロを2回振り、合計も出します。 int int1 = (int)(Math.random() * 6 + 1); int int2 = (int)(Math.random() * 6 + 1); int int3 = int1 + int2; //入力を促します System.out.println("サイコロの目を当ててください。"); System.out.println("(丁のときは【1】、半のときは【2】を押す。"); //入力する場所 System.out.print("丁?半?> " ); String myS = myReader.readLine(); //サイコロの目を表示 int myA = Integer.parseInt(myS); System.out.println("サイコロ1の目 " + int1); System.out.println("サイコロ2の目 " + int2); //半丁の結果 if (int3 % 2 == 0) { System.out.println("結果は丁でした。"); }else { System.out.println("結果は半でした。"); } //結果に対してのコメント if ((myA ==1 int3 % 2 == 0)||(myA ==2 int3 % 2 == 1)){ System.out.println("大当たり!!"); }else if ((myA == 2 int3 % 2 == 0)||(myA ==1 int3 % 2 == 0)){ System.out.println("残念!はずれました。"); } }catch (IOException e){ System.out.println("エラーが発生しました。!"); }catch (NumberFormatException ne) { System.out.println("入力された数値が正しくないようです。"); } } }
https://w.atwiki.jp/ittec/pages/15.html
トラブル事象と対処方法 複数のスレッドからDateFormatを実行した場合に日付が不正な値になる 技術、方式等 Listに特定の値が存在するかを高速に確認する フレームワーク向け リフレクションを利用したロギング アノテーションと動的Profileによる入力チェック(予定)
https://w.atwiki.jp/rsslink/pages/40.html
ITmedia エンタープライズ-Java サイトURL: RSS0.91:http //rss.itmedia.co.jp/rss/0.91/ep_java.xml RSS1.00: RSS2.00: 新着記事は見つかりませんでした。
https://w.atwiki.jp/cappu/pages/46.html
外部アプリ起動 SWT Program program = Program.findProgram(".html"); if (program != null) { program.launch(strUrl); } 外部アプリ起動 Java1.6 if (!Desktop.isDesktopSupported()) { return; } Desktop desktop = Desktop.getDesktop(); // if (desktop.isSupported(Desktop.Action.OPEN)) { File file = new File("C \\test.txt"); desktop.open(file); } 外部アプリ起動 Java1.5 String[] command = { "notepad.exe"}; ProcessBuilder builder = new ProcessBuilder(command); builder.directory(new File("C \\temp"));//作業フォルダの設定 Map String, String env = builder.environment();//環境変数を取得 Process process = builder.start(); InputStream stream = process.getErrorStream(); while (true) { int c = stream.read(); if (c == -1) { stream.close(); break; } System.out.print((char) c); }
https://w.atwiki.jp/javafx/pages/25.html
JavaFX Script プログラミング このwikiに掲載していた日本語リファレンスはOpenJFXに寄付いたしました。(2007/6/16) https //openjfx.dev.java.net/ja/JavaFX_Programming_Language.html trackback()