Thinking in java 阅读

1.1 抽象

  1. 所有的编程语言的最终目的都是提供一种“抽象”方法

1.5 继承

  1. 衍生类重写基础类的方法,实现在新版本中具有(体现)不同的功能。
  2. 继承中衍生类和基础类的等价”关系“,如:我们可以理直气壮的说:“圆是就是一种几何形状”。
  3. 继承中衍生类和基础类的“类似”关系,衍生类除了拥有基础类的元素,还加入了新的元素,成为了一个新的类

1.7 对象的创建

  1. 堆中分配存储存储空间的时间比栈中分配存储空间的时间要长(栈中分配存储空间只需将指针向下或向上移动即可)

1.12 并发编程

  1. 把问题切分成多个可以独立运行的部分(任务),从而提高程序的响应能力,上述独立运行的部分称之为线程,上述概念称之为“并发”。
  2. 通常,线程是为单一处理器分配执行时间的手段,当操作系统支持多处理器,那么每个任务可以被指派给不同的处理器,并且它们是在真正地并行执行。
  3. 多线程的问题是,多个并发任务去访问一项资源。

1.13 Web是什么

  1. 用于分发信息的软件以及信息与原件所驻留的机器或机器群被总称为服务器,驻留在用户机器上的软件与服务器进行通信,以及获取信息、处理信息,然后将他们显示在被称为客户机的用户机器上。
  2. 由于脚本语言提供了更容易、更快捷的开发方式,因此你应该考虑诸如Java这样的更复杂的解决方案之前,先考虑脚本语言。(作者这话说的,这个个假的作者吧)
  3. (作者在下面立马狂吹了一下Java)Java不仅是一种功能强大的、安全的、跨平台的、国际化的编程语言,而且。。。。

2.2 必须由你创建所有对象

  1. 寄存器
  2. 堆栈
  3. 常量存储
  4. 非RAM存储
  5. Java中的数组是不能在它的范围之外被访问。这种范围检查,是以每个数组上少量的内容开销及运行时的下标检查为代价的。

作用域

  1. 以下代码在C和C++中是合法的,但是Java中却不能这么写
        {
            int x =10;
            {
                int x =20;
            }
        }

Java 编译器会告诉你,变量x已经定义过了。

2.4.1 字段和方法

  1. Java中做的全部的工作就是定义类,产生那些类的对象,以及发送消息给这些对象。
  2. Java中的基本数据类型,作为类的成员变量时,即使没有初始化,Java会给它默认的初始值。但是在方法中声明一个新的基本数据类型的变量时,是必须初始化变量的,如果不初始化,会报错。
    boolean false
    char '/uoooo'
    byte (byte)0
    short (short)0
    int 0
    long 0L
    float 0.0f
    double 0.0d
  3. Java的方法决定了一个对象能接收什么样的消息。

5.4 this关键字

  1. 在构造方法中调用构造方法时,可以使用this调用一个构造方法,只能调用一个构造方法,并且构造方法的调用必须置于方法最起始位置。
原文地址:https://www.cnblogs.com/Godfunc/p/9199801.html