Java

【クラスローダ】JVMが読み込むクラスを見つける仕組み【パッケージ】

NoClassDefFoundError や ClassNotFoundException に遭遇した時など,Java で書くならクラスローディングについてある程度知っておいたほうがよいケースというのはあるかなあと思い調べたときのメモ.なんとなくの概要. クラスローダ 基本的な仕組み Java …

Javaでtail -fならcommons-ioが楽

Java で tail -f のようなファイルの監視・追跡をしたい時に0から実装するのもなかなか面倒くさいです.Apache commons-io というライブラリにそれを簡単に実現できる機能があったのでメモしておきます. Commons IO IO 系をよしなに扱うためのオープンソー…

JavaでShell的に使えるコマンドラインツールを作る

Java でコマンドラインツールを作ったときのメモ.あえて Java でやる必要性は無いのですが,なんとなく Java で書きたいこともあるでしょう. JCommanderを使ってコマンドライン引数の管理する 基本的にコマンドはオプションありきなので,引数をパースして…

Javaにおける検査例外の有効性と非検査例外との使い分けについて考えたこと

Java での検査例外と非検査例外の使い分けについて少し考えたときのメモ.どうやら検査例外を使う使わないについては賛否両論あるらしく,ネットで検索してみても,ブログ等でいくらか議論されていることがわかります.それらの記事を眺めながら,検査例外に…

【Java6から】古いJavaのサンプルコードを用意してモダン化してみる【Java10まで】

勉強用にやってみた時のメモ。アップデートと共に書き方が変わるのは Java に限った話ではありませんが、Java は特に昔と今で書き方を大きく変えられる言語な印象があります。Java の勉強中にネット記事を眺めていても、バージョンの異なる色々な書き方が混…

なぜJavaの文字列(String)はイミュータブルなのか

Java における String は不変(イミュータブル)であるというのはよく知られていることだと思います.が,なぜそうなっているのかということについては考えたことがありませんでした.今回はその理由についてメモ. 理由① String Pool のため Java では Stri…

【Twitter4J】特定のキーワードを呟いた人をフォローする的なやつ【Bot】

※ 追記 こんな記事を書いておいてアレですが、どうやら Twitter では自動フォローは規約で禁止されているみたいです。ここに書いてあるようなことを実行してバレると、アカウントを凍結されます。注意。 support.twitter.com ===============…