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

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

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

今日小日记:


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


1、对Map的用法

image.png


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


2、Finally语句块

image.png


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


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


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


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


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


image.png

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


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


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


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


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

image.png


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


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


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


(3)getRequestDispatcher是请求转发


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


image.png

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


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



相关文章
|
6月前
|
存储 安全 Java
冒死潜入某个外包公司获得的珍贵Java基础笔试题(附答案)
冒死潜入某个外包公司获得的珍贵Java基础笔试题(附答案)
164 0
|
3月前
|
存储 Java 编译器
刷完一千道java笔试题的常见题目分析
这篇文章是关于刷完一千道Java笔试题后的常见题目分析,涵盖了Java基础知识点,如标识符命名规则、抽象类与接口的区别、String类的equals方法、try-catch-finally块的执行逻辑、类与实例方法的区别、this与super关键字的用法、面向对象的基本概念、重写与重载的原则等,并建议结合JVM内存结构图加深理解。
刷完一千道java笔试题的常见题目分析
|
6月前
|
SQL Java 数据库连接
Java笔试题
Java笔试题
|
SQL 存储 数据管理
Java经典笔试题—day13
Java经典笔试题—day13
112 0
|
6月前
|
前端开发 Java Spring
Java中的一些错题总结
【2月更文挑战第2天】
|
机器学习/深度学习 SQL 关系型数据库
Java经典笔试题—day14
Java经典笔试题—day14
Java经典笔试题—day12
Java经典笔试题—day12
|
算法 Java 数据库
Java经典笔试题—day11
Java经典笔试题—day11
|
存储 安全 Java
Java经典笔试题—day10
Java经典笔试题—day10
182 0
Java经典笔试题—day09
Java经典笔试题—day09