认识达内从这里开始

认真做教育 专心促就业

Java研发工程师真实面试题

上海达内教育小编为大家整理了一些Java研发工程师的基础面试题,希望可以对大家找工作有一些帮助~

1.字符串、StringBuffer和StringBuilder之间有什么区别?为什么字符串是不可变的?

String是字符串常量,StringBuffer和StringBuilder是字符串变量。StringBuffer是线程安全的,StringBuilder是非线程安全的。具体来说,字符串是一个不可变的对象。每次修改字符串对象时,实际上都会创建一个新对象,并将引用指向该新对象。效率很低。字符串缓冲区

是可变的,也就是说,每次修改都只针对它自己。在大多数情况下,它比字符串更有效。StringBuffer确保了同步,因此是线程安全的。StringBuilder不实现同步,因此它不是线程安全的。但它应该比StringBuffer更高效。使用StringBuffer时,最好指定容量,比不指定容量时快30%-40%,甚至比不指定容量时的StringBuilder快。

2.vector、ArrayList和LinkedList之间的区别是什么?

Vector是同步的,ArrayList和LinkedList不是同步的。在底层,vector和ArrayList都是基于Object[]array实现的,但考虑到vector线程的安全性,ArrayList的效率比vector更快。就元素的随机访问而言,vector和ArrayList基本相同,时间复杂度为O(1),LinkedList的随机访问元素复杂度为O(n)。然而,LinkedList在插入和删除数据方面比ArrayList快得多。LinkedList比ArrayList占用更多内存,因为LinkedList还存储对每个节点上第一个和第二个节点的引用。

3.哈希表、哈希映射、树映射差异

HashMap和hashtable都实现了map接口,但hashtable是线程安全的,HashMap是非线程安全的。HashMap中允许空键值,但hashtable中不允许空键值。HashMap适用于单线程,hashtable适用于多线程。哈希表中哈希数的默认大小为11,递增方法为old*2+1。HashMap中哈希的默认大小是16,两者都是2的指数。Treemap可以根据键值和指定的排序方法排列维护的数据。默认值为升序。

4.concurrenthashmap和hashtable之间的区别

两者都用于多线程,但当哈希表增加到一定程度时,其性能将急剧下降。因为迭代会被锁定很长时间。然而,并发HashMap通过引入分段来确保锁的数量不会很大。简而言之,hashtable将锁定真正的映射,而并发HashMap只需要锁定映射的一部分。

5.tomcat、Apache和JBoss之间的区别

Tomcat是用于解析JSP和servlet的servlet容器。它是一个重量轻、效率高的容器;缺点是EJB不受支持,只能在Java应用程序中使用。

Apache是一个HTTP服务器(web服务器),类似于IIS。它可以用来构建虚拟站点,编译和处理静态页面。支持SSL技术和多个虚拟主机。

JBoss是一个应用服务器。它是一个运行EJB的JavaEE应用服务器。它遵循JavaEE规范,可以提供更多的平台支持和更多的集成功能,如数据库连接、JCA等。它对servlet的支持是通过集成其他servlet容器来实现的。比如Tomcat。

如果大家想进一步学习Java开发,可以点击下方图片咨询客服申请上海达内Java培训试听课程~

Java研发工程师真实面试题

<  上一篇:自动化测试常见面试题
下一篇:6个经典Linux面试题!(有答案)  >
相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 厦门
  • 哈尔滨
  • 济南
  • 福州
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 大连
  • 长沙
  • 昆明
  • 温州
  • 太原
  • 南昌
  • 无锡
  • 石家庄
  • 南宁
  • 中山
  • 兰州
  • 佛山
  • 珠海
  • 宁波
  • 贵阳
  • 保定
  • 呼和浩特
  • 东莞
  • 洛阳
  • 潍坊
  • 烟台
  • 运城
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
预约申请试听课