2021最新大厂面试题集锦

对java面试而言,面试前的准备一定要有面试题收集和学习这一项,因为在招聘公司看来,对java工程师职位的最大关注就是专业知识和技能水平的考察,所以程序员去公司面试,无论怎样都要先做一套面试题。对于不同级别的程序员岗位的应聘,相应的面试题难度肯定是不一样的,今天这篇文章总结了一些中级java工程师的面试题,有想应聘中级java工程师岗位的朋友可以看看下面这些面试题目,希望对你有所帮助。

Java

编译程序常量是多少?这有什么危险呢?
回答:publicstaticfinal是一个公共静态不可变的变量,也就是我们所谓的编译期常量,public在这里是可选的。事实上,在编译时这些变量将被替换,因为编译器知道这些变量的值,而且它们在运行时不能被更改。这样做的一个问题是,您在内部或第三方库中使用了公共编译时间,但此值后来被其他人更改,但您的客户端仍在使用旧的值,甚至您已经部署了新的jar。要避免这一点,请确保在更新依赖JAR文件时重新编译程序。

垃圾收集的算法是什么?
回答:从理论上讲,垃圾回收很容易理解,具体的方法有以下四种:(1)标记-清除;(2)标记-复制;(3)标记-整理;(4)分代回收。

生成死锁的条件是什么?
回答:(1)互斥条件:每次一个进程只能使用一个资源;(2)请求和保持条件:当一个进程由于请求而阻塞时,不允许使用已经获得的资源;(3)不剥夺条件:进程已经获取的资源,在结束时才能强制剥夺;(4)循环等待条件:若干进程之间形成了头尾相连的循环等待资源关系。

为何Thread类中没有wait、nofity和nofityAll这些方法。

答案:显然的原因是,java提供的锁是对象级的,而非线程级的,而且每个对象都有锁,是通过线程获取的。若线程需要等待某个锁,则调用对象中的wait()方法是合理的。当wait()方法被定义在Thread类中时,线程等待的锁将变得不明显。简而言之,因为wait、notify和notifyAll都是锁级操作,所以将它们定义为Object类,因为锁属于对象。

免费领取Java100道精品面试题

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值