【java面试】线程篇】的更多相关文章

最近想深入的理解一下java 的工作机制,也是便于后期的面试. 1.A:HashMap和Hashtable有什么区别? Q:HashMap和Hashtable都实现了Map接口,因此很多特性非常相似.但是,他们有以下不同点:     HashMap允许键和值是null,而Hashtable不允许键或者值是null.    Hashtable是同步的,而HashMap不是.因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境.   我们再来剖析一下这个问题,如果你答些,面试…
上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用  -32768 ~ 32767 int:32 位.最常用,-2^31-1~2^31  (21 亿) long:64 位.次常用,long 型数据后面加 L或 l 两种浮点类型(float,doub…
1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些    LinkedList是链表结构,LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素.    对于查询速度,ArrayList觉得优于LinkedList,因为LinkedList要移动指针. 对于插入或…
71,谈谈你对Struts的理解. 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类.我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件将各个请求分别分配给不同的action去处理. (struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀) 2.ActionServ…
集合的面试题就不罗列了,基本上在深入理解集合系列已覆盖 「 深入浅出 」java集合Collection和Map 「 深入浅出 」集合List 「 深入浅出 」集合Set 这里搜罗网上常用线程面试题,答案仅供参考,并没有标准答案,请通过自己的理解再整理成自己的答案 1.说说进程,线程,协程之间的区别 简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程.进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高.线程是进程的一个…
1.类比介绍 假如有一个工厂,工厂里面有10个工人,每个工人同时只能做一件任务. 因此只要当10个工人中有工人是空闲的,来了任务就分配给空闲的工人做: 当10个工人都有任务在做时,如果还来了任务,就把任务进行排队等待: 如果说新任务数目增长的速度远远大于工人做任务的速度,那么此时工厂主管可能会想补救措施,比如重新招4个临时工人进来: 然后就将任务也分配给这4个临时工人做: 如果说着14个工人做任务的速度还是不够,此时工厂主管可能就要考虑不再接收新的任务或者抛弃前面的一些任务了. 当这14个工人当…
1.请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有.其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能.最深入研究的知识领域.个性中最积极的部分.做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信. 企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”,企业喜欢有礼貌的求职者. 2.你觉得你个性上最大的优点是什么? 回答…
一.ArrayList: 底层为数组实现,线程不安全,查询,修改快,增加删除慢, 数据结构:数组以0为下标依次连续进行存储 数组查询元素:根据下标查询就行 数组增加元素:如果需要给index为10的位置添加,则从index为11的位置开始右移 数组删除元素:如果需要删除index为10的位置,则从index为11的位置开始左移 线程: 如果判断线程安不安全只需要了解到是否进行加锁,如果没有加锁的话,多个线程操作同一个对象时就会出现线程不安全的情况. 源码: 1.new一个arraylist,调用…
一.架构说明: 二.为什么使用线程池,优势是什么? 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,那么超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行. 特点:线程复用.控制最大并发数量.管理线程 优点: 降低资源消耗.通过重复利用已创建的线程来降低线程创建和销毁造成的消耗. 提高响应速度.当任务到达时,任务可以不需要的等到线程创建就能立即执行. 提高线程的可管理性.线程是稀缺资源,如果无限制的创…
1.非功能需求会考虑哪些? 可用性.扩展性.性能: 2.有没有遇到过建了索引反而变慢的情况? 3.从哪些角度去设计系统? 4.代码中使用过的设计模式?…