A Clockwork …

~雑記メモ~

T.B.D.

こんにちは.最近,ご無沙汰していましたが,Blogを再開しようかと考えています. JavaよりもC/C++を触っている機会が再び増えて,pythonも若干. GPGPUの演算処理なんかも最近はよく書くようになりました.ネタは尽きないのですが,なかなか文字におこすの…

toStringに関して

ObjectクラスにはtoStringメソッドが定義されています。 つまり、Javaのすべてのクラスに共通した基底クラスであるObjectクラスであるため、JavaのすべてのクラスにtoStringメソッドが呼べることになります。では、toStringはどういった意味があるのでしょう…

最適化に期待しない

私自身、学生まではC/C++でコードを書いていました。 vc++には大変お世話になりました。今思えば、相当優秀なコンパイラでしたね。 gccとかと比較した時の違いは素晴らしかったです。それに対して、Javaですが。 最適化はほぼされないです。JVMにはJITが積ん…

演算時の昇格

Javaって演算時に型変換が発生します。具体的には次を見てみましょう。 short s1 = 1; short s2 = 2; short s3 = s1 + s2;これはこのままではエラーです。 なぜなら、s1 + s2の結果がint型なため、short型のs3へ代入することができないからです。 そのために…

そのインスタンスはどこで使うの?

無意味にインスタンスを作るのやめませんか。オブジェクト指向だからってなんでもオブジェクトにするのは、リソースの無駄遣いになります。次の例を見てみましょう。 private StringBuffer sb = new StringBuffer("hoge"); public String get() { String str…

finalの重要性

新しく作ったクラス、メソッド、変数、継承したクラスはどう定義していますか。修飾子って重要だと最近知らされました。 個人的に作成しているプログラムなんかは、求めていた動きができたらいいかな程度で設計してコード書くと思うんですけど、チームだとそ…

try-catch内でのreturn

try-catchは絶対使いますよね。 ただ、使い方を間違えると予想外の動きになってしまうことがあります。 それは、try-catchとreturnが混ざってしまった構文の場合です。まずは次の例を見てみましょう。 public int tryCatch(String str) { int i = 0; try { s…

抽象クラスとインターフェイスの使い分け

抽象クラスとインターフェイスの違いってなんでしょう。長年プログラミングに慣れ親しんでいる方は、明確にこうであると明言できるかもしれないですが、 学び始めたばかりの人であったり、あまり意識した使い方をしていない場合は使い分けが難しいかと思いま…

Stringに関して

Stringってなんなのでしょうか。 プリミティブ?クラス?インタフェイス?答えは、クラスです。 「String」の頭の"S"が大文字であることからわかるように、クラス型変数なのです。実際に例を見てみましょう。 String s = new String("hoge");こう書けます。 …

==とequalの区別(ぱーと2)

前回のつづきです。 ==とequalの違い。 前回は、==の説明をしました。 ==では、プリミティブ型で定義した場合と、オブジェクトで定義した場合では比較対象が異なることを示しました。 今回はequalです。 では、次の例を見てみます。 Integer s3 = new Intege…

==とequalの区別

Javaをはじめて一番目に引っかかったこと。 ==とequalの違い。 そもそも演算子とメソッドの違いが挙げられますが、ただそれだけの違いだけではなく、使い方にも違いがあります。 まずは、”==”を理解するために、 以下の2つの例を見てみます。 int s1 = 5; in…

Javaってなんだろう?

こんにちは。 いきなりですが私自身、現在Javaを用いたアプリケーションや、サーバシステムの開発に携わっています。 Javaに触れたのは、大学生時代に”オブジェクト指向とは”という講義で触ったくらいでしたが、企業で働くようになってからは、Java!Java!…

start Hatena Blog

みなさま, はじめまして。 はてなブログはじめます。 はじめた理由としては, 日々学んだことのメモのためです。 特に, プログラミング(基礎的なこと)など記録していけたらいいかなと思います。 よろしくお願いします。