1.面向对象
- 两个基本概念:类,对象
- 三大特征:封装、继承、多态
2.健壮性
- 吸收了c/c++语言的优点,去掉了影响健壮性的部分(指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
3.跨平台性
- 通过java语言编写的应用程序可以在不同的平台上运行,“Write once,Run Anywhere”
- 原理:JVM(java虚拟机,java virtual machine)负责java程序的运行,只要安装java虚拟机就可以运行Java程序
核心机制-java虚拟机
- JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器
- 对于不同的平台有不同的虚拟机
- 只有提供平台对应的虚拟机,java程序才可以在平台上运行
- java虚拟机屏蔽了底层运行平台的差别
核心机制-垃圾回收
- 不再使用的内存空间应该回收——垃圾回收
- 在c/c++中由程序员负责回收无用内存
- java提供了一种系统线程跟踪存储空间的分配情况,并在JVM空闲的时候,检查并释放可被释放的存储空间
- 垃圾回收在java程序运行过程中自动进行,程序员无法精确控制和干预
注:java程序同样会出现内存泄漏和内存溢出