代码改变世界

Java 笔记

2023-02-09 09:03  默默不语  阅读(7)  评论(0编辑  收藏  举报

1. 计算机高级语言分类(按程序执行方式)

    优点  
编译型语言

使用专门的编译器一次性编译所有代码,并包装成该平台能识别的可执行性程序的格式

运行效率高,可移植性差 C,C++,Objective-C
解释性语言 使用解释器逐行解释源程序并立即执行(把编译型语言中的编译和解释过程混合在一起) 运行效率低,可移植性高 JavaScript, Python

2. 继承

  1. 类不能多继承: class extends C1
  2. 接口可以多继承: interface extends I1,I2 

3. 堆/栈

存储区域 存储内容 优点 缺点 回收
基本类型变量和对象的引用变量

存取速度比堆快,仅次于寄存器,

栈数据可以共享

存在栈中的数据大小和生存周期只能是确定的,缺乏灵活性。栈中主要存放基本类型的变量 当超过变量的作用域后,Java会自动释放掉该变量,内存空间可以立即被另作他用。
由 new等指令创建的变量和数组 可以动态的分配内存大小,生存周期也不必事先告诉编译器。 由于要在运行时动态分配内存,所以存取速度较慢。 由Java的自动垃圾回收器回收不再使用的变量

 

 4. Java 引用变量

  Java 中没有指针

  保存对象的引用(在堆内存中的地址)

  创建对象:  new XXX()