首页 > 代码库 > 【2014-11-23】《The Hardware/Software Interface》– Section 11

【2014-11-23】《The Hardware/Software Interface》– Section 11

  1. Data in Java
    • Java has pointers – they are called ‘referenes’
    • Null is typically represented as 0
    • Characters and strings
      • Two-byte Unicode instead of ASCII
        • Represents most of the world’s alphabets
      • String not bounded by a ‘\0’(null character)
        • Bounded by hidden length field at beginning of string
      • image
    • Arrays
      • Every element initialized to 0
      • Bounds specified in hidden fields at start of array(int – 4 bytes)
        • array.length return value of this field
      • Every access trigger a bounds-check
        • code is added to ensure the index is within bounds
        • Exception if out-of-bounds
      • image
    • Data structures (Object) in Java
      • Objects can only include primitive data types
        • include complex data types(arrays, other objects, ec.) using references
    • Pointers/References
      • Pointers in C can point to any memory address
      • References in Java can only point to an object
        • And only to its first element – not to the middle of it
      • In Java, all variables are reference to objects
        • use r.a notation
      • Casting in C
        • we can cast any pointer into any other pointer
      • Casting in Java
        • can only cast compatible object references
      • Java Methods
        • Methods in Java are just functions but with an extra argument: a reference to the object whose method is being called
    • Vitual machine and runtime environment
      • image
      • image
    • image
    • image
    • image

【2014-11-23】《The Hardware/Software Interface》– Section 11