FAQ1:什么是面向对象程序设计?
程序设计本质是将人们现实生活中的问题通过抽象处理,利用编程语言转成机器能够理解的层面上去。程序设计从开始到现在大概经历了过程式程序设计、机构化程序设计和面向对象程序设计,Java属于面向对象的程序设计。
FAQ2: 面向对象程序设计基本特征有哪些?
基本特征是封装、继承、多态
封装:是指将对象相关的行为和状态捆绑为一个单元,即对客观事物对象封装成抽象类
继承:是指一个类继承父类后,获得父类的属性和方法
多态:多态在java中指对象变量是多态的,一个类型为A的变量可以指向类型为A的对象,也可以指向A的任何子类对象
FAQ3: Java语言是如何产生和发展的?
Java是sun公司1995年推出的java程序语言和Java平台的总称。1991由某个研究小组为解决当时电子产品芯片系统跨平台问题而设计开发出一门语言—Oak(Java语言前身),1995年Sun公司发现Oak语言的跨平台、面向对象和安全性高等特点进行了改进,取名Java.
Java平台由Java虚拟机(JVM)和 Java应用编程接口构成。
FAQ4: Java 和 Android 有什么关系?
- Android意指“机器人”,由Google公司于2007年宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
- Java平台和Java语言的关系。前者泛指一些列编程语法,后者包含了前者,一般而言由三部分组成,分别为核心的Java API(包、框架、类库)、Java字节码以及JVM组成。
- Android是一款手机平台,其功能等价于Java平台,但是可执行形式与字节码形式不同,Android使用的虚拟机也不同, 编译执行后为Dalvik字节码,不能在JVM上运行
FAQ5: Java 语言的运行机制如何?
计算机高级语言编程按其执行方式可分为编译型语言和解释型语言。
编译型语言:是指使用专门的编译器,一次性翻译成机器识别的机器指令,如C、C++
解释型语言:是指使用专门的解释器,将源码程序逐条解释成特定平台的机器指令,解释一句执行依据,如PHP、JSP等
Java是编译型语言和解释型语言的综合体。
FAQ6: 什么是JVM? 由什么作用?工作机制如何?
JVM:Java Virtual Machine 即 Java虚拟机。模拟计算机功能,有自己的硬件架构和指令系统等
JVM是Java字节码执行的引擎,程序代码最终要在JVM上执行,JVM中类的装载是由类的装载器(ClassLoader)和他的子类实现,ClassLoader是Java运行时一个重要的系统组件,负责在运行时cha’zhao和装入类文件的类。
不同操作平台需要不同的JVM才能实现跨平台运行
JVM在整个JDK中处于最底层,负责与操作系统的交互、屏蔽操作系统环境,提供一个完整的Java运行环境
FAQ7: 什么是JRE?
JRE:Java Run Time 即 Java运行环境,是由JVM、Java平台核心类和若干支持文件组成。不包括编译器、调试器以及其他工具。J2RE是Java2 Runtime Enviroment简称,有时简称JRE
FAQ8: 什么是JDK?
JDK:Java Development Kit 即 Java开发工具包
FAQ9: JDK、JRE和JVM由什么区别
FAQ10: 什么是GC,工作原理如何
GC:Garbage Colletion, 即 垃圾回收,内存不回收会导致程序或系统不稳定甚至崩溃,Java的GC功能能够自动检测对象是否超过作用域,从而达到自动回收的目的。
GC的基本原理:Java内存管理实际上就是对象的管理,其中包括对象的分配和释放。对于程序原来说,分配对象使用 new 关键字,释放时只要将对象设置为null, 让程序不能访问到这个对象,该对象称为“不可达”,GC回收所有不可达对象的内存空间。
