Java后端知识点整理

本文转载于本人个人博客

并发

  1. Runnale 可以说是一个没有返回值的回调接口,这个回调传给Thread类或者线程池执行
  2. Callable 可以看作一个有返回值的回调接口,这个回调传给线程池执行,callable怎么与Future、futureTsak、线程池等实现有返回结果的线程创建
  3. Thread类:重要方法:start,sleep,join,yield,最好看下源码了解下怎么实现的(结合Object类的wait,notify,notifyAll,也看看Object源码)
  4. synchronized 用法和原理(涉及到对象在虚拟机中的内存布局)
  5. 线程池的创建以及使用,线程池的分类,线程池的怎么实现,创建线程池时各个参数的作用
  6. java.util.concurrent 并发包的原子类
  7. 并发包的常见并发的数据结构如阻塞队列、concurrentHashMap(怎么实现分段锁的)、CopyOnWriteArrayList
  8. 并发包的常见显式锁(这个可以放后面看)
  9. java虚拟机是怎么实现锁的(偏向锁、轻量级锁,自旋锁,重量级锁———也就是互斥锁)
  10. 总结Java的线程安全的实现方法(内置锁,显示锁,原子类,同步容器以及并发容器)

数据库

  1. mysql 隔离级别 (四种),和并发控制、锁的关系
  2. mysql 并发控制
  3. msql的锁的实现(行锁/表锁)
  4. mysql的索引,索引与锁的关系。各个索引的区别
  5. sql语法
  6. 主从复制
  7. 分布式数据库(待学习)
  8. Redis(待学习)

网络

  1. 如何使用java net创建socket并传输与接受数据
  2. 如何使用NIO
  3. 如何使用netty
  4. netty和NIO的关系
  5. NIO的channel、bytebuff、selector
  6. netty的bootstrap、EventLoop、EventLoopGroup是什么?EventLoop和selector的关系是什么?
  7. netty的Future、回调有什么作用?netty的Future和java JUC中的Future有什么区别?
  8. netty的ChannelHandler、Channel、ChannelPipeLine、ChannelHandlerContext是什么?他们之间是什么关系?
  9. netty的channelHandler和decoder、encoder
  10. netty的ByteBuf和NIO的ByteBuff

Java Web

  1. spring 依赖注入和控制反转,有什么用,如何实现?怎么进行依赖注入(xml、java代码、通过标注实现自动注入?)Bean的scope有哪些,怎么实现不同scope之间的bean的注入?
  2. spring AOP,有哪些概念,有什么作用,怎么使用AOP?原理是什么(动态代理)?
  3. Spring MVC,servlet生命周期?请求的流程控制?dispatchServlet是什么?controller是什么?怎么写Controller?
  4. HTTP协议结构、Cokies和session,重定向
  5. mybatis使用?mybatis原理(动态代理)?持久层框架有哪些?为什恶魔选择使用mybatis而不是Hibernate
  6. jsp与servlet?
  7. filter与inceptor?shiro与filter
  8. jdbc与datasource以及mybatis

Java虚拟机

  1. Java虚拟机的堆与栈是什么,它们的结构,它们有什么作用?
  2. 堆与垃圾收集器,列举垃圾收集器的分类与收集方法,如何进行垃圾收集(引用计数与可达性)?
  3. Minor GC与Full GC
  4. 类的加载与初始化、加载过程,类加载器分类及其作用?
  5. 对象的内存布局,对象头结构与锁
  6. Java内存模型,堆、栈、计算机的高速缓存与寄存器在Java在Java内存模型中的角色
  7. java内存模型与可见性
  8. 内置锁(syncronized触发,也叫重量级锁)、轻量级锁、偏向锁以及自旋锁如何发挥作用
  9. 字节码结构与对象内存布局的关系
  10. 继承和多态在Java虚拟机中的体现

Java语言基础

  1. Java语言Object类,有哪些方法
  2. Java语言的基本类型与其包装类
  3. Java语言的“==”和equals方法,基本类型和包装类的比较
  4. Java语言的运算符
  5. Java语言的集合类和对应类的常用方法
  6. Java语言常用工具类(Math、Date、Calendar等,主要包含java.util包下的集合类以外的常用类)
  7. Java的接口,接口的default和static方法,接口中的域
  8. Java的抽象类,抽象类的构造函数
  9. Java的继承与实现,组合与继承(has a和 is a关系)
  10. Java的多态(主要体现在继承关系上)
  11. Java的Lambda表达式与函数式接口
  12. 有哪些常见的函数式接口(Runnable, Callable, Comparable, InvocationHandler),如何使用lambda快速实现Comparator?
  13. Java Stream与函数式接口
  14. 反射与动态代理,Class类的方法,Method类的方法,类和Class类的关系?
  15. GCLib和Java提供的动态代理的区别
  16. 动态代理的应用
  17. 回调,有哪些常见的回调接口(和函数式接口类似)

设计模式

  1. 列举目前所知道的设计模式
  2. 设计模式的六大原则(单一职责、里氏替换、依赖倒置、狄米特法则、开闭原则以及接口隔离)
  3. 设计模式分类(创建型、结构型和行为型)
  4. 了解每种设计模式的作用

欢迎大家评论建议
如有兴趣请访问本人本人个人博客

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值