问一下Java方向复习分哪些块?每块要看什么书?

如题
真的是很着急,没有一个明确的思路。。。

#求面经##实习##Java#
全部评论
java面试基本题型  多线程,io,集合,数据库,算法,网络,虚拟机,框架,设计模式 多线程基本问题   线程进程区别,线程间怎么通信,进程间怎么通信, 线程状态,以及转变,wait,sleep区别,Object有什么方法 实现线程的四种方式? 继承Thread,实现Runnable接口,线程池(线程池参数必须知道corePoolSize,maximumPoolSize,任务队列,等待时间这),Callable接口(Future设计模式理解),造成死锁的四个必要条件,如何实现同步,回答Lock,Synchronized,原子类,CAS机制,volatile,分析区别优势,最好可以自己实现一个锁,通过分析AQS(Lock顶层抽象对列同步器), 基本的生产者,消费者问题解决。 集合  说出集合架构,分析arraylist,hashset(实现原理怎么保证元素有序(TreeSet底层红黑树)),linkedlist,hashmap,hashset,concurrenthashmap,linkedhashmap实现原理,比如hashmap,加载因子,怎么扩容,1.8为什么链表长度为8就要进行调整结构为红黑树(分析红黑树优点最好从二叉树不平衡,进而回答avl平衡树但是平衡要求高需要旋转次数多,红黑树引出(时间负责度log(n))),hashcode,equals区别具体体现在哪里,hashmap怎么解决冲突,是否线程安全等等必须弄清楚。每个数据结构都弄清楚。 网络  基本的五层,四层,三层,七层模型必须知道 http,https区别 ,http状态码,www.baidu.com访问这个网站的具体流程。 tcp,udp 三次握手,四次挥手。 数据库 left,right,inner join区别 如何实现一对多设计,多对多设计 数据库存储引擎 myisam,innodb分析区别 数据库怎么优化 为甚么要建立索引,索引什么情况会失效。基本的索引hash索引,b树索引 分析优缺点 ,为甚么用B+树索引,分析与B树的区别。 io io 和 nio区别  nio怎么使用 算法 基本的排序时间复杂度分析  快排(n(log(n)))要求可以写出递归分析以及怎么优化快速排序分析为什么可以?什么时候时间复杂度为N*N,分析为什么(树退化),各种排序时间复杂度基本写法,大数据排序,topK问题 虚拟机 堆栈方法区  内存溢出是指没有内存去分配  内存泄漏是指分配对象 不适用依然占用内存   哪些会内存溢出 堆 栈 方法区 本地方法栈 分析 堆溢出 不断new对象 分析查看gcroot链  用eclips -Xmx -Xms 虚拟机栈 本地方法栈溢出 如果线程请求栈的深度大于虚拟机允许的最大深度 -Xss减小栈大小  虚拟机栈容量小或者栈帧太大  还有递归太深  方法区和运行时常量池溢出 -XX:PermSize 和 -XX : MaxPermSize限制方法区大小 本机直接内存溢出-XX:MaxDirectMemorySize指定,不指定默认堆得最大值-Xms unsafe,allocateMenory(); 垃圾回收算法 引用 强软弱虚引用分析 强引用 比如Object o=new Object(); 只要强引用还存在,垃圾回收器永远不会回收被引用的对象 软引用 有用但是并非必要的对象 对于软引用关联的对象,在系统将要发生内存之前,将会把这些对象列进入回收范围内,如果这次回收依然失败,那么引起内存溢出异常 弱引用 描述并非必须的对象,但是强度比软引用弱,被弱引用关联的对象只能生存到下一次垃圾回收发生之前,当垃圾回收器工作,无论当前内存是否够都会回收之被弱引用引用的对象用WweakReference 虚引用 PhantomReference 随时有可能被回收 垃圾回收方法   标记清除 标记整理  复制算法  垃圾收集器 Seial 单线程处理  ParNew 多线程处理 但是都要停止所有用户线  程   Parallel Scavenge 收集器 快速 因为牺牲了吞吐量和新生代空间  导致垃圾收集频繁  CMS(Concurrent Mark Sweep)获取最短回收停顿时间 基于标记清除 基本算法 初始标记(Stop the word) 并发标记 重新标记(Stop the word) 并发清除 缺点会产生内存碎片 参数-UseCmsCompactAtFullCollection  还有-XX:CMSFullGcrootBeforeCompaction 默认0 每次进入full gc 进行碎片整理 1.7 G1(Garbage-First)特点 并行与并发 分代收集 空间整合 可预测停顿 基本工具:jinfo java配置信息工具 jmap java内存映像工具 linux用Kill -3 实现 -dump -heap Jstack java堆栈跟踪工具 Jconsole java性能监视与管理控制台  可达性分析 Gcroot 全局性的引用(常量或者类静态属性) 执行上下文(栈帧中的本地变表) 类加载机制分析(双亲加载模型)分析为什么这么设计 框架 SpringMVC流程,ioc,aop怎么自己实现,mybatis流程,怎么防止sql注入。 设计模式 最好全部会,分析在jdk源码的使用,比如装饰者设计模式 (io经常使用),适配器模式 (OutputStreamWriter)
点赞 回复
分享
发布于 2018-06-25 18:12
把这些研究会了,在做个项目,互联网公司基本ok
点赞 回复
分享
发布于 2018-06-25 18:13
滴滴
校招火热招聘中
官网直投
分布式和中间件也要会点吧
点赞 回复
分享
发布于 2018-06-25 19:06
是不是还得刷算法题才行
点赞 回复
分享
发布于 2018-07-05 00:01

相关推荐

点赞 评论 收藏
转发
点赞 59 评论
分享
牛客网
牛客企业服务