没有合适的资源?快使用搜索试试~ 我知道了~
首页Java初中级程序员面试宝典
Java初中级程序员面试宝典
1星 需积分: 9 18 下载量 25 浏览量
更新于2023-05-27
评论 1
收藏 537KB DOCX 举报
这是面向java初中级程序员的面试宝典,内容很全面,讲的也很细,基本上涵盖了很多问题,希望大家能在其中有所收获!
资源详情
资源评论
资源推荐
相信自己 这不是演习!!! 开启第五次工业革命就靠你了!!!
Java 初中级程序员面试题宝典
Java 基础部分
&与&&区别?
和都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是当第一个条件不成之后,后面的条件都不执行了,
而则还是继续执行,直到整个条件语句执行完为止。
使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容 还是可以改变的。
静态变量和实例变量的区别?
在语法定义上的区别:
静态变量前要加 关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变 量才会被分配空间,才能使用这个
实例变量。
静态变量不属于某个实例对象,而是属于类, 所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态
变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象 来使用,静态变量则可以直接使用类名来引用。
静态变量使用时通过类名名称实例变量必须要初始化后才能使用。实例变量是实例化后才会分配空间而静态变量当类加载
时会分配空间。
是否可以从一个 static 方法内部发出对非 static 方法的调用?
不可以。因为非 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对 象上进行方法调用,而
方法调用时不需要创建对象,可以直接调用。也就是说,当一 个 方法被调用时,可能还没有创建任何实例对象,如果
从一个 方法中发出对非 方法的调用,那个非 方法是关联到哪个对象上的呢?这个逻辑无法成立,所
以, 一个 方法内部发出对非 方法的调用。
非 static 方法可以访问 static 方法.
static 方法不能访问非 static 方法
"=="和 equals 方法究竟有什么区别?
如果判断值类型的话,判断内容是否相同。如果判断引用类型则是判断内存地址是否相同
判断值内容是否相等
Integer与 int的区别
是引用类型默认值是 。而 是是值类型默认值是
请说出作用域 public, private, protected,以及不写时的区别
这四个作用域的可见范围如下表所示。
说明:如果在修饰的元素上面没有写任何访问修饰符,则表示 。
作用域 当前类 同一包( package) 子孙类 其他包( package)
public
protected
friendly
private
重载与重写区别?
重载是同一个类中,方法名称相同, 但是参数或个数不同。与返回值没有关系。
重写是在多个类中, 产生继承关系。父类与子类的方法方法必须相同。
接口与抽象类的区别?
区别定义接口的关键字是:而定义抽象类的关键字是:。
接口中成员不能有私有, 抽象类可以。
接口中定义的成员, 是 类型, 抽象类没有。
接口中的不能有普通方法, 抽象类中可以。
相同:
两个都不
但是 接口与抽象类是面向对象必备知识,设计模式、重构代码有必然作用
的区别。
用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成 类型,例如,一段代码……
是异常处理语句结构的一部分,表示总是执行。
是 !"类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可
以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 #$%不保证此方法总被
调用
& 、 &'(
与
&'
的区别
&字符串常量
&'(字符串变量(线程安全)
&'字符串变量(非线程安全)
所有的类都继承于 )" 类,你用过的 )" 类的直接子类有哪些,)" 类常用的方法
有哪些
1
相信自己 这不是演习!!! 开启第五次工业革命就靠你了!!!
*.) 方法
保护方法,实现对象的浅复制,只有实现了 +) 接口才可以调用该方法,否则抛出
+),)&)-) 异常。
..+ 方法
方法,获得运行时类型。
/.)& 方法
该方法用得比较多,一般子类都有覆盖。
0. 方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
1. 方法
该方法是非常重要的一个方法。一般 和是不一样的,但是在 !" 中两者是一样的。子类一般都要重写这个方
法。
2数组有没有 345这个方法6& 有没有 345这个方法?
答:数组没有 345这个方法,有 3 的属性。& 有有 345这个方法。
7.33+) 方法
该方法用于哈希查找,重写了 方法一般都要重写 33+) 方法。这个方法在一些具有哈希功能的 +)) 中
用到。
一般必须满足 )"*4)".5。可以推出 )"*338+)45)".33+)45,但是 33+)
相等不一定就满足 。不过为了提高效率,应该尽量使上面两个条件接近等价。
7. 方法
方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。45方法一直等待,
直到获得锁或者被中断。4)9)5设定一个超时间隔,如果在规定时间内没有获得锁就返回。
调用该方法后当前线程进入睡眠状态,直到以下事件发生。
(*)其他线程调用了该对象的 ) 方法。
(.)其他线程调用了该对象的 ): 方法。
(/)其他线程调用了 中断该线程。
(0)时间间隔到了。
此时该线程就可以被调度了,如果是被中断的话就抛出一个 -) 异常。
;.) 方法
该方法唤醒在该对象上等待的某个线程。
<.): 方法
该方法唤醒在该对象上等待的所有线程
反射的优缺点?
反射:就是正在运行动态读取这个类的完整信息。
优点:"= 的反射机制就是增加程序的灵活性、
缺点:缺点:(*)性能问题:使用反射基本上是一种解释操作,
用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和扩展性要求很高的系统框架上,普通程序不建
议使用。
(.)使用反射会模糊程序内内部逻辑:程序员希望在源代码中看到程序的逻辑,反射等绕过了源代码的技术,因而会带来维
护问题。反射代码比相应的直接代码更复杂。
那些地方用到了反射?
例如"、#= 常用框架、"> 的动态代理、) 的加载布局文件
"=中有几种类型的流?#?@为每种类型的流提供了一些抽象类以供继承, 为每种类型的流提供了一些抽象
类以供继承,
请说出他们分别是哪些类?
字节流,字符流。字节流继承于 InputStreamOutputStream,字符流继承于
InputStreamReaderOutputStreamWriter。在 java.io包中还有许多其他的流,主要是为了提
高性能和使用方便。
多线程部分
什么是多线程?
在一个应用程序中同时,有多个不同的执行路径。
说一下多线程的好处?
提供程序效率。
线程和进程有什么区别?
线程是进程的一条执行路径,而进程是线程的集合。
什么是线程同步、异步?
线程同步表示,当前线程执行完后下一个线程接着执行。
线程异步表示在一个应用程序中同时,有多个不同的执行路径。例如 "="-)3
线程之间如何同步
线程之间同步使用 3) 、与 )
2
相信自己 这不是演习!!! 开启第五次工业革命就靠你了!!!
什么是线程不安全?如何解决?(重点)
就是在多个线程共享同一个数据会受到其他线程的干扰。如何解决使用线程同步技术, 用上锁43) 5。 让一
个线程执行完了,在让另一个线程执行。
如何创建一个线程?有几种方法?
继承 3 类, 重写 方法、实现 A 接口,重新 方法 , 启动一个线程用 45B
是使用 A 接口好?还是继承 C3 类好?
是实现 A 接口好,因为实现的接口还可以继续继承。如果继承了 C3 类不能在继承。
45和 45有什么区别6
、 是让当前线程指定休眠时间,然后继续工作 不释放锁
、让当前线程 则是等待,直到有线程通知 )()唤醒他才会重新工作。释放锁
集合相关面试题
说一下数据结构中的什么是数组?什么是链表?
所谓数组,是相同数据类型的元素按一定顺序排列的集合
数组:存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为 !4*5;数组的特点是:
寻址容易,插入和删除困难;
所谓链表,链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数
据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表
在插入的时候可以达到 !4*5的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要
!45的时间,而线性表和顺序表相应的时间复杂度分别是 !4)5和 !4*5。
链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达 !(,)。链表的特点是:寻址困难,
插入和删除容易。
说一下什么是哈希表
那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈
希表。哈希表(4D3)既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。
3
相信自己 这不是演习!!! 开启第五次工业革命就靠你了!!!
哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法—— 拉链法,我们可以理解为“链表的数组” ,如图:
说一下 :E 底层实现方式?
4
剩余18页未读,继续阅读
GYNF_
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2