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到%多少了?
(——·本章完·——)
————【题外话】————
评论、收藏、关注,一键三连,可好?
推荐票、月票、打赏,好伐?!