Java语言的特点:
-
特点一:面向对象
- 两个基本概念:类、对象
- 三大特性:封装、继承、多态
-
特点二:健壮性
- 吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
-
特点三:跨平台性
-
跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
-
原理:只要在需要运行 java应用程序的操作系统上,先安装一个Java虚拟机(JVM JavaVirtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
-
Java两种核心机制:
- Java虚拟机(Java Virtal Machine)
- JVM是一个虚拟的计算机。具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄器。
- 对于不同的平台,有不同的虚拟机。
- 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
- 垃圾收集机制(Garbage Collection)
- 不再使用的内存空间应回收——垃圾回收。
- 在C/C++等语言中,由程序员负责回收无用内存。
- Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
- 不再使用的内存空间应回收——垃圾回收。
注:Java程序还会出现内存泄漏和内存溢出的问题!