[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12288] 4/8 のズームイン Java 参加できないので



  高橋(智)@世話人です。

  4/8のズームインJavaおよび10:00からの読書会ですが、私用により
参加できないので、予めお知らせしておます。
  よろしくお願いいたします。> 徹さん

  なお、ズームインJavaの「Java魂」ですが、先にP45〜P91までを予習
しまして、素朴な質問・疑問を考えておきました。当日、参考にしてくだ
さい。(^^;
  参加される方も予習をお願いいたします。m(_ _)m

====================================================================
P49の「この依存関係を自動的に認識する構築環境」とあるが、具体的には
どのような環境があるか?


P52の[例2-6]のコードに
  public final static void main(final String[] args) {
というmainメソッドがあるが、final static なメソッドの意味・機能は?


P55の[2.2.2.1 初期化遅延のチェーン]は、Errataのページによると
----------------------
[53] Section Chaining Finals;
Remove entire section!
----------------------
と訂正されている。このセクション全体が削除されるべき理由は?


P71の「Log4J内のisDebugEnabled()メソッドを使うと、if文による比較より
ずっと時間がかかります」とあるが、
  public static void someMethodBetter() {
    if( LOGGER.isDebugEnabled() ) {
      LOGGER.debug("xxxx");
    }
    if( LOGGER.isDebugEnabled() ) {
      LOGGER.debug("yyyy");
    }
    ...
  }
というコードの事を意味しているのか? 何度もisDebugEnabled()メソッドを
呼び出すオーバーヘッドはどの程度のものだろうか?
  しかし、そもそもdoLoggingというフラグが設けてあるので
  ...
  private static boolean doLogging = LOGGER.isDebugEnabled();
  public static void someMethodBetter() {
    if( doLogging ) {
      LOGGER.debug("xxxx");
    }
    if( doLogging ) {
      LOGGER.debug("yyyy");
    }
    ...
  }
とすることで、時間は掛からないのではないか?


P73に「性能の良いコンパイラならばそうした実行されないコードをそのまま
にせず、削除します」とあるが、具体的にどのようなコンパイラがあるか?
====================================================================

-- 
高橋智宏