パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Java 1.4SE正式リリース」記事へのコメント

  • 未だにJava人気あるんですね。
    僕はいまいちJavaの良さが分かりません。
    誰かJavaのすばらしさを語ってもらえないでしょうか。
    • 「Java は駄目」とか言う人の話をよく聞いてみると、
      Java Applet のことだったり、 JavaScript のことだったりする
      ことがあるので、いっかい問い詰めてみたほうがいいです。
      • 僕がJavaで駄目だと思うところはまず実行速度です。
        JITの技術がありますが本質的な解決策では無いと思います。
        しかもテキスト処理なんかはJITを使ってもAwkよりもPerlよりも遅い。

        次に移植性です。
        Write Once Run Anywareとか言っていますがはっきり言って実現されて無いと思います。
        移植性 + 速度
        で考えるとCの方が上だと思っています。

        GCを利点として挙げる人がいますが、それも僕はどうかと思っています。
        GCがあるためにむちゃくちゃなプログラムでもある程度動いてしまいます。
        1時間ぐらいだったら動くけど長時間動かしているとVMが落ちることがありますし、その時のバ
        • GCを利点として挙げる人がいますが、それも僕はどうかと思っています。
          GCがあるためにむちゃくちゃなプログラムでもある程度動いてしまいます。

          GC を単にメモリリークを防ぐためのものと考えると大したありがたみはありませんが,メモリフラ

          • >GC を単にメモリリークを防ぐためのものと考えると大したありがたみはありませんが,メモリフラグメン
            >テーションを防ぐためのものと考えれば,その恩恵は計り知れないと思います。

            え?

            http://www.is.s.u-tokyo.ac.jp/~vu/jugyo/processor/process/soft/compilerresume/gc/gc.html
            >Copying GCの興味深い性質は、コピーするときにオブジェクトの空きをつめるため、fragmentationが発生しないということである。

            によると、フラグメンテーションを無くす機能(つーか嬉しい副作用?)を期待できるかどうかは
            GCのアルゴリズム次第であって、GC一般の性質ではない、と読めます
            • > によると、フラグメンテーションを無くす機能(つーか嬉しい副作用?)を期待できるかどうかは
              > GCのアルゴリズム次第であって、GC一般の性質ではない、と読めますけど?

              GC がどのようなアルゴリズムで行われるにせよ、compaction は
              行われてるのではないでしょうか? compaction されるというこ
              とは、その時点でフラグメンテーションも解消される、ということ
              ですよね?違う?

              Java の Heap に関しては、激しくオブジェクトの生成/回収を
              繰り
              --
              Only Jav^Hpanese available :-)
              • > GC がどのようなアルゴリズムで行われるにせよ、compaction は
                > 行われてるのではないでしょうか? compaction されるというこ
                > とは、その時点でフラグメンテーションも解消される、ということ
                > ですよね?違う?
                > Java の Heap に関しては、激しくオブジェクトの生成/回収を
                > 繰り返してもフラグメンテーションによって新規オブジェクトが
                > 生成できない、とゆー事態には陥ったことがないため漠然とそう
                > 思ってたんですけど…。

                私も空きメモリの合計が 要求メモリサイズを上回っているうちから
                out of memory を出すへたれな JavaVM は見たことのないです。

                ただ、GC が行われた後はフラグメンテーションが解決されているか
                と言うと必ずしもそうではないと思います。
                例えば、普段の GC はフラグメンテーションの解決を行わないけど、
                断片化されない最大の空き領域のサイズが要求サイズを満たさない
                場合にはしょうがないので、フラグメンテーションを解決する GC
                を改めて起こすという方法があります。

                特に他の Java スレッドを止めずに GC スレッドがメモリを回収
                して回る On-the-flay 型 GC は、生きているオブジェクトの位置
                をむやみに動かせませんし、、、
                --
                コンタミは発見の母
                親コメント

人生unstable -- あるハッカー

処理中...