大佬对大佬,史诗级面试现场!!!
1、String 和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
2、简述synchronized和java.util.concurrent.locks.Lock的异同?
主要相同点:Lock能完成synchronized所实现的所有功能
主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。
3、List、Map、Set 三个接口,存取元素时,各有什么特点?
List 以特定次序来持有元素,可有重复元素。
Set 无法拥有重复元素,内部排序。
Map 保存key-value 值,value 可多值。
4、sleep() 和wait() 有什么区别?
sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep 不会释放对象锁。
wait 是Object 类的方法, ,进入等待此对象的等待锁定池,只有针对此对象发出notify 方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
5、请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock;
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException 异常;
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM 确定唤醒哪个线程,而且不是按优先级;
notityAll():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
6、启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。
7、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
大佬对大佬,史诗级面试现场!!!相关推荐
- 【面试现场】如何在10亿数中找出前1000大的数
小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 之前小史在BAT三家的面试中已经挂了两家,今天小史去了BAT中的最后一家面试了. 简单的 ...
- 面试现场:小伙伴美团一面的分享和分析「含解答」
作者:小傅哥 博客:https://bugstack.cn ❝ 沉淀.分享.成长,让自己和他人都能有所收获!???? ❞ 目录 一.前言 二.面试现场 三.总结 四.系列推荐 一.前言 最近给大家整理 ...
- 「BAT面试现场」如何判断一个数是否在40亿个整数中?
https://www.toutiao.com/a6699639753467232771/ 作者:channingbreeze 来自:公众号互联网侦察 小史是一个应届生,虽然学的是电子专业,但是自己业 ...
- mysql存储base64位用什么类型_【漫画】面试现场:为什么MySQL数据库要用B+树存储索引?...
推荐阅读:MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒! 小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 话说 ...
- 【BAT面试现场】如何判断一个数是否在40亿个整数中?
作者 channingbreeze 如需转载,请联系原作者授权. 小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT. 今天他就去BAT中的一家面试了. ...
- 300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!...
原标题:直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer! 今天给大家分享一位Java程序员小伙去阿里应聘的经历! 从Java开发要掌握的技术来讲,前面已经说得差不多了.我主要想 ...
- GitHub 狂飙 30K+star 面试现场, 专为程序员面试打造, 现已开源可下载
<2022 程序员面试现场>上线 2 个月已经在 GitHub 上已经狂飙到 30K+star(能在在 GitHub 上拿到 30K+的 star,有没有干货,我就不多说了)总结的很全面, ...
- 面试现场说要轮岗,实际岗位是地推
一些公司在招聘上手段五花八门,比如挂着招行政文员/前台的岗位,面试现场说要轮岗,实际岗位是地推,销售物品是笔,如果是推广app地推我都可以理解,不是很理解为什么要卖笔,3元一支的笔要卖多少才能高收入呢 ...
- GitHub狂飙30K+star面试现场,专为程序员面试打造,现已开源可下载
<程序员面试现场>上线2个月已经在GitHub上已经狂飙到30K+star(能在在GitHub上拿到30K+的star,有没有干货,我就不多说了)总结的很全面,主要是针对面试之前的准备工作 ...
最新文章
- 引人遐想,用 Python 获取你想要的 “某个人” 摄像头照片
- python语言怎么学-Py列为黑客应该学的四种编程语言之一 新手该怎么学
- Swoft 源码剖析 - Swoft 中的注解机制
- 2020蓝桥杯省赛---java---B---6(成绩分析)
- Mybatis(5)自定义Mybatis分析以及自定义实现
- Power Pivot表属性无法切换回表预览模式的问题
- html中radio单选按钮控件标签用法解析及如何设置默认选中
- VB.NET LDAP 用户身份验证
- 推送后更改git commit消息(假设没有人从远程拉出)
- maven jetty的eclipse 插件
- 凤凰 Remix android x86,主流 Android x86系统分享
- 天线分类特征学习笔记(1)偶极子天线
- xposed模拟器安装
- 阿里云服务器申请免费试用图文教程(个人和企业均可申请)
- 【机器学习】缺失值处理总结
- 双重差分法之空间DID
- 《浦岛太郎》——太宰治
- 16秋南开计算机应用答案,南开16秋学期《计算机应用基础》在线作业.doc
- eovs实训报告总结心得_实训心得体会(精选15篇)
- 数学——行向量和列向量