その時に書きたいものを書きます

その時に書きたいものを書くんです

Java

JAVA_HOMEって誰が使うの

環境変数JAVA_HOME。 だいぶ前に環境変数に追加して、なんのために追加したかももはや覚えてなかったので改めて調べてみた。 Tomcatのもの こいつを参照している代表格がTomcatである。Tomcatのbin配下のsetclasspath.batに以下のような記述があるよ。 rem -…

クラスパスについて

クラスパスっていう言葉が腹落ちしないので掘り下げる。 クラスパス=classまでのパス=JDKツールの探し先 Javaのプログラムはclassの集合である。.javaのファイルを作成し、それをコンパイルして.classを作成する。その.classのファイルが組み合わさって一…

なぜVectorではなくArrayListなのか

おじいちゃんPGがVector使ってて頑なにArrayListを使わなかったので、まあどうせ時代についていけないだけなんだろうなと思ったけど一応ちゃんと調べてみた。レガシーで後方互換のために残ってるとは聞いてたけど実際どうなんだと。 同期のためにVectorは使…

staticファクトリーメソッド

オブジェクトの提供者は、コンストラクタだけではない。 staticなメソッドでオブジェクトを返すようにする方法もある。 コンストラクタでのオブジェクト提供を無意識に行わないよう注意。 StaticFactoryMethod.java package test; public class StaticFactor…

シリアライズ!!!

オブジェクトのシリアライズについて 参考: Java直列化メモ(Hishidama's Java Serializable Memo) Javaの道:入出力(7.オブジェクトのシリアライズ) 上記リンクを見れば大体わかる。 シリアライズは直列化という日本語役らしい。ちょっとしっくりこない…

Webアプリケーションは基本的にマルチスレッド?

という結論でいいらしい。 VBでDesktopアプリケーションしか作ってなかったせいか、スレッドという概念が欠落していた模様。 ちまたでよく「スレッドセーフ」という言葉を耳にして「なんのこっちゃ?」状態でした。 JavaでWebをやり始めてやっと「スレッドセ…

StringBufferに文字追加していくのとStringに文字追加していくの違うの?

Stringは+=するたびにオブジェクトが作成されていく。 str +="a"; str +="b"; str +="c"; ってやるとオブジェクト3つできてしまうわけ。最終的にstrは"abc"だけども。

shallow copyについて

class Hoge implements Cloneable{ public int intHoge = 0; public String[] arrHoge = new String[]; public Hoge createClone(){ Hoge hoge = null; try { hoge = (Hoge)clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } retur…

匿名クラスについて

public static WebSocket<JsonNode> ws(){ final String username = session("username"); return new WebSocket<JsonNode>(){ @Override public void onReady(final WebSocket.In<JsonNode> in, final WebSocket.Out<JsonNode> out){ try{ WebSocketActor.join(username, in, out); }catch(Exception</jsonnode></jsonnode></jsonnode></jsonnode>…

Enumについて

Enumはクラス? Enumは内部的にはクラスとのこと。 public enum Macross{ Sheryl, Ranka, Alto } って定義すると public class Macross extends java.lang.Enum{ public static final Macross Sheryl public static final Macross Ranka public static final…