タグ

ブックマーク / www.aerith.net (2)

  • Javaのスレッドとメモリリーク

    Javaにはgarbage collectorが組み込まれていますので、CやC++の場合と違って、自分でメモリを解放する必要はありません。使われなくなったオブジェクトは、そのうち自動的に削除されます。 ところが、プログラマが意識していないところで、オブジェクトが参照されたままとなってしまい、いつまでたってもgarbage collectorでメモリが解放されない、という状況になることがあります。これが、Javaのメモリリークです。 スレッドにおいても、メモリリークが発生しやすいケースがあります。 例として、次のソースコードを見てください。 public class ThreadTest { public static void main ( String[] args ) throws Exception { for (int i = 0 ; i < 100 ; i++) { Thread

  • 技術者の評価を下げる「悪い」コメントに注意しよう

    ソフトウェアの受託開発や、オープンソースのプロジェクトでは、ソースコードが他の技術者の目に触れる。そのため、ソースコードから開発者の技術力が評価されやすい。 ソフトウェアの開発者は、モジュール分割やクラス設計には全力を傾ける。最近では、設計の完成度を高めるために、実装の後でリファクタリングを行うことも珍しくない。 だが、設計の善し悪しにこだわる開発者でも、ソースコードに書くコメントの品質までは、配慮が及ばないことが多い。コメントは質的なものではないので、つい気を緩めてしまうのである。 ところが、開発者の希望に反して、ソースコードの読み手が印象を受けやすいのは、コメントの品質である。ソースコードから設計を読み解くのは容易ではないが、日語や英語で書かれているコメントは目に付きやすい。 優秀な技術者の書いたソースコードでも、驚くほど「悪い」コメントが書かれていることがある。そのようなソースコ

  • 1