Java / 応用
■ サンプル * 画像「icon.png」は resources内に配置しておく Main.java import java.awt.AWTException; import java.awt.Image; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.Toolkit; import java.…
■ サンプル https://blogs.yahoo.co.jp/dk521123/37815897.html で、細線化を勉強した時に、以下のサイトでJavaのプログラムがあった。 https://codezine.jp/article/detail/98 実行しようとしたら、Appletだったので、もっと簡単に実行できるように、Swing…
■ はじめに * Javaで標高データを扱う * 今回扱うデータは、「SRTM」で、ビッグエンディアンの2バイト整数として格納されている ビッグエンディアン については、以下の関連記事を参照のこと https://blogs.yahoo.co.jp/dk521123/37795867.html 標高データ …
■ はじめに https://blogs.yahoo.co.jp/dk521123/37773041.html で、「Pluggable Annotation Processing API」を使っているとのことだったので、調べてみた。 ■ Pluggable Annotation Processing API * コンパイル時にアノテーションを読み込んでくれる機能 …
■ はじめに * Oracle JDKが、Java11から有償(有償サポート?)になるとのことなので、今後の動向も含めてメモ。 => Oracle JDK = OpenJDK になるらしい ■ Javaバージョン * LTS : 長期サポート(Long Term Support) Java8 (LTS) * 2014/03/18リリース * 20…
■ ガベージコレクション Barbage Collection(GC) * 不要になったメモリ領域を自動的に解放する機能 ■ GCの種類 [1] マイナーGC / Scavenge GC(スキャベンジ・ジーシー) [2] メジャーGC / Full GC Java のメモリ構造については、以下の関連記事を参照のこと…
■ はじめに https://blogs.yahoo.co.jp/dk521123/7968881.html の続き。 実装案 【1】コマンドを実行した方法 【2】com.sun.management.OperatingSystemMXBean を使った方法 【3】MBeanServer を使った方法 【1】コマンドの実行結果から取得する方法 Linuxの…
■ 用語整理 * 各用語は、以下の関連記事を参照のこと。 https://blogs.yahoo.co.jp/dk521123/33100623.html ■ 証明書失効リストのチェックを有効にする 構文 // クライアントで証明書失効リスト(CRL)のチェックを有効化する System.setProperty("com.sun.n…
■ SSLのトラストストアのパスを変更するには.. * デフォルトの(指定しない)場合は 【JAVA_HOME】/lib/security/cacerts 例 // トラストストアファイルへのパス System.setProperty("javax.net.ssl.trustStore", "keys/clientTruststore.jks"); // トラスト…
■ サンプル import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.text.DateFormat; import java.text.SimpleDateFormat; import com.ibm.icu.util.Calendar; public class Main { public static void main(St…
■ はじめに プロキシ設定のチェックを以下の関連記事であるようなコードで試してみた。 Java で ping を考える https://blogs.yahoo.co.jp/dk521123/37019179.html しかし、以下の「問題点」が出た。 問題点 Basic認証が設定してあるプロキシサーバで Basic…
■ はじめに https://blogs.yahoo.co.jp/dk521123/37185366.html の続き。別のアプローチを試している。 ■ 問題点に対するアプローチ サーバに細工をし、「HTTPコード 407(プロキシ認証が必要)」を返せば ログアウト的なことをできるらしいができればJavaアプ…
■ 『Java から別のJARファイルを実行する』を実現するために... Java から別のJARファイルを実行するには... ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", "[JARファイル名].jar"); // コマンドライン引数を使う場合... // ProcessB…
■ はじめに * SQLとかでよくやる過去直近をJava8から導入されたラムダ式で書いてみる。 ■ 方法 他にもっといい方法がありそうだが... * filter と max/min で実装する。 list.stream().filter(x -> x.【日付】.compareTo(【基準日】) <= 0) .max((x1, x2) ->…
■ はじめに https://blogs.yahoo.co.jp/dk521123/37109157.html で、標準のjava.net.URLEncoder.encode() を試したが、以下のAPI https://docs.oracle.com/javase/jp/8/docs/api/java/net/URLEncoder.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=…
URLエンコーディングをJavaで実装するには... 【1】 標準の URLEncoder.encode() を使用する 【2】 Apache Commons CodecのURLCodec を使用する 注意 要件次第でどちらも条件を満たさない可能性がある 詳細は以下の関連記事を参照のこと。 https://blogs.y…
サンプル import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.nio…
■ はじめに https://blogs.yahoo.co.jp/dk521123/34188394.html https://blogs.yahoo.co.jp/dk521123/34192426.html で行ったことを使って、よく使うであろうサンプル集を扱う ■ IDの昇順/降順に並び替える sort() を使う # 昇順(小さい順) list.sort((x1,…
サンプル サーバとクライアント間のインターフェース import java.rmi.Remote; import java.rmi.RemoteException; public interface IHelloWorld extends Remote { String sayHello(String name) throws RemoteException; } サーバとクライアント間の実クラ…
サンプル import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; public class Main { public static void main(String[] args) { System.out.println("Result : " + ping("https://blogs.yahoo.co.jp/dk521123/34842155.ht…
■ はじめに * Javaでの PID(プロセスID)などのプロセス情報に関する処理をまとめる。 ■ 自分のPIDを取得するには サンプル import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; public class Main { public static …
■ はじめに * 色々な方法があるみたいだが、絞る ■ プロキシサーバ経由で接続 プロキシサーバ経由で接続するためのプロパティ `#`プロパティ`説明`備考 1http.proxyHostプロキシサーバのホスト名またはIPアドレスを指定- 2http.proxyPortプロキシサーバのポ…
■ 前準備 Linuxのシステム日付を変更する一つの方法として、dateコマンドを実行する必要があるが、 その場合、ルート権限が必要になる。 Java内でdateコマンドを実行しても、以下「エラー時の出力結果」のように表示されてしまい 日付変更できない。そのため…
はじめに * 漢数字をアラビア数字に変換する必要があり、ネットを漁ってたらよさげなサンプルがあったのだが 一部バグがあったので修正してサンプルをアップする サンプル * 正の整数のみ(小数や負の数は未対応) Converter.java import java.security.Inva…
はじめに 表記ゆれを補正するプログラムを考える。 => 結論から言うと、簡単にできる代物じゃない...(流石にこの分野だけで研究されているだけはある...) => 全てに対応するのは大変なので、カタカナ単語のみを考える => 基本的なもの以外は、後からカスタマ…
■ はじめに SSL通信では、以下「SSLシーケンス概要」の★部分にあるように乱数を作成してやり取りする。 今回は、Javaでの実装でこの乱数作成について考える # 本当は、以下のトラブルを解決する過程で、SecureRandom クラスを学ばなければならなかったので #…
注意 http://tagnoheya.com/charlist/charlist2.html の一覧表からわかる通り、カタカナ「ヴヵヶ」は、 ひらがな文字コード上に対応しないため、変換はできない サンプル public class JapaneseHelper { private static final char SMALL_KATAKANA_A = 'ァ';…
OpenJDK とは * OpenJDK は、Oracle社が提供しているJDK(Oracle JDK(Java Development Kit))をオープンソース化したもの。 => なので、完全フリー。GPL v2 * Oracleは、OpenJDKをOracle JDKのコード・ベースとして使用している => ってことは、どっちらも…
はじめに http://blogs.yahoo.co.jp/dk521123/36538970.html で以下のような問題があるって書いた。 ~~~~~~~~~~~~ * 以下の文字が紛らわしく間違うトラブルがあるとかないとか... + 数字の「0(ゼロ)」と英字の「O(オー)」 + 数字の「1(イチ…
はじめに * Java で、シリアル番号生成を考えていたら、以下のサイトを見つけたので参考にして実装してみる http://www.venishjoe.net/2009/08/basic-serial-key-generation-module-in.html 参考:シリアル番号に関わるトラブル http://www.barcode-net.com/…