読者です 読者をやめる 読者になる 読者になる

Java

「Java」ProcessBuilderの環境変数について

ProcessBuilder の環境変数についてのメモです。・ProcessBuilder (Java Platform SE 8) https://docs.oracle.com/javase/jp/8/docs/api/java/lang/ProcessBuilder.htmlProcessBuilder が利用する環境変数については、ドキュメントに このプロセス・ビルダー…

「Java」MXBeanのサンプル

MXBeanのサンプルを書いてみたのでメモを残しておきます。 参考にしたのは以下のオラクルのページ(というかページに記載のサンプルほぼそのままです・・・)・MXBeans https://docs.oracle.com/javase/tutorial/jmx/mbeans/mxbeans.html まず、MXBean のイ…

「JNA」 Event Logging API を使ってイベントログを出力する

Event Logging API を使ってイベントログを出力するサンプルを書いてみたのでメモを残しておきます。・Event Logging API https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa363652.aspx 以下サンプルです。・WindowsEventReporter.java package …

「Java」ProcessBuilderで環境変数を設定してバッチファイルを実行する

ProcessBuilder で環境変数を設定してバッチファイルを実行するサンプルのメモです。といいましても、ProcessBuilder#environment で取得したマップに対して、設定したい環境変数を put してやるだけでいいみたいです。ProcessBuilder (Java Platform SE 8 )…

JCIFSを使ってみる(ファイルの読み込み)

JCIFS なる Java の SMB クライアントの実装があるということを知ったので、ちょっと使ってみました。JCIFS今回は読み込みのサンプルを。■ JCIFSTest.java package com.example.jcifs; import java.io.ByteArrayOutputStream; import java.io.IOException; i…

「JNA」intとDWORDのマッピングについて

JNA で Windows API を呼び出す際の int と DWORD のマッピングについてメモしておきます。 DWORD については以下のドキュメントに記載の通り、32bit の符号なし int (0 ~ 4294967295) になります。Windows Data Types (Windows) A 32-bit unsigned integer…

JNAからWindows Event Log APIを呼び出してイベントログを取得してみる(EvtFormatMessage関数を利用)

以下のエントリーでは EvtRender関数を利用してイベントログのレンダリングを行っていましたが、EvtFormatMessage関数というのもあるみたいなので、こちらの関数を使うサンプルを書いてみました。a4dosanddos.hatenablog.com以下のドキュメントのコードを参…

JNAからWindows Event Log APIを呼び出してイベントログを取得してみる(ブックマーク利用その2)

以下のエントリーでブックマークを利用したサンプルを書いてみましたが、このサンプルだとブックマークが存在しない、かつ、EvtQuery関数に渡すクエリにマッチするイベントログが存在しなかった場合にブックマークが作成されません(「//ブックマーク保存処…

JNAからWindows Event Log APIを呼び出してイベントログを取得してみる(ブックマーク利用)

Windows Event Log API にはブックマークなる機能があるらしいので、これを JNA 経由で使ってみました。Bookmarking Events (Windows)長ったらしいですが、以下のような感じになりました。 ブックマークは XML としてファイルに保存するのですが、初回処理な…

JNAからWindows Event Log APIを呼び出してイベントログを取得してみる

JNA から以下の Windows Event Log API を呼び出してイベントログを取得するサンプルを書いてみたのでメモしておきます。Windows Event Log (Windows)とりあえず以下の感じになるみたいです。 EvtQuery関数に渡すクエリで(第三引数)取得する条件を指定しま…

JNAでWindowsのAPIを呼び出してみる

JNAを使ってWindowsのAPIを呼び出すサンプルを書いてみました。GitHub - java-native-access/jna: Java Native Accessひとまず簡単なサンプルというところで、以下のAPIを呼び出す感じにしています。GetLastError 関数 SetLastError 関数 FormatMessage 関数…

JAX-WS でさくっと作る Web サービス

JAX-WS でさくっと Web サービスを作ってみました。さくっと取り出せるように自分用にメモを残しておきます。「サーバ側」サーバ側からいきます。まずは、Webサービスの用のクラスを作成する。 ・Test.java package com.example.jaxws; import javax.jws.*; …

「Java」ロック獲得待ちを表すスレッドダンプ

スレッドロック獲得待ちとなっている状態のスレッドダンプを取得してみます。サンプルは簡単に以下のようなものを用意しました。 package test.threaddump; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public cl…

「Java」任意の文字のみにマッチする正規表現

Java の Pattern API を使って任意の文字のみにマッチする正規表現を使ったサンプルです。■ AnyCharMatch.java package test.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; public class AnyCharMatch { private static final Pa…

「Java」大文字小文字を区別しない正規表現

Java の Pattern で大文字小文字を区別せずに正規表現にマッチさせるサンプルです。当然ながら、以下のようなコードだと data1 の "Example" だけマッチして、data2、data3 はマッチしません。■ 大文字小文字が区別されるので "Example" しかマッチしない pa…

HTMLEditorKit.ParserCallback を使ったサンプル

HTMLEditorKit.ParserCallback を使って HTML をパースするサンプルを書いてみました。・HTMLEditorKit.ParserCallback (Java Platform SE 8 ) https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/text/html/HTMLEditorKit.ParserCallback.html 以下…

ExecutorService#submit を使ったサンプル

ExecutorService#submit を使ったサンプルのメモです。Executor#execute でもタスクの実行はできますが、ExecutorService#submit を使うとタスクの結果 ( Future ) が得られるという感じですかね。実際のサンプルの以下の感じです。■ ExecutorExample.java p…

EclipseLink 使ってみる

ちょっとお仕事の関係で EclipseLink を調べる必要が出てきたので、ひとまず簡単なサンプルを書いてみました。その時のメモです。EclipseLink は JPA、MOXy、DBWS と3つのコンポーネントがあるみたいですが、今回は JPA に関する内容です。・EclipseLink ht…

「Quartz」ジョブスケジューリングライブラリ Quartz を使ってみる

Java のジョブスケジューリングライブラリに Quartz というのがあるみたいです。少し使ってみたのでメモを残しておきます。・Quartz Scheduler | https://quartz-scheduler.org/ * ダウンロード 以下からダウンロードできます。・Quartz Scheduler | Downlo…

「Java」Object#close でオブジェクトのクローンを作成するサンプル

Object#close を使用することでオブジェクトのクローンが生成できます。・Object (Java Platform SE 8 ) https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Object.htmlドキュメントに書いてますが Object#close を使用する場合、クローンを生成する…

「Spring」 MBeanExporter を使って MBean を登録する

Spring の MBeanExporter を使うと JMX API でごにょごにょすることなく Bean 定義ファイルだけで MBean の登録ができるみたいです。・MBeanExporter (Spring Framework 4.2.4.RELEASE API) http://docs.spring.io/spring/docs/current/javadoc-api/org/spri…

「Java」Runtime#addShutdownHook を使ったサンプル

Runtime#addShutdownHook で登録したシャットダウンフックは System#exit あるいは Ctrl+C なりのユーザ割り込みが発生した場合に呼ばれるとのことです。・Runtime (Java Platform SE 7 )https://docs.oracle.com/javase/jp/7/api/java/lang/Runtime.html#ad…

Log4j 2 の SyslogAppender で syslog メッセージを送信する

Log4j 2 の SyslogAppender で syslog メッセージを送信するってことをやってみました。その時のメモです。・Log4j – Log4j 2 Appenders - Apache Log4j 2 - SyslogAppender http://logging.apache.org/log4j/2.x/manual/appenders.html#SyslogAppender■ sys…

Log4j 2 をとりあえず使ってみる (ConsoleAppender、FileAppender)

Log4j 2 をちょっとごにょごにょさわってみました。今回はとりあえず ConsoleAppender と FileAppender を使うサンプルとしてます。・Log4j – Log4j 2 Guide - Apache Log4j 2 http://logging.apache.org/log4j/2.x/・Log4j – Log4j 2 Appenders - Apache Lo…

「Java」 Timer でタスクをスケジューリングする

Java であるタスクをスケジューリングして定期的に実行するサンプルのメモです。タスクのスケジューリングは Timer#schedule で行います。タスクは TimerTask クラスを継承してオーバライドした run に記述します。・Timer (Java Platform SE 8 ) https://do…

「Java」 ProcessBuilder でバッチファイルを実行する

Web にたくさん情報ありますが、ProcessBuilder でバッチファイルを実行するサンプル。 ちょっとメモとして残しておきます。いろんな情報見る限り不完全な感じもしますが、とりあえずこんなところで。■ ProcessBuilderTest.java package process.builder; im…

「Java」スレッドプールのサンプル (Executors#newFixedThreadPool)

Executors#newFixedThreadPool 使ってスレッドをプールさせるサンプル書いてみました。・Executors (Java Platform SE 8 ) https://docs.oracle.com/javase/jp/8/docs/api/java/util/concurrent/Executors.html なんとなくソケット使ったサンプルにしてみま…

HttpURLConnection で POST リクエスト

HttpURLConnection で POST リクエストを送信するサンプル。 ボディのデータですが、今回はなんとなく .zip ファイルのバイト配列を書き込むって感じにしてみました。 package test; import java.io.BufferedReader; import java.io.InputStreamReader; impo…

GridBagLayout を使って柔軟なレイアウトを構成する

グリッドでレイアウトするレイアウトマネージャに GridLayout がありますが、こいつは基本的に配置するコンポーネントが全部同じサイズになります。各コンポーネントのサイズを変更したり ( セルの結合みたいなイメージ ) もう少し柔軟にレイアウトしたいな…

ボタンとラベルを使った簡単な Swing サンプル

Java のクライアントアプリはとっても苦手です。そんなに触る機会がない ( だから慣れてない ) というのが一つの原因かと思いますが、そういっても簡単なサンプルぐらいは作らないといけない場面はちらほらと。そんな時にパッと作れないとかっこ悪いんで、ち…

「Java」XML ドキュメントを複製するサンプルコード

XML ドキュメントを複製するサンプルコードを書いてみたので、メモしておきます。やり方としては、Node#cloneNode で複製元の XML ドキュメントからノードを複製して、Document#importNode で複製先の XML ドキュメントにインポートするという感じです。・No…

「Java」AESの暗復号サンプル

AESの暗復号サンプルを書いてみたので、メモしておきます。■ AESTest.java import java.security.Key; import java.util.Random; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public c…

「Java」文字列をそのままの形でバイト列にする

わかりにくいタイトルですが、例えば、"ABCDEF" という文字列があった場合、String#getBytes でバイト列を得ると "{41,42,43,44,45,46}" となりますが、そうではなくてそのまま形 "{AB,CD,EF}" というバイト列を得るというサンプルコードを書いてみました。■…

コード署名 ( コードサイニング ) について ( ちょっとだけ jarsigner の話 )

コード署名 ( コードサイニング ) についてちょっとしたメモです。仕組みとしては以下の Web ページがわかりやすいです。・情報セキュリティ入門 - デジタル署名:ITpro http://itpro.nikkeibp.co.jp/article/COLUMN/20060704/242422/簡単にまとめると以下の…

keytool でよく使うパターンをまとめてみる

keytool でよく使うパターンをまとめてみました。すぐ取り出せるコピペ用という感じになります。・keytool http://docs.oracle.com/javase/jp/8/docs/technotes/tools/unix/keytool.html 1.キーペアの作成 keytool -genkeypair -keystore keystore -storepas…

署名付き JNLP ファイルを作成してみる

署名付き JNLP ファイルなるものがあるようです。・署名付きJNLPファイル http://docs.oracle.com/javase/jp/8/docs/technotes/guides/deploy/signed_jnlp.htmlドキュメントに書いてますが、厳密には JNLP ファイル自体に署名するわけではなく、こいつを JAR…

XML のエスケープについて

XML では 、& 等々が <、>、& 等々にエスケープされますが、このあたりについてちょっと仕様書のぞいてみました。以下あたりに書いてる感じでした。・Extensible Markup Language (XML) 1.0 (Fourth Edition) - 2.4 Character Data and Markup htt…

「Struts1」ファイルアップロードサンプル(サイズチェック有)

Struts 1 系でファイルアップロードを行なうサンプル。取り急ぎメモだけ・・・controller 要素の maxFileSize 属性でファイルサイズの上限設定、ActionForm の validate でサイズチェックしている感じです。1. 設定ファイル ■ struts-config.xml

PostgreSQL を外部から接続できるようにして JDBC ドライバ経由で接続する

PostgreSQL を外部から接続できるようにして JDBC ドライバから接続する際のメモ。 PostgreSQL の設定 以下の通りに設定ファイルを編集する。今回はどの IP アドレスからも接続可能な設定にしてます。■ $POSTGRES_HOME/data/postgresql.conf #listen_address…

「Java」使用される文字セットを指定する

Java ( 仮想マシン ) で使用される文字セットの指定についてメモ。先に結論を書くと1. API レベルでの指定 2. システムプロパティ file.encoding での指定 3. 環境変数 LANG の設定 ( Java 実行ユーザの )という順で ( 1 が優先順位高い ) 決定される感じで…

Apache BCEL でクラスファイルの情報を取得してみる

Apache Commons BCEL を使ってクラスファイルの情報を取得してみる簡単なサンプル書いてみたので、メモしておきます。・Apache Commons BCEL™ - https://commons.apache.org/proper/commons-bcel/index.html※ BCEL ( Byte Code Engineering Library ) はその…

正規表現いろいろ ( 自分用メモ )

ちょっと正規表現をゴニョゴニョさわってみたので、パッと取り出せるメモ的な意味で残しておきます。あくまで自分用メモという感じです。正規表現は Web にたくさん詳しい情報があるので、ちゃんと調べたい方はそちらの情報を見てもらった方がいいと思います…

JMockito を使ってみる ( static メソッド、private メソッドのモック化 )

JMockito を使って1. static メソッドのモック化、2. private メソッドのモック化を行なうサンプルコードを書いてみたので、メモを残しておきます。今回は Maven 使ってやることにしました。pom.xml の記述内容は以下に。・JMockit - Tutorial - Introductio…

OpenCV を使ってみる ( Windows + Java )

機会がありまして OpenCV をちょこっと触ってみたので、インストール方法等含めメモしておきます。 今回は Windows + Java 環境での使用になります。1. ダウンロード / インストール以下 Web ページの「OpenCV for Windows」からダウンロードする。現時点 ( …

PowerMock + Mockito を使ってみる

PowerMock + Mockito を簡単に使ってみたのでメモを残しておきます。やったこととしては、1. static メソッドのモック化 2. private メソッドのモック化 3. 例外投げるメソッドのモック化 4. コンストラクタのモック化という感じです。今回は、Maven 使って…

「Java」同名クラス ( 同名パッケージ) が存在する場合にどのクラスが使用されるか / URLClassLoader について

例えば、以下みたいに同名パッケージで同名のクラスが存在する場合にどのクラスが使用されるのかというのをちょっとみてみました。結論を言うと、クラスパスでより前に指定したものが使われるという感じみたいです ( 該当するクラスが見つかった時点でそいつ…

「JDepend」 パッケージ間の循環依存を調べる

Java のパッケージ間で循環依存が発生しているか調べるツールを探していたところ JDepend というツールが確認できました。ちょっと使い方だけメモしておきます。・JDepend http://clarkware.com/software/JDepend.html※ JDepend は循環依存だけじゃなくて、…

Bouncy Castle を使ってみる

暗号化 API ( Crypto API ) の Bouncy Castle を使ってみたのでメモしておきます。Java と C# のインターフェイスがあるみたいですが、今回は Java の方を試します。・bouncycastle.org https://www.bouncycastle.org/index.html・The Legion of the Bouncy …

Java の多次元配列のメモリ使用量について調べてみた

Java の多次元配列のメモリ使用量について調べてみたので、ちょっとメモしておきます。C 言語だと、例えば int i[N][M] な多次元配列のメモリ使用量は、int が 4 byte なので 4 * N * M と単純に計算できる。■ ArraySize.c #include <stdio.h> void main() { int i[20</stdio.h>…

System.gc() による明示的な GC を無効にする方法

-XX:+DisableExplicitGC フラグを指定すると System.gc() の呼び出しを無視して、明示的な GC を無効にできるみたいです。ちょっと試してみる。 class Sample { public static void main(String[] args) { System.gc(); } } ■ 指定なしの GC ログ ( java -Xl…