JAVA核心面试知识整理.pdf

所需积分/C币:11 2019-06-20 12:24:11 10.59MB PDF
58
收藏 收藏
举报

文档内容包括JVM,JAVA基础,数据库,计算机网络,微服务等知识点。
343.Hash7abe(线程安全) 53 344. TreeMap(可拼序)… 345. LinkHashMap(记.录插入序) 4.JAVA多线程并发 n∴54 4.1.1.JAVA并发知识斥 4.1.2.JAW线程实现创建方式 54 4.12.1.继承 Thread类. 4.1.22.实现 Runnable接凵。 54 4.1.2.3. Executor service、 Callable< Class>、 Future有返冋值线程. 4.124.基于线程池的方式 4.1.3.4种线程池. 56 4.1.3.1. new Cached Thread Pool 413.2. newFixed Thread Pool 4.133. newScheduledthre 4.1.3.4. newSingle Thread Executor 4.1.4.线程生命周状态 58 4.14.1.新建状态(NEW 4.142.就绪状态( RUNNABLE) 4.14.3.运行状态( RUNNING) 4.144.阻塞状态( BLOCKED): 等待阻塞( o wait->等待对列 同步阻(ock→>锁沖)…… 其他阻塞( sleep/join) 4.145.线程死亡(DEAD) 正常结束 异常结束 调用stop… 59 4.1.5.终止线程4种方式 4.1.5.1.正常运行结束… 4.1.52.使用退出标志退出线程 B“面音面 60 4.1.53. Interrupt方法结束线程 41.54.stop方法终止线程(线程不安全) 41.6.seep与Wa区别 61 4.1.7. start与rUn区别 62 4.1.8.JAVA后台线程 4.1.9.JAVA 63 4.19.1.乐观锁 4.192.悲观锁 4.1.9.3.白旋锁 ∴13 自旋锁的优缺点… …153 自旋锁时间阈值(1.6引入了适应性自旋锁)…… 日旋锁的开启 4.194. Synchronized同步锁 Synchronized作用范围 Synchronized核心组件 .64 Synchronized实现 419.5. Reentrantlock ………,16 Lock接口的卞要方法 非公平锁 公平锁 ReentrantLock j synchronized 67 Reentrantlock实现… Condition类和 Object类锁方法区别区别 tryLock和ock和 ockInterruptibly的区别 4.19.6. Semaphore信号量 实现斥锁(计数器为1) 代码实现 Semaphore与 Reentrantlock… 4.1.9.7. AtomicInteger 69 13/04/2018 Page 3 of 283 4.19.8.可重入锁(递归锁) 4.199.公平锁与非公平锁… 公平锁(Fair) 非公平锁( Nonfair) 4.19.10. Readwritelock读写锁 读锁 写锁. 4.19.11.共享锁和独占锁 70 独占锁 共享钐 70 4.1912.重量级锁( Mutex lock) 4.1.9.13.轻量级锁 锁升级. 4.19.14.偏向锁 4.1.9.15.分段锁 4.1.9.16.锁优化 减少锁持有时间. 减小锁粒度. 锁分离 锁粗化 锁消除. 4.1.10.线程本方法 4.1.10.1.线程等待(Wait)… 4.1.10.2.线程睡眠( sleep) 4.1.10.3.线程让步( yield) 4.1.104.线程中断 interrupt)…... 4.1.10.5.Join等待其他线程终止…… 74 4.1.10.6.为什么要用 joind方法? 74 4.1.10.7.线程唤醒( notify)...... 74 4.1.10.8.其他方法: 4.1.11.线程上下文切换 4.111.1.进程 75 4.1.11.2.上下文 4.1.11.3.寄存器 4.1.11.4.程序计数器 4.1.11.5.PCB-“切换桢 4.1.11.6.上下文切换的活动 4.1.11.7.引起线程上下文切挨的原因 4.1.12.同步锁与死锁 6 4.1.12.1.同步锁 ∴76 4.1.12.2.死锁 4.1.13.线程池原埋 76 4.1.13.1.线程复用 4.1.13.2.线程池的组成 4.1.13.3.拒绝策略 4.1.134.Java线程池工作过程 4.1.14.JAVA阻寨从列原理 4.1.14.1.阻塞队列的主要方法 拓入操作:… 获取数据操作 4.1.14.2.Java中的阻塞队列 41.14.3. Array Blocking Queue(公平、非公平)… 82 4.1.14. Linked BlockingQueue(两个独立锁提高并发) 4.1.14.5. Priority Blocking Queue( compareTo排序实现优先)……… 4.114.6. DelayQueue(缓存失效、定时任务)… 4.1.14,7. SynchronousQueue(不存储数据、可用于传递数据) ..83 4.1.14.8. LinkedTransfer Queue 13/04/2018 Page 4 of 283 4.1.14.9. Linked Blocking Deque 4.1.15. CyclicBarrier、 Countdownlatch、 Semaphore的用法. 4.1.15.1. CountDownLatch(线程计数器) 4.1.15,2. Cyclic Barrier(回环栅栏等待至 barrier状态再全部同时执行)… 41.15.3. Semaphore(信号量-控制同时访问的线程个数) 4.1.16.vo| tile关键字的作用(变量可见性、禁上重序) 87 变量可见性 禁止重排序 比 sychronized更轻量级的同步锁…… .87 适用场景. 4.1.17.如何在两个线程之问共享数据 将数据抽象成一个类,并将数据的操作作为这个类的方法 Runnable对象作为一个类的内部类 4118. Threadloca/作用(线程本地存储) p(线程的一个属性) 使用场景. 4.119. synchronized和 ReentrantLock的区别 4.1.19.1.两者的共同点 91 4.1.19.2.两者的不同点:…… 4.1.20. ConcurrentHashMap并发…… ………5 4.1.20.1.减小锁粒度 4.1.20.2. ConcurrentHashMap分段锁 ConcurrentHash Map是由 Segment数组结构和 HashEntry数组结构组成… 4.1.21.Java中用到的线程调度,. 4.1.21.1.抢占式调度 4.1.21.2.协同式调度: 4.1.21.3.丿M的线程调度实现(抢占式调度) 4.1.21.4.线程让出cpu的情况:… 4.1.22.进程调度算法.… 翻垂垂“垂 .94 4.1.22.1.优先调度算法 94 4.1.222.高优先权优先调度算法…. 4.122.3.基于时间片的轮转调度算法…. 4.1.23.什么是CAS(比较并交换乐观锁机制数自旋) 4.1.23.1.概念及特性……… 4.1.23.2.原子包 javautil. concurrent atomic(锁自旋) 7 4.1.233.ABA问题 4.1.24.什么是AQS(抽象的队列同步器)… Exclusive独占资源- ReentrantLock Share共亨资源 Semaphore/ CountDownLatch 同步器的实现是ABs核心( state资源状态计数) 100 ReentrantReadWriteLock实现独占和共享两种方式… 5.JAVA基础 101 5.1.1.JAVA异常分类及处.……………101 5.1.1.1.概念 5.1.1.2.异常分类. Error 101 Exception (RuntimeException, Checked Exception 101 5.1.1.3.异常的处理方式… 102 遇到问题不进行具体处理,而是继续抛给调用者( throw, throws)∴ 102 try catch捕获异常针对性处理方式 5.1.14. Throw和 throws的区别 102 13/04/2018 Page 5 of 283 位置不同 功能不同: 102 5.1.2.JAVA反射, 103 5.1.2.1.动态语言 103 5.1.22.反射机制概念(运行状态中知道类所有的属性和方法)∴.. 5.1.2.3.反射的应用场合 编译时类型和运行时类型 的编译时类型无法获取具体方法 104 5.1.24.Java反射AP 104 反射AP|用来生成JVM中的类、接口或则对象的信息。 5125.反射使用步骤(获取 Class对象、调用对象方法)… 104 5.1.2.6.获取 Class对象的3种方法 104 调用某个对象的 getClass()方法 104 调用某个类的cass属性来获取该类对应的 Class对象 使用 Class类中的 for Name)静态方法(最安仝/性能最好 5.1.2.7.创建对象的两种方法 Class对象的 newInstance(… 调用 Constructor对象的 newInstance( 105 5.1.3.JAVA注解… 106 5.1.3.1.概念 106 5.1.32.4种标准元注解. 4106 @ Target修饰的对象范围 @ Retention定义被保留的时间长短…… 4106 @ Documented描述 javadoc.… @ Inherited阐述了某个被标注的类型是被继承的 5.13.3.注解处理器 107 5.1.4.JAVA内类 5.14.1.静态内部类 5142.成员内部类 110 5143.局部内部类(定义在方法中的类 110 5.144.匿名内部类(要纭承一个父类或者实现一个接口、直接使用new来生成一个对象的引用)11 5.1.5.JAVA泛型, 112 5.1.5.1.泛型方法(<E>) 11 51.52.泛型类<T>… 112 5.1.53.类型通配符?… 113 5.1.54.类型寮除… 516.JAⅥA序列化(创建订复用的Java和象)…,,, 13 保存(持久化)对象及其状态到内存或者盘… 113 序列化对象以字数组保持-静态成员不保存 113 序列化用户远程对象传输… Serializable实现序列化 Objectoutputstrean和 ObjectInputStream对对象进行序列化及反序列化 113 writeObject和 read object自定义序列化策略 序列化ID 113 序列化并不保存静态变量 序列化子父类说明 14 Transient关键字阻止该变量破序列化到文件中 114 5.1.7.JAVA复制 114 517.1.直接赋值复制. ∴114 5.1.72.浅复制(复制引用但不复制引用的对象) 114 51.7.3.深复制(复制对象和其应用对象)… ..115 5.1.7.4.序列化(深cone一中实现). 115 6.SPR|NG原理.. 116 611. Spring特点 116 6.1.1.1.轻量级… 116 13/04/2018 age 6 of 283 6.1.1.2.控制反转 116 6.1.1.3.面向切面… 6.1.14.容器 6.1.1.5.框架集合 ,4主 116 6.1.2.Spig核心纽件, 117 6.1.3. Spring常用摸块 117 6.1.4. Spring主要包.,,, ∴118 6.1.5. Spring常用过解 .118 6.1.6. Spring第三方结合…,… .119 6.17. Spring1OC原理…… 120 6.1.7.1.概念 6172. Spring容器高层视佟 120 61.7.3.|OC容器实现 :.·.::.::: 120 Bean Factory-框架基础设施 120 1.1.1.1.1 Bean Definition Registry注川表. .121 1.1.1.1.2 Bean Factory顶层接口 .121 1.1..1.1.3 Listable bean Factor .121 1.1.1.14 HierarchicalBean Factory父子级联 121 1.1..1.1.5 Configurable Bean Factor 121 1.1.1.1.6 Autowire Capable Bean Factory自动装配 .122 1.1.1.1.7 Singleton Bean Registry运行期间注单例Bean 122 1.1.1.8依赖日志框框 Application Context面向开发应用… 122 WebApplication体系架构 123 6.174. Spring Bean作用-或… 123 singleton:单例模式(多线程下不安全) prototype:原型模式每次使用时创建….....,..... 124 Request:一次 request一个实例 124 session 124 global Session 24 6.17.5. Spring Bean生命期 124 实例化 124 OC依赖注入 124 setBeanName实现 124 BeanFactory Aware实现 124 App| ication ContextAware实现 125 postProcess Beforelnitialization接口实现初始化预处理 init-method 125 postProcessAfterInitialization 125 Destroy过期自动清理阶段… 125 destroy- method自配置清理… 丰, 125 6.176. Spring依赖注入四种方式 构造器注入 26 setter方法注入 ∴127 静态工厂注入 127 实例工厂 “ 6.1.7.7.5种不同方式的自动装配 6.1.8. Spring APO原理 129 6.1.81.概念 129 6.182.AOP核心概念 6181.AOP两种代理方式 130 JDK动态接口代旦 CGLib动态代理 131 6182.实现原理 131 6.1.9. Spring mvc原理… 132 6.1.9.1.MVC流程.… Htp请求到 DispatcherServlet…… HandlerMapping寻找处理器 调用处理器 Controller 133 13/04/2018 Page 7 of 283 Controller调用业务逻辑处理后,返冋 Modelandview.. 133 Dispatcher Servlet杳询 Modelandview. Modelandview反馈浏览器HTTP 6.19.1.MVC常用注解 6.110. Spring Boot原型… 134 1.创建独立的 Spring应用程序 2.嵌入的 Tomcat,无需部署WAR文件……… 134 3.简化 Maven配置 L34 4.自动配置 Spring… 134 5.提供生产就绪型功能,如指标,健康检查和夕部配置. 134 6.绝对没有代码生成和对ⅩML没有要求配置[1]. 134 6.111.JPA原理 134 6.1.11.1.事务 134 61.112.本地事务… 134 6.1.11.1.分布式事务…… 135 6.111.1.两阶段提交 1准备阶段. 136 2提交阶段: 6. 12. Mybatis #f. 137 6.1.12.1. Mybatis的一级缓存原理( sqlsession级别) 138 61.122.二级缓存原理( mapper基本)…… 具体使用需要配置:… 139 61.13.T0mat架构 .139 7.微服务…… 140 7.1.1.坡务注册发现 .140 7.111.客户端注册( zookeeper) 7.1.12.第方注册(独立的服务 Registrar) 7.1.13.客户端发现…… 7.1.1.4.服务端发现 ………142 7.1.1.5. Consul 142 7.1.1.6. Eureka 142 7117. Smartstack .142 7.1.18.Etcd 7.1.2.AP/网关 142 7.1.2.1.请求转发 143 7.1.22.响应合并… 7.1.2.3.协议转换. 7.1.24.数据转换 7.12.5.安全认证 144 7.1.3.配置中心 144 7.13.1.z0 keeper配置中心 71.32.配置中心数据分类. 144 7.1.4.事件调度(ka欣ka) ∴144 7.1.5.务跟踪( starter-s/ leuth). 面垂面日面 144 7.1.6.根务熔断( HystriX) 145 7.1.6.1. Hystⅸx断路器机制.… 7.17.AP埋 146 8. NETTY与RPC 147 8.1.1.Ney原理.…… 147 8.1.2.Ny高件能 147 8.1.2.1.多路复用通讯方式 8.1.2.1 异步通讯NO 8.1.22.零拷贝(D| RECT BUFFERS使用堆外直接内存 149 8.1.2.3.内存池(基于内存池的缓冲区重用机制) 8.1.24.高效的 Reactor线程模型 149 Reactor单线程模型 Reactor多线程模型 150 13/04/2018 Page 8 of 283 主从 Reactor多线程模型 8.1.2.5.无锁设计、线稈绑定 151 8.1.26.高性能的序列化框架 小包封大包,防止网络阻塞 152 软中断Hash值和CPU绑定 152 8.1.3. Netty RPC实现 152 8.1.3.1.概念 8.1.32.关键技术 8.1.3.3.核心流程…. 8.1.3.1.消息编解码 息数据结构(接口名称+方法名+参数类型和参数值+超时时间+ requestID)… 序列化. 154 8.1.3.1.道讯过程 核心问题(线程暂停、消息乱序) 154 通讯流程 requestID成 AtomicLong 154 存放回调对象 callback到全局 ConcurrenthashMap synchronized获取回调对象 callback的锁并白旋wait 154 监听消息的线程收到消息,找到 callback上的锁并唤醒 155 8.1.4.RM实现方式 155 8.14.1.实现步骤 155 8.1.5. Protoc/ol Buffer 156 8.1.51.特点 157 8. 1.6. Thrift 157 9.网络….....……………159 9.1.1.网终7层架构. 159 9.1.2.TCPP原理 9121.网络访问层( Network Access Layer)… 160 9122.网络层( nternet Layer)… 160 9123.传输层( Tramsport Layer-TCP/UDP) 160 9124.应用层(App| ication Layer)150 9.1.3.TCP二次握手四次挥手 161 9.1.3.1.数据包说明 161 9.13.2.三次握手 162 9.133.四次挥 9.1.4.HTTP原理, 164 9.1.4.1.传输流程…. 164 1:地址解析 2:封装HTTP请求数据包 165 3:封装成TCP包并建立连接 165 4:客户机发送请求命…… 5:服务器响应 6:服务器关闭TC尸连接 165 9.142.HTTP状态 165 9.143. Https 建立连接获取证书 证书验证 …167 数据加密和传输 9.1.5.CDN原 167 9.1.5.1.分发服务系统… 167 9152.负载均後系统 9.1.53.管理系统: 168 10.日志… 垂着番看;B看aa看香B看香 n169 10.1.1.SHf4f… 169 10.1.2.Log4 ∴169 10.1.3. Logback.… 169 10.131. Logback优点… .4169 10.1.4.ELK. 170 13/04/2018 Page 9 of 283 11. ZOOKEEPER 171 11.1.1. Zookeeper概念 171 11.1.1.z00 keeper角色 171 11.1.1.1. Leader 171 11.1.1,3. Observer 4面 171 11.1.1.1.ZAB协议 事务编号zxid(事务请求计数器+ epoch).… 172 epoc 172 Zab协议有两种模式-恢复模式(选主)、广播模式(同步).….… 172 zAB协议4阶段 172 Leader election(选举阶段-选出准 Leader) 172 Discovery(发现阶段-接受提议、生成 epoch、接受 epoch) 173 Synchronization(同步阶段-同步 follower副木) 173 Broadcast(广播阶段- leader消息广播)∴… zAB协议JAVA实现(FLE发现阶段和同步合并为 Recovery Phase(恢复阶段)) 173 11.1.1.2.投票机制 173 11.1.2.Zo0 keeper工作原理(原子广播) ∴174 11.1.3.Zn0de有种形式的目录点… 174 12. KAFKA 175 12.1.1. Kafka概念 121.2. Kafka数据存设计 175 12121. partition的数据文件( offset, Messagesize,data)… 175 12122.数据文件分段 segment(顺序读写、分段命令、二分查找) 12.1.2.3.数据文件索引(分段索引、稀疏存储)… 12.1.3.作产若设计 121.3.1.负载均衡( partition会均衡分布到不同 broker上)… .176 12.132.批量发送 177 1213.3.压缩(GZP或S冂appy)… 121.1.消费者设计… 177 12.1.1.1. Consumer Group 178 13. RABBITMQ 179 13.1.1.概念 13.1.2. Rabbits架构 13.1.2.1. Message 13.1.22. Publisher 131.23. Exchange(将消息路由给队列)….1 13124. Binding(消息队列和交换器之间的关联) 13.1.25. Queue 180 13.1,.2.6. Connection 13.1.2.7. Channe 180 13.1.28. Consumer 13.1.29. Virtual Host 13.1.2.10.Brok 181 3.1.3. Exchange类型 81 13.13.1. Direct键( routing key)分布 自;音 13.1.3.2. Fanout(广播分发) 13.1.3.3. topIC交换器(模式匹配 182 13/04/2018 Page 10 of 283

...展开详情
试读 127P JAVA核心面试知识整理.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
一定要细心 资源清晰有书签,可用
2019-07-02
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享小兵

    成功上传3个资源即可获取
关注 私信
上传资源赚积分or赚钱
最新推荐
JAVA核心面试知识整理.pdf 11积分/C币 立即下载
1/127
JAVA核心面试知识整理.pdf第1页
JAVA核心面试知识整理.pdf第2页
JAVA核心面试知识整理.pdf第3页
JAVA核心面试知识整理.pdf第4页
JAVA核心面试知识整理.pdf第5页
JAVA核心面试知识整理.pdf第6页
JAVA核心面试知识整理.pdf第7页
JAVA核心面试知识整理.pdf第8页
JAVA核心面试知识整理.pdf第9页
JAVA核心面试知识整理.pdf第10页
JAVA核心面试知识整理.pdf第11页
JAVA核心面试知识整理.pdf第12页
JAVA核心面试知识整理.pdf第13页
JAVA核心面试知识整理.pdf第14页
JAVA核心面试知识整理.pdf第15页
JAVA核心面试知识整理.pdf第16页
JAVA核心面试知识整理.pdf第17页
JAVA核心面试知识整理.pdf第18页
JAVA核心面试知识整理.pdf第19页
JAVA核心面试知识整理.pdf第20页

试读结束, 可继续阅读

11积分/C币 立即下载 >