面试题0402-国泰君安
一、LinkedList和ArrayList的区别
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用
public class LinkedList<E> {transient int size = 0;//数量默认时0transient Node<E> first; transient Node<E> last;
}
public class ArrayList<E>{private static final int DEFAULT_CAPACITY = 10;//默认长度是10transient Object[] elementData;private int size;public ArrayList() {this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;}
}
1、结构不同
- LinkedList是链表,LinkedList的数据类型是Node,Node包含Nodenext;Nodeprev;前后节点
- ArrayList是数组,类型是Object
2、效率不同
查找效率Arraylist高于LinkedList,增加、删除LinkedList高于Arraylist
二、创建线程的四种方式及对比分析
1、继承extends Thread 重写run方法
2、实现implements Runnable 重写run方法
3、通过Future+Callable创建线程。先实现implements Callable重写call方法,然后 new FutureTask<>(Callable实现类对象);
4、使用线程池Executor
分析:Executor框架的最大优点是把任务的提交和执行解耦
四、对于线程安全的理解与自己的想法
线程安全可以理解为内存安全,特别是像堆内存是共享,可以被所有的线程访问。当多个线程访问同一个对象时,如果不进行额外的同步控制或者协调操作是会有线程安全问题的。
五、线程有几种状态
1、新建
2、可运行(RUNNABLE),调用了start()方法,该状态的线程位于可运行线程池中,等待被线程调度
3、运行
4、阻塞(BLOCKED) ->直到线程进入可运行(runnable)状态
等待阻塞:运行(running)的线程执行o.wait()方法,JVM会把该线程放入等待队列
同步阻塞:运行(running)的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池(lock pool)中
其他阻塞:运行(running)的线程执行Thread.sleep(long ms)或t.join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。
当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入可运行(runnable)状态。
死亡(DEAD):线程run()、main() 方法执行结束,或者因异常退出了run()方法
六、异常
1、class Error extends Throwable
2、class Exception extends Throwable
Exception分为运行时异常(RuntimeException)和非运行时异常
1、class RuntimeException extends Exception
比如:NullPointerException、IndexOutOfBoundsException、IllegalArgumentException(数据格式异常,比如非日期格式转日期),
2、class 非RuntimeException extends Exception
6、线程中CAS的原理
7、如何解决缓存穿透、如何预防缓存雪崩
8、MySQL有哪些索引?对于其中B+Tree的理解
面试题0402-国泰君安相关推荐
- 基于visual Studio2013解决面试题之0402合并升序链表并去重
题目 解决代码及点评 /*两个升序链表合并,并要求去掉重复元素 */ #include <iostream> using namespace std;class LinkNode ...
- c/c++笔试面试题(4)
c/c++笔试面试题(4) 2007-11-08 16:46 749人阅读 评论(0) 收藏 举报 Sony笔试题 1.完成下列程序 * *.*. *..*..*.. *...*...*.. ...
- 也许你会用到的58个硬件面试题!
面对换工作,可能大家都比较发愁面试 不是因为能力不够,更不是因为专业知识欠缺 也许就是担心当下的紧张范围 担心发挥不好,担心准备的不够充分 ---- 今天帮大家整理了58条硬件面试题 我们不打无准备的 ...
- C/C++面试题-2 之2/2
之2/2 45. 如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) struct node { char val; node* next;} bool check( ...
- c/c++笔试面试题_2
转载自瀚海星云 Sony笔试题 1.完成下列程序 * *.*. *..*..*.. *...*...*...*... *....*....*....*....*.... *.....*. ...
- 知名IT企业面试题整理(八)--合并
中软融鑫笔试题 1.关于工作 (1) 你对未来的工作生活是怎样憧憬的?为何选择我公司作为求职公司? (2 )请用不超过30 个字给出一个最能让我们录用你的理由. (3)你认为比 ...
- C/C++笔试题(12)
香港电信笔试题 1. Based on your understanding of the following java related technologies: servlets, Jav ...
- 46家公司的笔试题,拿去练练手吧
首先推荐下自己的独立小网站,一个可以在线制作.收录数万表情包的网站,欢迎大家访问:撸表情 原版是在微盘推荐里看到的,也不清楚是哪位有心人整理的,我先贴出来给大家瞧瞧,也替大家谢谢这位有心人!!欢迎一起 ...
- 46家公司面试笔试题
Sony笔试题 1.完成下列程序 * *.*. *..*..*.. *...*...*...*... *....*....*....*....*.... *.....*.....*.....*.... ...
- 近期所有的面试题大全
基于Visual C++2013拆解世界五百强面试题--题14-循环删除 http://blog.csdn.net/itcastcpp/article/details/13022461 基于Visu ...
最新文章
- C驱动程序是怎么跑起来的
- Java的clone()用法实例解析
- 计算机专业的三行情书,各专业三行情书,看懂你就是全能学霸!
- python中用于标识字符串的定界符_001.python-基础-Template的字符串格式化
- Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL
- 程序员的遗憾:为什么我没早学数据分析?
- linux 清空session,webwork 之销毁session
- win10不下载开热点的软件来开启无线热点
- Context and Attribute Grounded Dense Captioning
- APS生产计划排产在装备制造业的应用
- outlook安全模式修复_Outlook Com安全漏洞Microsoft无法修复
- 我的世界java1.16.3村庄种子,我的世界2020年最新版村庄种子
- 小米5x有android 8.0,小米5X 8.0【Android 8.0】没错是8.0!
- 一款极简聊天应用,比较完整,略好看
- 无线传感器网络的时钟同步估计问题(Matlab代码实现)
- Gaze vector介绍
- LPL2020夏季常规赛7月22日RW vs ES,WE vs BLG前瞻预测
- 推动线下网吧转型 京东Game+ CEST总决赛圆满落幕
- 淘宝双十一spark大作业 林子雨问题+解决
- es 搜索引擎 倒排索引 lucene 基础概念
热门文章
- Type-C 转 2 端口 MIPI CSI/DSI,支持 3D 音频和 PD 控制器
- 渠道向上,资本下沉:小家电凭何在家电下行期逆流而上?
- 瑞典让华为失去了一个1000万人口的市场,却同时让爱立信失去了一个140000万人的市场...
- 朴素贝叶斯 “打网球”决定
- 敲重点!最全大模型训练合集!
- android实习日志_2016年3月11日Android实习日记
- Android Jetpack Room数据库全解析
- 静态全局变量的声明与定义
- 计算机基础电子表格有计算,(精选)2018计算机应用基础Excel电子表格题目
- 支付宝被风控7天怎么办?付解决方案