Java基本概念及环境配置
- 什么是面向对象程序设计?
- 面向对象程序的基本特征?
- java语言是如何产生和发展的?
- Android和Java语言的关系?
- Java平台与Java语言的关系?
- JavaSE、JavaEE和JavaME有什么区别?
- Java语言的运行机制如何?
- 什么是JVM?有什么作用?工作机制如何?
- 什么是JRE(或J2RE)?
- 什么是JDK?
- JDK、JRE和JVM之间有什么关系?
- 什么是GC?GC的工作原理如何?
- 如何安装Java基本开发环境JDK?
- 为何在JDK路径下存在两个JRE?
- JDK安装时设置的PATH和CLASSPATH环境变量有何作用?
- 如何编译、运行Java文件?
- 如何将程序中的文档注释提取出来生成说明文档?
- 怎样制作鼠标双击就可以运行的jar?
- 怎样给main(String[] args)方法的args指定参数值?
什么是面向对象程序设计?
面向对象程序设计AOP是将对象作为程序的基本单元,并将程序和数据封装在其中,提高软件的重用性、灵活性、扩展性。
面向对象程序的基本特征?
封装、继承、多态
java语言是如何产生和发展的?
java是由sun公司于1995年5月推出的java程序设计语言和java平台的总称。
Android和Java语言的关系?
Android平台与Java平台即存在相似又存在不同,Android平台使用的名为Dalvik的虚拟机,Java平台使用的JVM虚拟机,因此Java环境下生成的Java字节码在Android平台上是不能执行的。
Java平台与Java语言的关系?
- Java编程语言与Java平台是两个完全不同的概念。
- Java平台有三部分组成,分别为核心的Java API(包、框架及类库)、Java字节码(编译且可执行的形式)以及Java虚拟机(JVM,执行字节码的运行机制)。
- Java语言只不过是Java平台中的一小部分。
JavaSE、JavaEE和JavaME有什么区别?
- JavaSE标准版,为创建和运行java程序提供了最基本的环境,是Java技术的核心和基础。
- JavaME微缩版,为基于服务器的分布式企业应用提供开发和运行环境,降低了企业级开发的复杂度。
- JavaEE企业版,为嵌入式应用提供了开发和运行环境。
Java语言的运行机制如何?
- 计算机高级编程语言按照程序的执行方式分为编译型语言和解释性语言。
- Java既不是编译型语言也不是解释型语言,他是编译型和解释型语言的结合体,首先通过java虚拟机将java源程序编译成与平台无关的字节码文件class文件,然后有JVM对字节码文件解释执行。
- 具体执行过程:词汇分析 - 语法分析 - 意义分析 - 产生中间码 - 产生机器码
什么是JVM?有什么作用?工作机制如何?
- JVM定义:
JVM是Java虚拟机,可在实际的计算机上模拟各种计算机功能。JVM有自己完善的硬件架构,如处理器、堆栈和寄存器等。 - JVM作用:
JVM是Java字节码执行的引擎,还能优化java字节码。JVM中类的装载是有类加载器ClassLoader和他的子类来实现的。ClassLoader是Java运行时一个重要的系统组件,负责运行时查找和装入类文件的类。
使用JVM就是为了支持与操作系统无关,实现跨平台运行。 - JVM工作原理:
JVM在整个JDK中处于最底层,负责与操作系统交互,用来屏蔽操作系统环境,提供一个完整的Java运行环境。操作系统装入JVM是通过JDK中的java.exe来实现的,具体步骤有: -
创建JVM装载环境和配置 装载jvm.dll 初始化jvm.dll 调用JNIEnv实例装载并处理class类 运行java程序
什么是JRE(或J2RE)?
- JRE是Java Runtime Environment的简称,即Java运行时环境。主要有JVM、Java平台核心类和若干支持文件组成。
- JRE自带的基础类库主要在JRE\lib\rt,jar文件中。
什么是JDK?
JDK是Java Development Kit的简称,即Java开发工具包。
JDK、JRE和JVM之间有什么关系?
JDK、JRE、JVM是一种包含关系,从大到小JDK、JRE、JVM
什么是GC?GC的工作原理如何?
- Java语言提供GC功能可以自动监测对象是否超过作用域,从而达到自动回收内存的目的。
- 基本工作原理:
Java的内存管理实际上就是对象的管理,包括对象的分配与释放。分配对象使用new关键字,释放对象只要将对象赋值为null,让程序不再能够访问到这个对象,该对象成为“不可达”,GC将负责回收所有“不可达”对象的内存空间。对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常GC使用有向图的方式记录并管理堆中的所有对象。
如何安装Java基本开发环境JDK?
下载安装JDK、设置环境变量(JAVA_HOME、CLASSPATH、PATH)、
为何在JDK路径下存在两个JRE?
按照默认设置安装后,一个目录是C:\Program Files\Java\jdk1.7.0_17\jre,另一个目录是C:\Program Files\Java\jre7,
- 第一个JRE用于为JDK自带的开发工具提供运行环境,
- 第二个JRE用于为开发者编写的代码提供运行环境。
JDK安装时设置的PATH和CLASSPATH环境变量有何作用?
- PATH是为了让操作系统找到指定的工具程序目录。
- CLASSPATH是让Java执行环境找到指定的Java程序对应的class文件以及程序中引用的其他class文件。
如何编译、运行Java文件?
编译: javac -d Hello.java
运行: java Hello或java 包路径.Hello
如何将程序中的文档注释提取出来生成说明文档?
JavaDoc不但能对一个Java原文件生成开发文档,而且能对目录和包生成交叉连接的HTML格式的类说明文档。
- @author 标识作者信息
- @version 标识版本信息
- @parameter 标识参数名及其意义
- @since 标识参数名及其意义
- @return 标识返回值
- @throws 标识异常类及抛出条件
- @deprecated 标识引起不推荐使用的警告
- @see 标识交叉参考
怎样制作鼠标双击就可以运行的jar?
- 打包class文件: jar -cvf hello.jar demo/com/cn/.
- 记事本编辑myfest文件,没有后缀: Main-Class: demo.com.cn.U
- 执行 jar -cfvm hello.jar myfest*.*
怎样给main(String[] args)方法的args指定参数值?
使用 javac Test.java 之后用 java Test tom rose 给args数组指定参数值tom和rose