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

本文详细探讨了Java中的指针概念,通过引用(reference)而非传统的指针来实现内存地址的引用。文章深入解读了Java中null值的表示、字符与字符串的Unicode编码、数组初始化与边界检查,以及对象引用与方法调用的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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

转载于:https://www.cnblogs.com/sjtujoe/p/4116764.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值