Thế giới điện toán đã mất đi một người hùng

Thảo luận trong 'Thư Giãn Express - Bản Tin Cuối Ngày' bắt đầu bởi nhatanh, 14/10/11.

  1. hgiasac

    hgiasac snake, snake, snaaaake Lão Làng GVN

    Tham gia ngày:
    21/12/07
    Bài viết:
    8,238
    Ở đây value có nghĩa là không thay đổi được, còn reference là có thể thay đổi.

    Reference thường sử dụng khi cần thay đổi giá trị nhiều biến, bằng cách gán trực tiếp giá trị vào biến đó, mà gán trực tiếp thường dễ phát sinh lỗi hơn.
     
  2. 1s1k_d2006

    1s1k_d2006 The Warrior of Light Lão Làng GVN

    Tham gia ngày:
    20/8/05
    Bài viết:
    2,023
    Nơi ở:
    SG
    Thực ra là tùy case, nhưng mà nói chung thì reference có lợi hơn khi bạn muốn tốc độ, cái này đọc được trong quyển effective C++ =).Nếu bạn pass = value, có thể object ko đổi, mấy cái nhẹ hoặc chỉ đơn giản là int, string ngắn thì không sao, chứ nếu là object lớn thì nó sẽ copy cả cái object đó vào memory rồi pass vào, chính vì thế object gốc không đổi, bù lại thì công copy + mem bỏ vào --> cost. Reference nó chỉ đơn giản return lại 1 cái var chứa reference đến object gốc, vì thế rất nhanh nhưng object gốc có thể bị đổi, fix = const ref. Ai làm programming về game thì đều pass = const ref hết. Java thì không hiểu sao nó luôn pass = value , chắc vì thế nó mới chậm + an toàn với cái JVM của nó =) Một số ngôn ngữ cao hơn thì compiler nó làm nhiều thứ hơn, JS mấy cái như number/string nó pass = value, object nó pass= value chứa reference.

    Còn ý nghĩa câu nói thì cũng có thể hiểu như vậy, dù cũng giống phân tích mấy cái tác phẩm văn học, chả ai biết được, cứ cho là mình ngu vậy =)
     
    Chỉnh sửa cuối: 17/10/11
  3. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Chính vì Java nó pass = value nên mới có được cái ổn định để làm thread local cực kì tốt như thế.
     
  4. Minamoto_Shizuka

    Minamoto_Shizuka Fire in the hole! Lão Làng GVN

    Tham gia ngày:
    24/10/09
    Bài viết:
    2,526
    Java pass bằng value nhưng đó không phải là lý do nó chậm, tại vì cái value đó hoặc là thuộc dạng cơ bản hoặc là reference của một Object. Không phải là pass cả value của Object.
     
  5. ham_vui242

    ham_vui242 T.E.T.Я.I.S Lão Làng GVN

    Tham gia ngày:
    9/8/04
    Bài viết:
    665
    Chuẩn ^^ I like it :).........................................
     

Chia sẻ trang này