Java
neovim+vim-codefmtでJavaのフォーマッターを導入しましたが、 なかなかてこづったのでメモを残しておきます。 github.com 1. vim-codefmtのインストール ~/.config/nvim/init.vim に以下の設定を追記して vim-codefmt をインストールします。 プラグインマ…
仕事であるアプリケーションのCPU使用率が異常に高くなる事象のトラシューをしたんですが、久々にこの手のトラシューをしていろいろ忘れてたこともあり、新たな学びもあったりしたので、備忘録として残しておく。 とりあえずこの手の事象に遭遇した際はスレ…
リフレクションで例外クラスの取得してスローする方法のサンプルコードです。 今回生成するクラスでキャストはしたくなかったので、 キャストせずに書く方法を考えたわけですが、ぱっと書き方がわからず。 結局調べて解決したんですが、ほしい情報になかなか…
ジェネリクスを利用したインタフェースを実装する抽象クラスの作成についてつまずいたのでメモ。 下記の感じのジェネリックなインタフェースがあったとします。 package com.example; public interface SampleInterface<E> { public E test(E e); } 上記を実装</e>…
Jackson を利用して Javaオブジェクトの JSON 表現を出力するサンプルコードを書いたのでメモとして残しておきます。 ObjectToJson.java package com.example.jackson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.ja…
久しぶりの更新。 避けに避け続けたラムダ式。とうとうお仕事で読む、書く必要に迫られたのでお勉強。 といっても今回は備忘録的にサンプルコードを。ラムダだ式はざっくり言うと「メソッド一つしかないインタフェースの実装をより簡単に書けるようにしまし…
JNAを利用してイベントログのログファイル(.evtx)のパスを取得するサンプルを書いたのでメモ。※「ログファイルのパス」は、イベントビューアの[ログのプロパティ] - [ログのパス] のこと。 public class Test { ..... private static final Wevtapi wevtapi …
EclipseLink で L2 レベルのキャッシュ(Persistence Unit Cache という言うみたいです。persistence unit 単位のキャッシュですね)の中身を表示するサンプルです。EclipseLink では JpaCache というインタフェースが用意されていて、こいつがキャッシュの…
ProcessBuilder の環境変数についてのメモです。・ProcessBuilder (Java Platform SE 8) https://docs.oracle.com/javase/jp/8/docs/api/java/lang/ProcessBuilder.htmlProcessBuilder が利用する環境変数については、ドキュメントに このプロセス・ビルダー…
MXBeanのサンプルを書いてみたのでメモを残しておきます。 参考にしたのは以下のオラクルのページ(というかページに記載のサンプルほぼそのままです・・・)・MXBeans https://docs.oracle.com/javase/tutorial/jmx/mbeans/mxbeans.html まず、MXBean のイ…
Event Logging API を使ってイベントログを出力するサンプルを書いてみたのでメモを残しておきます。・Event Logging API https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa363652.aspx 以下サンプルです。・WindowsEventReporter.java package …
ProcessBuilder で環境変数を設定してバッチファイルを実行するサンプルのメモです。といいましても、ProcessBuilder#environment で取得したマップに対して、設定したい環境変数を put してやるだけでいいみたいです。ProcessBuilder (Java Platform SE 8 )…
JCIFS なる Java の SMB クライアントの実装があるということを知ったので、ちょっと使ってみました。JCIFS今回は読み込みのサンプルを。■ JCIFSTest.java package com.example.jcifs; import java.io.ByteArrayOutputStream; import java.io.IOException; i…
JNA で Windows API を呼び出す際の int と DWORD のマッピングについてメモしておきます。 DWORD については以下のドキュメントに記載の通り、32bit の符号なし int (0 ~ 4294967295) になります。Windows Data Types (Windows) A 32-bit unsigned integer…
以下のエントリーでは EvtRender関数を利用してイベントログのレンダリングを行っていましたが、EvtFormatMessage関数というのもあるみたいなので、こちらの関数を使うサンプルを書いてみました。a4dosanddos.hatenablog.com以下のドキュメントのコードを参…
以下のエントリーでブックマークを利用したサンプルを書いてみましたが、このサンプルだとブックマークが存在しない、かつ、EvtQuery関数に渡すクエリにマッチするイベントログが存在しなかった場合にブックマークが作成されません(「//ブックマーク保存処…
Windows Event Log API にはブックマークなる機能があるらしいので、これを JNA 経由で使ってみました。Bookmarking Events (Windows)長ったらしいですが、以下のような感じになりました。 ブックマークは XML としてファイルに保存するのですが、初回処理な…
JNA から以下の Windows Event Log API を呼び出してイベントログを取得するサンプルを書いてみたのでメモしておきます。Windows Event Log (Windows)とりあえず以下の感じになるみたいです。 EvtQuery関数に渡すクエリで(第三引数)取得する条件を指定しま…
JNAを使ってWindowsのAPIを呼び出すサンプルを書いてみました。GitHub - java-native-access/jna: Java Native Accessひとまず簡単なサンプルというところで、以下のAPIを呼び出す感じにしています。GetLastError 関数 SetLastError 関数 FormatMessage 関数…
JAX-WS でさくっと Web サービスを作ってみました。さくっと取り出せるように自分用にメモを残しておきます。「サーバ側」サーバ側からいきます。まずは、Webサービスの用のクラスを作成する。 ・Test.java package com.example.jaxws; import javax.jws.*; …
スレッドロック獲得待ちとなっている状態のスレッドダンプを取得してみます。サンプルは簡単に以下のようなものを用意しました。 package test.threaddump; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public cl…
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 の Pattern で大文字小文字を区別せずに正規表現にマッチさせるサンプルです。当然ながら、以下のようなコードだと data1 の "Example" だけマッチして、data2、data3 はマッチしません。■ 大文字小文字が区別されるので "Example" しかマッチしない pa…
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 を使ったサンプルのメモです。Executor#execute でもタスクの実行はできますが、ExecutorService#submit を使うとタスクの結果 ( Future ) が得られるという感じですかね。実際のサンプルの以下の感じです。■ ExecutorExample.java p…
ちょっとお仕事の関係で EclipseLink を調べる必要が出てきたので、ひとまず簡単なサンプルを書いてみました。その時のメモです。EclipseLink は JPA、MOXy、DBWS と3つのコンポーネントがあるみたいですが、今回は JPA に関する内容です。・EclipseLink ht…
Java のジョブスケジューリングライブラリに Quartz というのがあるみたいです。少し使ってみたのでメモを残しておきます。・Quartz Scheduler | https://quartz-scheduler.org/ * ダウンロード 以下からダウンロードできます。・Quartz Scheduler | Downlo…
Object#close を使用することでオブジェクトのクローンが生成できます。・Object (Java Platform SE 8 ) https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Object.htmlドキュメントに書いてますが Object#close を使用する場合、クローンを生成する…
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…
Runtime#addShutdownHook で登録したシャットダウンフックは System#exit あるいは Ctrl+C なりのユーザ割り込みが発生した場合に呼ばれるとのことです。・Runtime (Java Platform SE 7 )https://docs.oracle.com/javase/jp/7/api/java/lang/Runtime.html#ad…