返回第一章:Java基础知识(面试笔试工作必备)(2 / 2)蓝星文娱:从微末崛起的娱乐大亨首页

JRE是个运行环境,JDK是个开发环境。

因此,写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。

而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。

但,由于JDK包含了许多与运行无关的内容,占用的空间较大。

因此,运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

【编程工具】

1、Eclipse:

它是免费的,所以颇受开发公司青睐。

一个开放源代码的、基于Java的可扩展开发平台。

2、Beans:

开放源码的Java集成开发环境,适用于各种客户机和Web应用。

3、IntelliJ IDEA:

在代码自动提示、代码分析等方面的具有很好的功能。

4、MyEclipse:

它是收费的,其功能很强大且实用。

它是由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。

5、EditPlus:

如果正确配置Java的编译器“Javac”(javac.exe)以及解释器“Java”(java.exe)后,便可直接使用EditPlus,进行编译执行Java程序了。

【常见面试题】

一、ArrayList和Vector的区别?

答…

两者主要有以下两点区别:

1、同步性不同

Vector是线程安全的,也就是说是同步的。

而ArrayList,不是同步的,它是线程序不安全的,是异步的。

2、数据增长不同

当需要增长时…

Vector默认增长为原来的一培。

而ArrayList,却是原来的一半。

二、ArrayList,Vector, LinkedList的存储性能和特性?

ArrayList和Vector都是使用数组方式存储数据。

此数组元素数大于实际存储的数据,以便增加和插入元素。

它们都允许直接按序号索引元素。

但是插入元素要涉及数组元素移动等内存操作,所以,索引数据快而插入数据慢。

而Vector…

由于使用了synized方法(线程安全)。

通常,性能上较ArrayList差。

而LinkedList…

使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历。

但其插入数据时,只需要记录本项的前后项即可,所以插入速度较快。

以上,就是三者的存储性能和特性了。

三、HashMap和Hashtable的区别?

答…

主要有以下三个方面的区别:

1、历史原因

Hashtable是基于陈旧的Diary类的。

而HashMap则是Java 1.2引进的Map接口的实现。

2、同步性

Hashtable是线程安全的,也就是说是同步的。

而HashMap则是线程序不安全的,它是异步的。

3、值

Hashtable是HashMap的同步版本。

只有HashMap,允许在一个集合中有一个null键,以及多个null值。

HashMap允许有null值和一个null键,但是,Hashtable不允许有任何内容为null。

Hashtable类的对象必须覆盖Object类的hashCode()和equals()方法。

四、java.lang包中,还有哪些集合类型?

1、

ArrayList提供快速遍历和快速访问。

现在设计了新的 RandomAccess接口,它指出这种列表支持快速随机访问。

Vector也实现了RandomAccess接口。

2、

遍历HashSet与HashMap时,其顺序是未知的(但添加删除快)。

LinkedHashSet和LinkedHashSet是按照元素的插入的顺序遍历的(遍历快)。

3、

TreeSet和TreeMap将保证元素按照元素的自然顺序进行排列。

也可以使用一个用户自己实现的比较规则。

4、

HashSet有一个散列表支持它。

它为基本操作提供固定时间性能。

TreeSet它确保了排序集将按元素升序,根据自然顺序排序。

So,你get到%多少了?

(——·本章完·——)

————【题外话】————

评论、收藏、关注,一键三连,可好?

推荐票、月票、打赏,好伐?!