Java架构师面经

举报
资源描述
目录一 java 基础.91.1java 的 8 种基本数据类型 装箱 拆箱.91.1.18 种基本数据类型.91.1.2装箱和拆箱.101.1.3String 转出 int 型,判断能不能转?如何转?.101.1.4 short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?.111.1.5Int 与 Integer 区别.111.1.6字节字符区别.121.1.7 java 基本类型与引用类型的区别.121.2 重写重载封装继承多态.121.3 Stack Queue.131.3.1 PriorityQueue.131.7 Concurrent 包.181.8 面向对象.191.9 String StringBuffer StringBuilder hashcode equal.19String 中的 hashcode 以及 toString.201.10 java 文件读取.211.11 Java 反射.221.12 JDK NDK JRE JNI.231.13 static 和 final 的区别.231.14 map,list,set 区别.251.16 Session 和 COOKIE.251.19 IO NIOBIO AIO select epoll.261.19.1 NIO 的原理.281.20 ThreadLocal.301.22 finalize finalization finally.301.23 public private default protected.311.25 Object.311.26 equls 和=的区别.311.27 异常.321.28 序列化.341.30 comparable 接口和 comparator 接口.351.33 接口和抽象类.361.34 Socket.381.35 Runtime 类.381.36 值传递与引用传递.381.37 泛型?与 T 的区别.381.38 枚举类型字节码层面理解 Enum.391.39 java 注解类型.401.40 字节流 字符流.411.41 静态内部类 匿名类.431.41.2 匿名类.44二集合类 Set.472.1 HashMap.47(1)hashMap 的原理.47(3)get.48(4)HashMap 的 put 方法源码.48(5)HashMap 问题 jdk1.8 优化.497.Hashmap 中的 key 可以为任意对象或数据类型吗?.502.2 CurrentHashMap.510.JDK1.7 ConCurrentHashMap 原理.511.JDK1.7 Get.522.JDK1.7 PUT.543.JDK1.7 Remove.564.JDK1.7&JDK1.8 size().575.JDK 1.8.576.JDK1.8 put.587.JDK1.8 get 方法.608.rehash 过程.602.3.Hashtable.600.参数.601.put.612.get.613.Remove.624.扩容.622.4 hashtable 和 hashmap 的区别.632.5HashMap 和 ConCurrentHashMap 区别.632.6 ConcurrentHashMap 和 HashTable 区别.632.7linkedHashMap.642.8 Linkedhashmap 与 hashmap 的区别.642.9 HashSet.642.10 hashmap 与 hashset 区别.652.11 Collections.sort 内部原理.662.12 hash 算法.672.13 迭代器 Iterator Enumeration.682.14LIST ArrayList,LinkedList 和 Vector 的区别和实现原理.682.15 快速失败(fail-fast)和安全失败(fail-safe).70三 锁 volatile synchronized Lock ReentrantLock AQS CAS.713.1.volatile 和 synchronized.713.1.1 Volatile 与 synchronized 区别.733.1.2 Volatile.733.1.3 Synchronized 原理.733.2CAS.763.3 可重入锁 ReentrantLock.761.5.3 乐观锁和悲观锁 阻塞锁,自旋锁,偏向锁,轻量锁,重量锁。公平锁 非公平锁.763.3 ReentrantLock 和 synchronized 区别.771.5.3 重入锁、对象锁、类锁的关系.78四 java 多线程;.784.1 如何创建线程?哪种好?.784.2线程状态.794.3一般线程和守护线程的区别.794.4sleep waityield notify notifyAll join.804.5 中断线程.814.6 多线程如何避免死锁.814,7 多线程的好处以及问题.824.8 多线程共用一个数据变量注意什么?.824.9 线程通信方式.834.10线程池.834.11.线程中抛出异常怎么办.84五Java 进阶 ssh/ssm 框架.852.1Spring.852.1.0 什么是 Spring 以及优点.852.1.1 ApplicationContext 和 beanfactory 的区别.852.1.2 Spring Bean 生命周期.862.1.3 spring 中 bean 的作用域.872.1.4 Spring IOC.872.1.5 Spring AOP.872.1.6 事务.892.1.7 Spring MVC.912.1.8 Spring 中设计模式.922.2 Servlet.942.2.1 Servlet 生命周期.942.2 Struts.942.2.1 Struts 工作流程.942.2.2 Struts 工作原理.942.2.3 do Fliter.952.2.4 拦截器与过滤器的区别.962.2.5 Struts 中为什么不用考虑线程安全.972.2.6 Struts2 和 Struts1 区别.972.3 Hibernate.982.4 Redis.982.5 Tomcat.982.6 netty.982.7 Hadoop.982.8 Volley.98六Java 内存模型 和 垃圾回收.993.0 什么是 JMM 内存模型?(JMM 和内存区域划分不是一回事).993.0.1 JMM 中的 happens-before 原则.1003.1 内存分区.1013.2 GC 算法(YGC and FGC).1043.2.1 YGC.1053.2.2 FGC.1053.3 垃圾收集器 CMS.1053.4 java 类加载机制 双亲委派.1063.4.1 java 类加载的过程.1063.4.2 双亲委派机制.1083.4.3 破坏双亲委派模型.1093.5 内存泄露.1103.6.内存泄露的案例分析 jvm 调优.1103.6.1 jvm 调优目的.1103.6.2 案例分析.1103.7 jstat jmap jps jinfo jconsole.1133.7.1 jstat.1133.7.2 jmap.1143.7 JVM 参数设置.1143.8 内存分配与回收策略.1163.9 面试问题.1163.9.1 一般 Java 堆是如何实现的?.1163.9.2 对象在内存中的初始化过程.1173.9.3 对象的强、软、弱和虚引用.1173.9.4 如何减少 GC 的次数.1173.9.5新生代 老年代 永久代.118七 juc 包.1207.0 juc 概况.1207.1 Tools.1207.1.1 CountDownLatch.1207.1.2 CyclicBarrier.1207.1.3 Semaphore.1217.1.4 Exchanger.1217.2 List Set.1217.3Map.1217.4Queue.1217.4.1 ArrayBlockingQueue.1217.4.2 LinkedBlockingQueue.1227.4.3 LinkedBlockingQueue 和 ArrayBlockingQueue 迥异.1227.5 线程池.1231.线程池工作原理.1232.线程池分类.1233.线程池底层实现类 ThreadPoolExecutor 类.1244.线程池状态.124四.设计模式.1254.0 什么是设计模式.1254.1.常见的设计模式及其 JDK 中案例:.1254.1.1 适配器模式.1254.1.2 迭代器模式.1254.1.3 代理模式.1254.1.4 观察者模式.1264.1.5 装饰器模式.1274.1.6 工厂模式.1284.1.7 建造者模式.1284.1.8 命令模式.1294.1.9 责任链模式.1294.1.10 享元模式.1294.1.11 中介者模式.1304.1.12 备忘录模式.1304.1.13 组合模式.1304.1.14 模板方法模式.1304.1.15 单例模式.1311.非线程安全懒汉模式.1312、线程安全懒汉模式.1313.饿汉模式.1314.静态类内部加载.1325.双重锁校验模式.1327.懒汉模式与饿汉模式区别.1338.双重校验锁方法与线程安全的懒汉模式区别.1334.2 设计模式六大原则.1334.3 java 动态代理.134算法.138海量数据.142七数据结构与算法.1437.1 排序.1437.1.1 直接插入排序.1437.1.2 希尔排序.1457.1.3 冒泡排序.1457.1.4 快速排序.1457.1.5 直接选择排序.1487.1.6 堆排序.1497.1.7 归并排序.1507.1.8 基数排序.1537.2 树.1537.2.1 二分查找树.153八.数据库.1558.1 索引 B 树 B+树.1558.1.1 索引特点优缺点适用场合.1558.1.2 Mysql 索引原理 B+树:.1568.1.3 索引分类.1598.2 innoDB 与 MyISAM 引擎区别.1628.3 事务隔离级别(恶果:脏读 幻读 不可重复读).1648.4 数据库特性 ACID.1658.5 sql.1658.5.1Sql 优化.1658.6 5 种连接 left join、right join、inner join,full join cross join.1688.7 数据库范式.1718.8 数据库连接池.1718.8.1 数据库连接池原理.1718.8.2 数据库连接池的示例代码.1728.9 DDL DML DCL.1738.10 explain.1738.11 分库分表.1758.12 数据库锁.1788.12.1 封锁.1788.12.2 封锁协议(解决脏读不可重复读).1798.12.3 死锁活锁.1808.12.3 解决死锁的方法.1818.12.4 两段锁协议.1838.12.5 GAP 锁(解决幻读).1838.12.6 next-key 锁.1848.13 其它问题.1848.13.1 limit20000 如何优化.1858.13.2 数据库的隔离级别 隔离级别如何实现.1858.13.3 char varchar text 区别.1858.13.4 drop delete truncate 区别.1868.13.5 事务.1868.13.6 超键、候选键、主键、外键 视图.1868.13.7 存储过程与触发器.186九.网络.1899.1.HTTP.1899.1.1 http 请求报文&http 响应报文.1899.1.2 http 报文头部请求头和响应头.1899.1.3 http 请求方法.1909.1.4 http 请求过程.1909.1.4 Get 和 P
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > IT计算机/网络 > Java


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号