Java 笔记
2023-02-09 09:03 默默不语 阅读(10) 评论(0) 编辑 收藏 举报1. 计算机高级语言分类(按程序执行方式)
优点 | |||
编译型语言 |
使用专门的编译器一次性编译所有代码,并包装成该平台能识别的可执行性程序的格式 |
运行效率高,可移植性差 | C,C++,Objective-C |
解释性语言 | 使用解释器逐行解释源程序并立即执行(把编译型语言中的编译和解释过程混合在一起) | 运行效率低,可移植性高 | JavaScript, Python |
2. 继承
- 类不能多继承: class extends C1
- 接口可以多继承: interface extends I1,I2
3. 堆/栈
存储区域 | 存储内容 | 优点 | 缺点 | 回收 |
栈 | 基本类型变量和对象的引用变量 |
存取速度比堆快,仅次于寄存器, 栈数据可以共享 |
存在栈中的数据大小和生存周期只能是确定的,缺乏灵活性。栈中主要存放基本类型的变量 | 当超过变量的作用域后,Java会自动释放掉该变量,内存空间可以立即被另作他用。 |
堆 | 由 new等指令创建的变量和数组 | 可以动态的分配内存大小,生存周期也不必事先告诉编译器。 | 由于要在运行时动态分配内存,所以存取速度较慢。 | 由Java的自动垃圾回收器回收不再使用的变量 |
4. Java 引用变量
Java 中没有指针
保存对象的引用(在堆内存中的地址)
创建对象: new XXX()