三浦と窮理とブログ

自分の経験したことを検索可能にしていくブログ.誰かの役に立ってくれれば嬉しいです.

Javaで末尾再帰最適化をする方法

StreamAPIを使えばjavaでも末尾再帰最適化(Tail-Call Optimization)ができるぞという本( Javaによる関数型プログラミング ―Java 8ラムダ式とStream | Venkat Subramaniam, 株式会社プログラミングシステム社 |本 | 通販 | Amazon 。英語版のpdfが無料でネッ…

SSD(SunDisk SDSSDH3-500G-G25)の換装(クローン作業)

私のデスクトップパソコンが少しずつ調子が悪くなってきております。 とくに少し前にパソコンの起動中に家が停電になって強制シャットダウンしたのは影響が大きいようです。 そのときは復電後も本当にパソコンが起動しなくなったのですが、電源ユニットを交…

Java SE 11 Gold 認定資格 合格体験記

Java SE 11 Gold認定資格に合格しましたので、いろいろ書いていきます。 Silverの時に書いた記事もあります。 Java SE 11 Silver 認定資格 合格体験記 - 三浦と窮理とブログ 資格についての基本情報についてはSilverのときとほとんど同じなので今回は割愛し…

Javaのリテラルまとめ

リテラル ソースコードに直接記述する値。プリミティブ型では整数、浮動小数点数、真偽、文字の四つ。参照型では文字列やnull、クラスリテラルがある。 プリミティブ型リテラル プリミティブ型のリテラルはデフォルトでは以下の型になる。 リテラル プリミテ…

Gitのファイルステータスまとめ

Git

とあるファイルについて、git statusで表示される状態と、実際のファイルの状態(存在性,内容)の対応を表にしてみる。 その都度考えれば分かることではあるが、まとめると何かに便利かも。。。 言葉や記号の定義は下のセクションに述べる。 status 作業ディレ…

GitLabのマージリクエストのChangesに表示される差分

GitLabのマージリクエスト(MR)のChangesに表示されるのは git diff <base branch>...<source branch> である。トリプルドット...に注意。 Commits > Compare でも2つのコミット選択欄の間に...が表示されている。 ダブルドットとトリプルドットの違い git diffにおいて、ダブルドット..に</source></base>…

java.util.stream.Stream<T>.flatMap() の使い方

JavaのStreamAPIにあるflatMapメソッドを使ってみます。 定義 <R> Stream<R> flatMap(Function> mapper) 簡単のために、ワイルドカードをその境界の型に書き直して考えてみます。 <R> Stream<R> flatMap(Function<T, Stream<R>> mapper) 引数にはFunction<T, Stream<R>>型インスタンスを渡します。</t,></t,></r></r></r></r>…

Java SE 11 Silver 認定資格 合格体験記

Java SE 11 Silver認定資格に合格しましたので、いろいろ書いていきます。 資格情報 オラクル認定Javaプログラマー SE 11という資格で、認定してもらうためにはJava SE 11 Programmer I(1Z0-815-JPN)という試験に合格する必要があります。JPNがついていない…

java.util.Collectionの実装クラスのクラス図

java.util.Collectionの実装クラスを、継承と実装の関係だけですがクラス図にまとめてみました。 The Java Tutorial に載ってるクラスを、全てではありませんが実際にソースコードを見ながらextendsとimplementsの関係をまとめています。 MapもCollectionと…

Javaの列挙型まとめ

列挙型 (enum type) https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.9 クラス型の特殊な1つ。型自身のstaticインスタンスをまとめて保持する。switch文の条件式に使…