• Thinking in Java Reading Note(2.一切都是对象)


    1.用引用操纵对象

      如果向没有指向对象的引用发送一个消息,就会返回一个运行时错误。因此一种安全的做法是:创建一个引用的同时便进行初始化

    2.必须由你创建所有对象

      1)存储到什么地方

      程序运行时,对象是怎么进行放置安排的呢?特别是内存是怎样分配的呢?有五个不同的地方可以存储数据。

      a.寄存器。这是最快的存储区,因为它位于处理器内部。由于寄存器的数量有限,你不能直接控制

      b.堆栈。位于通用RAM(随机访问存储器)中,但通过堆栈指针可以从处理器哪里获得直接支持。某些Java数据存储于堆栈中---特别是对象引用,但是Java对象并不存储于其中

      c.堆。一种通用的内存池(也位于RAM区),用于存放所有的Java对象。当需要一个对象时,只需用new写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配

      d.常量存储。常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变。

      e.非RAM存储。如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。其中两个基本的例子是流对象和持久化对象

      2)特例:基本类型

      不用new来创建变量,而是创建一个并非是引用的"自动变量“。这个变量直接存储”值“,并置于堆栈中,因此更加高效。

      

      Java提供了连个用于高精度计算的类:BigInteger和BigDecimal。能作用于int和float的操作,也同样能作用于BigInteger或BigDecimal。只不过必须以方法调用的形式。

      3)Java中的数组

      Java确保数组会被初始化,而且不能在它的范围之外被访问这种范围检查,是以每个数组上少量的内存开销及运行时的下标检查为代价的

      当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会自动被初始化为null。

    3.永远不需要销毁对象

      1)作用域

      作用域决定了在其内定义的变量名的可见性和生命周期

      2)对象的作用域

      由new创建的对象,只要你需要,就会一直保留下去。不需要时,垃圾回收器会自动回收,防止内存泄露。

    4.方法

      Java的方法决定了一个对象能够接收什么样的信息。面向对象的程序设计通常简单地归纳为”向对象发送信息“。

    5.static关键字

      通常来说,当创建类时,就是在描述那个类的对象的外观与行为。执行new来创建对象,数据存储空间才被分配,其方法才供外界调用。

      有两种情形用上述方法是无法解决的。一种情形是,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。另一种情形是,希望某个方法不与包含它的类的任何对象关联在一起

      通过static关键字可以满足这两方面的需要。

      static方法常常拿来做”牧羊人“的角色,负责看护与其隶属同一类型的实例群

    6.import

      有一个特定类会自动被导入到每一个Java文件中:java.lang

      

  • 相关阅读:
    【转】Selenium模拟JQuery滑动解锁
    【转】nose-parameterized是Python单元测试框架实现参数化的扩展
    【转】Chrome headless 模式
    RobotFramework:App九宫格滑动解锁
    appium九宫格解锁错误提示:The coordinates provided to an interactions operation are invalid解决办法
    RobotFramework:App滑动屏幕
    robotframework:appium切换webview后,在webview里滑动屏幕
    robotframework:appium切换webview后,在第一个页面操作成功,跳转到第二个页面后,执行命令失败
    robotframework之APP混合H5自动化测试
    Allure生成测试报告
  • 原文地址:https://www.cnblogs.com/Miromiaosang/p/8891477.html
Copyright © 2020-2023  润新知