手撕java笔试题之易错题整理(一)

手撕java基础笔试题之易错题总结(一)

今日小日记:

今天刷了30个java笔试题,直接错了5个,心都在滴血,为了记住错题及相关知识点,将五个错题和相关知识点记录下来!然后知识点是根据自己的想法写的可能解释不一定对,如果解释有误,请联系作者

1、对Map的用法

解析:map和sortedMap属于接口,不可以一new的方式创建,HashMap基于Hash表实现Map接口的类,并允许null的值和null的键,TreeMap通过红黑树实现Map接口,Key不可以为null,会报NullPointerException异常,Value值可以为空

2、Finally语句块

(1)不管有没有异常,finally块中代码都要执行,

(2)当try和catch中有return时,finally任会执行

(3)finally是在return后面的表达式运算后执行的(此时并没有返回运算返回后的值,而是先把返回的值保存起来。不管finally的值怎么执行,返回值都不会改变)所以函数返回值任然是finally执行之前的值

(4)finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的值

3、对象创建函数那些会调用构造函数?

创建对象的四种方式:new ,序列化,反射,克隆

只有new和反射用到了构造方法,但是他们两个执行构造函数的类型不一样,

(1)new方法创建对象,其初始化过程可以执行无参的构造器也可以执行有参构造器

(2)反射,如果采用静态的newInstance()方法,执行的构造器一定是无参的构造器,反射执行不了带参数的构造器

4、如何获取ServlletContext设置的参数值?

在这里插入图片描述

(1)getParameter()是获取POST/GET传递的参数值(Servlet:request.getParameter

(2)getInitParameter获取Tomcat的Service.xml中设置Context的初始化参数

(3)getAttribute:获取的是容器中的数据值

(3)getRequestDispatcher是请求转发

5、java语言的下面几种数据复制方法中,那个效率最高

复制效率:System.arraycopy>clone>arrays.copyOf>for循环

其中:System给出的源代码arrayCopy方法肯定是最快的,而Arrays.copyOF(注意是Arrays,不是array)实现,在源码中是调用了System.arrayCopy的,多了一个步骤,肯定不是最快的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小王java

学习java的路上,加油!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值