A little bit of everything

元・情報系大学院生の備忘録

プログラミング-Java

メモ:M1 MacでOpenJDK11をインストール

M1 MacでOpenJDK11をインストールした際のメモ 1. OpenJDK11をダウンロード&解凍する 以下のサイトからMac用のJDK11の tar.gz をダウンロードして解凍する。 Archived OpenJDK GA Releases 今回は↓この画像のとおり、11.0.2 のMac用のtar.gz ファイルをダウ…

Spring Feign でRESTクライアントを作る

Spring Feign とは Spring プロジェクトの1つで、RESTクライアントを簡単に作るためのフレームワークです。 SpringでRESTクライアントというと、RestTemplateクラスを使う方法がすぐに思いつくと思いますが、Spring Feignを使うとRestTemplateのような実装を…

Spring Bootでコンソールアプリケーションを作る方法

1. はじめに Spring Boot で、コンソールアプリケーションを作る方法のメモです。 Spring Boot はWebアプリケーションを作るためによく使われますが、コンソールアプリケーションも作れます。 今回は、コンソール上で標準出力に「Hello World!」と出力して終…

【まとめ】Springフレームワークにおける Bean の ライフサイクル

今後も情報が分かり次第、随時このページに情報を追加していきます! この記事では、Spring フレームワークにおける、Java Beanのライフサイクルについてまとめます。 ここに示す内容は、Spring Boot アプリケーションにも当てはまります。 基本、こちらのペ…

ReentrantLock の lock と tryLock

ReentrantLockとは 排他制御をJavaで実装するときに使用するLockインタフェースの実装で、ロックを取得するタイミング、解放するタイミングなどを明示的に指定することできます。 ちなみに、このようにロックの取得/解放タイミングをプログラマが自由に指定…

EclipseやSTSでlombokを使えるようにする方法

EclipseやSTSでlombokを使える状態にする方法の解説です。 したがって、「lombokとは?」みたいな説明は省略します。 環境: - OS:OS X El Capitan - Eclipse:Version: Neon.1a Release (4.6.1) Step1: lombok.jar をダウンロードする 主に2種類のやり方…

String#splitで、文字列が分割できない場合

Stringクラスのsplitメソッドで文字列が分割できない場合、その文字列自身が分割後配列の0番目の要素に入る ふつうにsplitできる場合 String string = "AAA_BBB"; String[] splitStrings = string.split("_"); System.out.println(splitStrings.length); //…

cron4j を使ってみた - JavaVM上 で動く cron

そもそも cron とは cron とは、 定期的に or 指定した時刻に、何らかの処理を実行させたい場合に使うUNIX系のOSの仕組みです。いわゆるスケジューラというプログラムです。 例えば「サーバのバックアップを取るためのプログラムを毎朝AM4:00に自動で動かす…

【Java】匿名クラスから親クラスのフィールドを参照する方法

匿名クラスの中から、親クラス名.this でアクセス可能。 public class OuterClass { //アウタークラスのフィールド private String str = ""; //インナークラスの定義 private class InnerClass{ //インナークラスのフィールド private String str = ""; //…

Swing でのコンポネント追加後に表示されない

「swingのコンポーネントが表示されない」(1) Java Solution − @IT

PAppletで背景画像をつける際のエラー

PAppletで背景画像をつけようとして、こんなコードを書いた。 PImage bg; @Override public void setup(){ size(760, 840); //背景画像を読み込み this.bg = loadImage("bg.png"); this.bg.resize(760, 840); } @Override public void draw(){ background( t…

レジスタマシンとスタックマシン

レジスタマシン レジスタマシンは、メモリからレジスタに数値をロードして演算を行う。 スタックマシン スタックマシンは、メモリからスタックへ数値をプッシュ&ポップで演算を行う。 2つの特徴 スタックマシンは、操作に使用する位置がスタックポインタが…

【Java】for文でリストを回して要素を削除する際の注意

for文でリストを回して要素を削除しようとするなら、注意が必要です。 例えば、こんなコードがあったとする。 import java.util.ArrayList; public class Sample1 { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1</integer></integer>…

シャットダウンフック

JVMの終了時に何らかの処理をさせることが可能です。 この「JVM終了時に実行する処理」を記述したスレッドのことをシャットダウンフック(ShutdownHook)と呼びます。 ここで言う「JVMの終了時」とは、以下のものを指します。 System.exit() が呼ばれた場合 …

JavaでTCP通信をするアプリを作る

# JavaでTCP通信をするアプリを作る サーバ側 //これから立てるサーバのポート番号 int serverPort = 10000; //そのポート番号でサーバソケット(ServerSocket)をつくる ServerSocket serverSocket = new ServerSocket(serverPort); //accept() と書いた瞬間…