1.说出ArrayList,Vector, LinkedList的存储性能和特性?
答案:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

2.errorpage的作用
errorPage作用:当JSP页面可能出现异常时,可以告知容器将出现的异常抛到errorPage指定的页面进行处理。
errorPage应用
在某一个可能出现异常的页面,通过page指令设置errorPage属性。如下:
1
<%@ page errorPage=“a.jsp”%>
然后在a.jsp文件中,添加isErrorPage属性,并且设置属性值为true,进行异常的处理:
1
<%@ page isErrorPage=“true”%>
最后在a.jsp文件中就可以使用隐含对象exception进行异常的处理啦。

3.Java中sleep()与wait()区别
1、每个对象都有一个锁来控制同步访问,Synchronized关键字可以和对象的锁交互,来实现同步方法或同步块。sleep()方法正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sleep指定时间后CPU再回到该线程继续往下执行(注意:sleep方法只让出了CPU,而并不会释放同步资源锁!!!);wait()方法则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与竞争同步资源锁,进而得到执行。(注意:notify的作用相当于叫醒睡着的人,而并不会给他分配任务,就是说notify只是让之前调用wait的线程有权利重新参与线程的调度);

2、sleep()方法可以在任何地方使用;wait()方法则只能在同步方法或同步块中使用;

3、sleep()是线程线程类(Thread)的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;wait()是Object的方法,调用会放弃对象锁,进入等待队列,待调用notify()/notifyAll()唤醒指定的线程或者所有线程,才会进入锁池,再次获得对象锁才会进入运行状态;
原文:https://blog.csdn.net/u012050154/article/details/50903326

4.哈希表
设哈希表长为11,哈希函数为Hash (key)=key%11。存在关键码{7,29,22,16,92,44,8,19},采用线性探测法处理冲突,建立的hash表为
采用开放定址法处理冲突中的二次探测再散列(也即是题目中的二元探测法),哈希函数变为

对于43,代入公式为Hash(43) = 43 % 11 = 10, 则地址为10;

对于7,代入公式为Hash(7) = 7 % 11 = 7,则地址为7;

对于29,代入公式为Hash(29) = 29 % 11 = 7, 与7冲突,则采用二次探测进行消除冲突, 继续(7 + 1) % 11 = 8,没有冲突,则地址为8;

对于22,代入公式Hash(22) = 22 % 11 = 0, 则地址为0;

对于16,代入公式Hash(16) = 16 % 11 = 5, 则地址为5;

对于92,代入公式Hash(92) = 92 % 11 = 4,则地址为4;

对于44,代入公式Hash(44) = 44 % 11 = 0, 与22的地址冲突,则继续(0 + 1) % 11 = 1,没有冲突,则地址为1;

对于8, 代入公式Hash(8) = 8 % 11 = 8, 与29有冲突,则继续(8 + 1) % 11 = 9, 没有冲突,则地址为9;

对于19,代入公式Hash(19) = 19 % 11 = 8. 与 29有冲突,则继续(8 + 1) * 11 = 9, 与8有冲突,继续(8 - 1) % 11 = 7, 与7有冲突,则继续(8 + 4) % 11 = 1, 与44有冲突,则继续(8 - 4) % 11 = 4, 与92有冲突,则继续(8 + 9) % 11 = 6, 没有冲突,则地址为6。

答案为:

0 1 2 3 4 5 6 7 8 9 10
22 44 92 16 19 7 29 8 43

原文:https://blog.csdn.net/sinat_34530053/article/details/93475097

5.二叉树
二叉树:A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))
为:

详细二叉树,树,森林的转换见https://blog.csdn.net/qq_42147998/article/details/97393197

6.native关键字
native是调用操作系统的底层函数,而这些函数是由C和C++实现的。
native详解:https://www.cnblogs.com/KingIceMou/p/7239668.html
7.java常用的字节流和处理流
按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分为节点流和处理流两类。

节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader.
处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如 BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

JAVA常用的节点流

1.文 件 FileInputStream FileOutputStrean FileReader FileWriter 文件进行处理的节点流。
2.字符串 StringReader StringWriter 对字符串进行处理的节点流。
3.数 组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter 对数组进行处理的节点流(对应的不再是文件,而是内存中的一个数组)。
4.管 道 PipedInputStream PipedOutputStream PipedReader PipedWriter对管道进行处理的节点流。

常用处理流(关闭处理流使用关闭里面的节点流)

1.缓冲流:BufferedInputStrean BufferedOutputStream BufferedReader BufferedWriter 增加缓冲功能,避免频繁读写硬盘。
2.转换流:InputStreamReader OutputStreamReader 实现字节流和字符流之间的转换。
3.数据流 DataInputStream DataOutputStream 等-提供将基础数据类型写入到文件中,或者读取出来.
流的关闭顺序
一般情况下是:先打开的后关闭,后打开的先关闭
另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,再关闭流b。例如,处理流a依赖节点流b,应该先关闭处理流a,再关闭节点流b
可以只关闭处理流,不用关闭节点流。处理流关闭的时候,会调用其处理的节点流的关闭方法。

一些java面试高频题相关推荐

  1. Java 面试高频题:Spring Boot+Sentinel+Nacos高并发已撸完

    2021都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记,今天在这免费分享给 ...

  2. Java面试高频题:Spring Boot+JVM+Nacos高并发+高可用已撸完​

    2021都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记,今天在这免费分享给 ...

  3. Java面试高频题:Spring Boot+Sentinel+Nacos高并发已撸完

    2021都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记,今天在这免费分享给 ...

  4. 面试题:460道Java后端面试高频题答案版「模块九:Spring」

    Spring 写在前面 相信对于 Spring 这个模块,只要是做过 Java 开发的同学都是不陌生的,或多或少都使用过 Spring 体系的框架.对于平时自己做点小项目会写配置文件可能就行了,但是对 ...

  5. 精选2022年大厂高频Java面试真题集锦(含答案),面试一路开挂

    本文涵盖了阿里巴巴.腾讯.字节跳动.京东.华为等大厂的Java面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研 ...

  6. 精选 2021 年大厂高频 Java 面试真题集锦(含答案),面试一路开挂

    本文涵盖了阿里巴巴.腾讯.字节跳动.京东.华为等大厂的 Java 面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样 ...

  7. 面试高频题:Spring和SpringMvc父子容器你能说清楚吗

    引言 以前写了几篇关于SpringBoot的文章<面试高频题:springBoot自动装配的原理你能说出来吗>.<保姆级教程,手把手教你实现一个SpringBoot的starter& ...

  8. 牛客网面试高频题top100(11~20)

    ** 牛客网面试高频题top100(11~20 java实现) ** 11.跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结 ...

  9. 牛客网面试高频题top100(1~10)

    *牛客网面试高频题top100(1~10 java实现) 1.反转链表 描述: 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表 ...

最新文章

  1. php 清空cache,到底如何清除 cache? 我真的快瘋了
  2. java判断当前时间距离第二天凌晨的秒数
  3. java命令模式返回值_JAVA 设计模式 命令模式
  4. spring4声明式事务mdash;02 xml配置方式
  5. DBeaver初次使用教程(强大的数据库连接工具)
  6. 大一计算机期末考试操作题word,Word大一计算机考试操作题
  7. 从零开始搭建服务器,拥有一个属于自己的网站
  8. 大数据开发都需要什么技术?
  9. [UOJ30]/[CF487E]Tourists
  10. Linux简介云服务器环境搭建
  11. 插值、拟合和逼近的对比
  12. 二、python时间序列数据的相减
  13. java当中怎么测试异步接口【杭州多测师_王sir】【杭州多测师】
  14. 地理信息系统的发展趋势——网格GIS
  15. 【Unity3D】学习笔记(第2记) 2D游戏开发基本技巧之背景制作
  16. 【基础语法篇】Java必备基础(思维导图+代码)
  17. 解决springmvc访问html乱码
  18. 国外牛人总结的机器学习领域的框架、库以及软件
  19. 德邦快递接口开发-java(【新】下单服务接口)
  20. SVN访问You don't have permission to access this resource 403错误

热门文章

  1. 为什么越来越多的企业使用互联网电话(VoIP)?—Vecloud微云
  2. 如何理解路由中的IP选路,修改,ICMP重定向差错?—Vecloud微云
  3. 关于权限五张表的独到见解
  4. 关于 PHP 与 MYSQL的链接
  5. but no declaration can be found for element #39;aop:aspectj-autoproxy#39;.
  6. 挑战程序猿---三角形
  7. 彻底理解H5的DOM事件
  8. 典型用户描述及进一步需求分析
  9. 备份全网服务器数据生产架构方案案例模型
  10. 微软职位内部推荐-Senior SDE for Cloud Platform