約 1,888,762 件
https://w.atwiki.jp/redcloud/pages/22.html
目次 目次 前提条件 JDK1.6 インストール 環境設定 Ant インストール 環境設定 前提条件 CentOS5.4上に構築する JDK1.6 インストール (公式サイトから JDKのrpm.bin ファイルをダウンロードしておく) $ sudo chmod +x jdk-6u17-linux-i586-rpm.bin $ sudo ./jdk-6u17-linux-i586-rpm.bin 環境設定 $ vi ~/.bash_profile JAVA_HOME=/usr/java/jdk1.6.0_17 ←行追加 export JAVA_HOME ←行追加 PATH=$JAVA_HOME/bin $PATH $HOME/bin ←$JAVA_HOME/bin追加 $ source ~/.bash_profile Ant インストール $ wget http //ftp.kddilabs.jp/infosystems/apache/ant/ant-current-bin.zip $ unzip ant-current-bin.zip $ sudo mv apache-ant-1.7.1 /usr/local # cd /usr/local # chown -R root.root apache-ant-1.8.0RC1 # ln -s apache-ant-1.8.0RC1 ant 環境設定 $ vi ~/.bash_profile ANT_HOME=/usr/local/ant ←行追加 export ANT_HOME ←行追加 PATH=$ANT_HOME/bin $JAVA_HOME/bin $PATH $HOME/bin ←$ANT_HOME/bin追加 $ source ~/.bash_profile
https://w.atwiki.jp/kei_room/pages/16.html
JAVA java関係の備忘録やまとめ、クラスなど。 大文字と小文字 Javaでは、「変数名、メソッド名は小文字で始める」、「クラス名は大文字で始める」、「単語の区切りは大文字にする」という命名規則が推奨されている。
https://w.atwiki.jp/cz8686/pages/18.html
[Java]eclipseセットアップ ①フォントの設定 Windows ⇒Preferrence ⇒Fonts でText Fontを変更する。 ②JDKの設定 デフォルトでは、 JREのjava.exeが設定されているので JDKのjava.exeに変更する。 Windows ⇒Preference ⇒Java ⇒Installed JREs で Standard VMにJREがデフォルトチェックが 入っている これに インストールしてあるJDK1.4.XのJDKを設定する。 ●TOMCATプラグイン動作方法 ②のJDK設定の後、 Windows ⇒Preference ⇒Tomcat ⇒TOMCATの設定 でJREを変更したJDK1.4.xのものを指定する。 ●JSP.XMLの色分けプラグインの設定 (Solar Eclipse Web) Windows ⇒Preference ⇒Solar Eclipse Web で Add To List に xml を追加 [Java]HTTPでHTMLをゲット ■実行方法 以下の内容の.batファイルを作成、第一引数のURLのHTMLファイルを標準出力する。 java -Dhttp.proxyHost=proxy1.wwww.abc.co.jp -Dhttp.proxyPort=8080 DisplayURL2 %1 import java.io.*; import java.net.*; public class DisplayURL2{ public static void main(String[] args){ for(int i=0; i args.length;i++){ System.out.println("URL= "+ args[i]); try{ URL url = new URL(args[i]); BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"Shift_JIS")); String line=""; while((line =reader.readLine()) != null){ System.out.println(line); } reader.close(); }catch(MalformedURLException e){ System.out.println("URLの形式が間違っています " + e); }catch(IOException e){ System.out.println("I/Oエラーです " +e); } } } }} [Java]JUnit使用例 ■JUnitのテスト画面起動 java junit.ui.TestRunner ■サンプルコード ●テスト対象クラス public final class Sample{ public int value = 0; Sample(int v){ this.value = v; } public int twice(){ this.value *= 3; //this.value *=2; return(this.value); } public int add1(){ this.value+=1; return(this.value); } } ●Sampleクラスに対するテスト実行クラス import junit.framework.*; public final class SampleTester extends TestCase{ public SampleTester(String name){ super(name); } protected void setUp(){ //ここで設定する } public static TestSuite suite(){ TestSuite suite = new TestSuite(); //テストケースを加える suite.addTest(new SampleTester("testAdd1")); suite.addTest(new SampleTester("testTwice")); return suite; } //テスト用メソッドの記述 public void testAdd1(){ Sample s1 = new Sample(10); s1.add1(); assert(s1.value == 11); } public void testTwice(){ Sample s1 = new Sample(10); Sample s2 = new Sample(5); assert(s1.value != s2.value); s2.twice(); assert(s1.value == s2.value); } } //end of SampleTester 使用法: SampleTester.classのあるフォルダから java junit.ui.TestRunner でGUIを起動し、 testclassnameに SampleTester と入力しRUNボタンを押す。 その結果が表示される。 [Java]MyDBAccess.java //package myjdbc; //import myjdbc.*; import java.sql.*; public class MyDBAccess { private String driver; private String url; private String user; private String password; private Connection conn; private Statement stmt; private ResultSet resultset; /** * コンストラクタ * @param driver ドライバー * @param url URL * @param user ユーザ名 * @param password パスワード * */ public MyDBAccess( String driver, String url, String user, String password) { this.driver = driver; this.url = url; this.user = user; this.password = password; } /*引数なしのコンストラクタ * 既定値の利用 * */ public MyDBAccess() { this.driver = "oracle.jdbc.driver.OracleDriver"; this.url = "jdbc oracle thin @192.168.1.1 1521 DB01"; this.user = "test"; this.password = "test"; // this.driver = "com.mysql.jdbc.Driver"; // this.url = "jdbc mysql //192.168.1.1/test"; // this.user = "root"; // this.password = ""; } /** * データベースへの接続を行う */ public synchronized void open() throws Exception { // Class.forName(driver); Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url, user, password); stmt = conn.createStatement(); } /** * SQL 文を実行した結果の ResultSet を返す * @param sql SQL 文 */ public ResultSet getResultSet(String sql) throws Exception { if (stmt.execute(sql)) { return stmt.getResultSet(); } return null; } /** * SQL 文の実行 * @param sql SQL 文 */ public void execute(String sql) throws Exception { stmt.execute(sql); } /** * データベースへのコネクションのクローズ */ public synchronized void close() throws Exception { if (resultset != null) resultset.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } public static void main(String[] args) { MyDBAccess db = new MyDBAccess(); try { db.open(); ResultSet rs = db.getResultSet("SELECT * FROM LOGIN_TBL"); int i=0; while (rs.next()) { i++; String _user_id = rs.getString("USER_ID"); String _password = rs.getString("PASSWORD"); System.out.println(i + " "+ _user_id + "," + _password); } db.close(); } catch (Exception e) { e.printStackTrace(); } } } [Java]OracleJdbcTest1.java import java.sql.*; //import jdbc.sql.*; public class OracleJdbcTest1 { public static void main (String args []) throws SQLException, ClassNotFoundException { // Connectionの作成 Class.forName ("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection ("jdbc oracle thin @192.168.1.1 1521 DB01","scott", "tiger"); // OCIの場合 // DriverManager.getConnection ("jdbc oracle oci8 @TNSname","scott", "tiger"); // Statement の作成 Statement stmt = conn.createStatement (); // Resultset の作成 ResultSet rset = stmt.executeQuery ("select ENAME from EMP"); // データの表示 while (rset.next ()) System.out.println (rset.getString (1)); } } [Java]TripleDES DECODE import java.io.IOException; import java.io.PrintWriter; import java.net.URLEncoder; import java.net.URLDecoder; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; import java.util.Date; import java.io.*; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.SecretKeySpec; public class ANGO_DECODE { byte[] keyMaterial ={ (byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12, (byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12, (byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD }; //暗号文 //ファイル読み込み String line = null; String ciphertext = null; int count = 0; try{ BufferedReader reader = new BufferedReader( new FileReader(args[0])); while( ( line = reader.readLine()) != null){ count++; ciphertext = line; // URLデコード処理 String a1; String a2; a1 = URLDecoder.decode(ciphertext); // System.out.println("a1=" + a1); // BASE64デコード処理 byte[] cipherbytes = a1.getBytes(); Base64 base64obj = new Base64(); byte[] base64decbytes = base64obj.decode(cipherbytes); String base64decodeStr = new String(base64decbytes); //System.out.println("base64decodeStr=" + base64decodeStr); // TripleDES復号化処理 // TripleDES鍵の生成 SecretKeySpec tdeskey = new SecretKeySpec(keyMaterial,"DESede"); // Cipherインスタンスの生成 Cipher desCipher = Cipher.getInstance("DESede"); // 初期化 desCipher.init(Cipher.DECRYPT_MODE,tdeskey); byte[] plainbytes = desCipher.doFinal(base64decbytes); String plaintext = new String(plainbytes); // System.out.println("plaintext "+ plaintext ); System.out.println(count + "," + a1 + "," + plaintext); } //for end reader.close(); }catch(NoSuchAlgorithmException e){ e.printStackTrace(); }catch(NoSuchPaddingException e){ e.printStackTrace(); }catch(InvalidKeyException e){ e.printStackTrace(); }catch(IllegalBlockSizeException e){ e.printStackTrace(); }catch(BadPaddingException e){ e.printStackTrace(); }catch(FileNotFoundException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } } } [Java]war アーカイブ作成方法 Jarツールを使って、Webアプリケーション全体をアーカイブします。アーカイブしたいWebアプリケーションのルートディレクトリに移動して、以下のコマンドを実行してください。 jar cvf WARファイル名 ./* WARファイル名は当然「.war」の拡張子が必要です。testというディレクトリ配下のWebアプリケーションを test.warというファイル名でアーカイブしたい場合は、testディレクトリに移動して以下のコマンドで行います。 jar cvf test.war ./* [Java]時間取得 import java.util.*; import java.io.*; import java.text.*; public class Utils{ // getNow("yyyy.MM.dd at hh mm ss"); public static String getNow(String dateformat){ SimpleDateFormat formatter = new SimpleDateFormat(dateformat); Date currentTime = new Date(); String dateString = formatter.format(currentTime); return dateString; } } [Java]日本語パラメータ %! public String toUnicode(String s) throws java.io.UnsupportedEncodingException{ return (new String(s.getBytes("8859_1"),"JISAutoDetect")); } % html body % String name= toUnicode(request.getParameter("name") ); %
https://w.atwiki.jp/thiroyoshi/pages/47.html
senでwiki辞書を使う 以下で紹介されてる方法でできるらしい http //d.hatena.ne.jp/nodchip/20090309/1236615706 形態素解析 これまで、形態素解析にcabochaを使ってたわけですが、javaでMecabを実装したとかいうのがあったみたいで…。 http //ultimania.org/sen/ つーかYahoo!がそういうのしてくれるAPIを公開していたらしい。アンテナは大きく広げておかないといかんもんだなぁ… http //developer.yahoo.co.jp/webapi/jlp/da/v1/parse.html 下のサイトはサンプル公開してる。 http //www.nilab.info/zurazure2/001036.html 形態素解析の辞書 ChasenとMecabの辞書として使えるものだそうな。公開されてる精度がよすぎてびっくり。 http //www.tokuteicorpus.jp/dist/ Java使う人にはとてもよい http //nextindex.jp/java/ Stringの文字エンコーディング 普通にプログラムするには大して問題にならないファイル名の文字コード。 webでデータ公開するとかなるとなんかこれをよくミスる。 で、見つけたよさげなサイト。参考に http //hp.vector.co.jp/authors/VA017148/java/encoding.html デーモンスレッド 使えれば使う 参考URL http //memolet.blog22.fc2.com/blog-entry-792.html GC overhead limit exceeded 調べてみたら、ガベージコレクションに時間かかりすぎやから止まった、ってことらしい。 ガベージコレクション自体はメモリの自動解放とかしてくれるけど、メモリ使用量が多いとかでスワップが多くなったりすると処理がかかるみたいだ。 で、その時間がかかりすぎるとエラー吐いて止まるってのが上のメッセージらしい。 解決にはメモリをしっかり確保すればいいってのは当たり前だが、どうしても頻発する場合などには実行時の引数に以下のものを加えるといい。 -XX -UseGCOverheadLimit 参考URL http //confluence.atlassian.co.jp/display/DOC/Fix+Out+of+Memory+errors+by+Increasing+Available+Memory#FixOutofMemoryerrorsbyIncreasingAvailableMemory-OutOfMemoryError%3AGCoverheadlimitexceeded http //ameblo.jp/f-o-p/entry-10537149611.html MySQLと連携 javaのコードからMySQLを使う場合に、JDBCドライバが必要になる。 これはMySQLのサイトからダウンロードができる。 Javaとの連携なので、downloadの中の「Connector/J」をダウンロードする。 ダウンロードしたファイルを解凍すると、いろいろ入っているが、その中にjarがある。 名前は、「mysql-connector-java-5.0.8-bin.jar」だ。 これのクラスパスを通せば、あとはjavaのファイルの中で適切なコマンドを使っていけばいい。 参考URL http //mountainbigroad.jp/fc5/mysql_java.html MySQLからの日本語が文字化け まだいろいろ試していないもののメモ。 文字化けなので文字コードに問題があることは明白。 この場合にするべきは、各所での文字コードの設定。 「MySQLのデフォルト設定」 「javaコード内でのurl指定時」 くらいだが、これでも文字化けする場合があるのだ。 これはMySQLのバージョンを下げればいいこともあるらしい。 この問題があるのは、4.1.7でらしい。これをバージョンダウンすれば解消されるとさ。 またちょっとしたコードの書き換えでもいけるらしい。 str = new String(str.getBytes("ISO-8859-1"), "JISAutoDetect"); みたまんま、コード変換するみたいだ。これを取得した値に対して行ってやると解消されるとか。 でも、バージョンを下げるとこんなもんは必要ないみたい。 参考URL http //oshiete.goo.ne.jp/qa/1118005.html javaをコマンドラインで サーバーなどでjavaを動かすために覚えた。 しかし、コマンドを詳しく覚えているはずもなく… パスを通す .bashrcにjarファイルのパスをかたっぱしから通すように指定。 これぐらい重くもなんともないだろ! 実際に使ってるスクリプトは以下 jars=`ls /home/hiroyoshi/system/jar` for jar in ${jars[@]} do export CLASSPATH=$CLASSPATH /home/hiroyoshi/system/jar/$jar done やってることは簡単で、jarのファイル名を配列で全部とってきて、それにパスを当てはめてexportしてるだけ。 これでディレクトリjarにjarを追加するだけで、ログインするときに毎回読み込んでくれる。 もうパスを通す必要はない!便利! コンパイル 使ったのは実際には以下のコマンド javac -sourcepath XX/src -d XX/bin/ XX/src*/*.java XXはディレクトリ名(プロジェクト名とか) javac javaのコンパイルコマンド -sourcepath ソースファイルの場所指定オプション -d クラスファイルの出力場所指定オプション これで、srcに保存されいるパッケージでまとめられているjavaソースファイルをきちんとコンパイルできる。 また、このコンパイル時にbin内にパッケージも作られる。 ただし、srcとbinは事前に作っておく必要があるのは言うまでもない。 実行 ちょっと泥臭い方法になってしまったというか、メモるほどの事ではないが一応。 java -Xmx1g main/Main これをbinで行う。ほんとはプロジェクトのホームで実行したかったけど仕方ない…。 ファイルなどを生成するのでも、プログラム内でディレクトリ指定すればbin内には作らなくて済むので。 RSSリーダー 研究でブログを扱っているので作ってみたところのメモ。 ほとんどコピペやけど、プログラムってそんなもん。 使ってるライブラリ ROME:本プログラムのキモ。RSSを扱うためのメソッドが揃ってるみたい。 基本はこのROMEで処理します。依存とかの関係で ROME-Fetcher JDOM も必要です。JDOMはxmlを扱うライブラリで、これがないとROMEは動かない。 それぞれのライブラリはバイナリをダウンロードする。 JDOMは圧縮形式でダウンロードでき、解凍するとディレクトリができる。 この中からjdom.jarを見つけ出す。 サンプル public class RSSReader { @SuppressWarnings("unchecked") public static void main(String[] args) { //rdfでもxmlでもOK String url = "http //blog.livedoor.com/xml/article_ranking.rdf"; try { URL feedUrl = new URL(url); SyndFeedInput input = new SyndFeedInput(); SyndFeed feed = input.build(new XmlReader(feedUrl.openStream())); ArrayList SyndEntry entries = (ArrayList SyndEntry ) feed.getEntries(); System.out.println("Blog Title:" + feed.getTitle()); System.out.println("======================="); Iterator SyndEntry it = entries.iterator(); SyndEntry entry; while(it.hasNext()){ entry = it.next(); System.out.println("Title:" + entry.getTitle()); System.out.println("Date:" + entry.getPublishedDate()); System.out.println("Link:" + entry.getLink()); System.out.println("URI:" + entry.getUri()); System.out.println("Description:" + entry.getDescription().getValue()); System.out.println("---------------------"); } System.out.println("size = " + entries.size()); } catch (FeedException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 参考URL スマートネットワーク開発ブログ JavaでRSSのパースをしてくれるライブラリ ROME 正規表現 すごく便利な正規表現。でもすごくわかりにくい正規表現。 そんな正規表現のメモ。 (特にJavaで使えるというものです) 全角記号 [^ぁ-んァ-ヴ一-龠0-90-9a-zA-Zー〜、] 総当たりではあるが、使えるのでよし。 意味は「ひらがなとかカタカナとか以外」 半角記号 \p{Punct} javaのAPIで定義されているものそのまま。 ただし、使うときにはこれをこのまま書くだけだと、「エスケープシーケンスは…」と怒られるので、こいつをエスケープしてやる。 つまり、 line = line.replaceAll("\\p{Punct}",""); ってすると、line内の半角記号は一掃される。 半角カタカナ [。-゚+] そのまま文字コードにのっとったもの。つまり、意味は ー。「」、・ヲァィゥェォャュョッタアイウエオカキクケコサシスセソミチツテトナニヌネノハヒフヘホマムメモヤユヨラリルレロワン゙゚ です。 また、正規表現の[a-z]のような「-」(ハイフン)の範囲表現はASCIIコードに準じたものをなっている。(参考URL参照) 例えば、コード表によると「!」から「/」を続けて範囲指定([!-/])できるが、「?」までする([!-?])と数字も選択されてしまう。 参考URL フジハラボ:Javaで入力チェックに使える正規表現まとめ ASCII文字コード
https://w.atwiki.jp/june1st/pages/34.html
JAVA JAVAアプレット
https://w.atwiki.jp/kurosuke_se_zi/pages/7.html
JAVAアレコレ 作成予定。 Java7? eclipse NetBeans(JavaFX2) andorid開発 iphoneアプリ開発 Flex JavaVMについて ClassLoaderについて WebLogicサーバについて MessageDigestについて HiveMind tomcat6 S2Junit+LuntBuild+dJunit 今のところそんな感じ。
https://w.atwiki.jp/wannatool/pages/18.html
Java ●一発合格Java認定試験 ttp //sjc-p.obx21.com/ ttp //www.watch.impress.co.jp/av/docs/20030825/dal113.htm 初心者がJavaを“超高速”で学ぶためのコツ -- ttp //itpro.nikkeibp.co.jp/article/COLUMN/20060927/249181/ (2009-01-16 09 47 17) 名前 コメント ● ● ● ● ● ● ● ● ● ● ●
https://w.atwiki.jp/skmt200x/pages/115.html
Keytool概要 デフォルトのキーストアの格納先 キーストアに格納されている鍵一覧 証明書のインポート 秘密鍵を含むPKCS12のインポート Jarファイルの署名 Log4J概要歴史的なこと Log4Jについて(おさらい)1.2.x系(EOL) 2.x系統 その他のログAPIについてLogBack SLF4J 性能に対する考察 設定などに関して基本的な概念などについてLoggernameでの指定について additivityについて Appender ある程度(ほぼ)十分な設定 設計に関してアプリケーションとしての出力にはLog4Jは使わない。 コンソール(標準出力、標準エラー)向けの設定は分ける。 基本的な情報源 JDK7.0のディレクトリ構成 未分類の要検証項目 TOPへ編集 基本的な情報源 Java Plattoform Documentation TOPへ編集 JDK7.0のディレクトリ構成 JDK File Structure for Windows JDK Development Tools 未分類の要検証項目 jarsignerツールによる署名 JARインデックス JMXTomcatの監視 TomcatのSNMPの設定 JVM TI Preferences API微妙な使い勝手かもしれない。 予想通り、Windowsではレジストリ、Linux環境ではユーザホームの.java以下にディレクトリツリーを作成して、キーと値を保存する形式を採用している。 Javaスクリプト JDKのツール全般 http //java.sun.com/javase/ja/6/docs/ja/technotes/tools/index.html 最終更新日 [2014-12-27]
https://w.atwiki.jp/a3mi22/pages/55.html
Javaのこと。 メソッド メソッド~ファイル処理系 まめ知識 java技 エラー対処法
https://w.atwiki.jp/ankundora/pages/25.html
「java」のページです 「プログラミング@wiki」では「java」の執筆者を求めています