技术重点

  • 介绍让人能听懂
  • 这个技术是干什么?
  • 这个技术解决了什么问题?
  • 这个技术如何解决了这个问题?
  • 这个技术有什么弊端?
  • 这个技术和其他有什么差别(为什么要选他)

List

  • 干什么:数组结构的单列集合实现 Collction
  • 解决什么问题:快速查询数据
  • 如何解决:数组结构
  • 缺点: 增删慢
  • 对比: 有序,set 无序
  • Map

  • 干什么:KV存储的,
  • 解决什么问题:结合数组和链表优点
  • 如何解决:
  • 缺点:
  • 对比:
  • 队列 queue 有界队列,无界队列

  • 是什么:一个队列就是一个先入先出(FIFO)的数据结构,Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。
  • 阻塞queue

  • 实现阻塞接口的:   java.util.concurrent 中加入了 BlockingQueue 接口和五个阻塞队列类。它实质上就是一种带有一点扭曲的 FIFO 数据结构。不是立即从队列中添加或者删除元素,线程执行操作阻塞,直到有空间或者元素可用。 五个队列所提供的各有不同:   * ArrayBlockingQueue :一个由数组支持的有界队列。   * LinkedBlockingQueue :一个由链接节点支持的可选有界队列。   * PriorityBlockingQueue :一个由优先级堆支持的无界优先级队列。   * DelayQueue :一个由优先级堆支持的、基于时间的调度队列。   * SynchronousQueue :一个利用 BlockingQueue 接口的简单聚集(rendezvous)机制。
  • 非阻塞queue

  • ConcurrentLinkedQueue 是基于链接节点的、线程安全的队列。并发访问不需要同步。因为它在队列的尾部添加元素并从头部删除它们,所以只要不需要知道队列的大 小,       ConcurrentLinkedQueue 对公共集合的共享访问就可以工作得很好。收集关于队列大小的信息会很慢,需要遍历队列

  • 解决什么问题:线程池应用广泛

  • 如何解决:

  • 缺点:

  • 对比:

  • 多线程

  • 反射

  • 动态加载运行时的类

  • 内存结构

  • 垃圾回收

  • 干什么:

  • 解决什么问题:

  • 如何解决:

  • 缺点:

  • 对比:

  • 项目规模

  • web层上限

  • 前台访问层Nginx

  • 数据库上限

  • 常见配置

  • 并发多少

  • 缓存

  • redis keyvalue 存储的键值对;

  • mongoDB

  • 队列(中间件)

  • cloud

  • 优化

  • 设计