JAVA

Posted by Jerry on March 28, 2017

Java基础

  • java内存模型
  • 多态(重载重写)
  • object方法
  • 类访问权限
  • sleep、notify、wait 联系、区别
  • String、stringbuffer、stringbuilder 联系、区别、源码
  • Volatile 原理、源码、与syn区别
  • 线程间通信方式
  • 线程的各种状态
  • 等等等等

集合框架

List

  • ArrayList
  • LinkedList
  • Vector 三者区别,联系,源码

Set

  • HashSet
  • LinkedHashSet
  • TreeSet 基于什么实现,内部数据结构,适用场景,源码

Map

  • HashMap
  • weakHashMao
  • LinkedHashMap
  • TreeMap HashMap与hashtable的区别

内部实现原理、源码、适用场景

并发包

ConcurrentHashMap

原理、源码、与hashmap的区别

CopyOnWriteArrayList (set)

什么情况加锁、什么情况不加锁、适用场景

ArrayblockingQueue (Linked)

两者区别,take、put、offer、poll方法原理、源码

AtomicInteger (long boolean)

功能

CountDownLatch

功能、场景

CyclicBarrier

功能、场景

FutureTask (Callable)

源码、场景

ReentantLock

与syn的区别、好处、场景

Condition

与wait、notify的区别、好处

Semaphore

好处、场景

ReentrantReadWriteLock

读写分离的好处、适用场景、源码

Executors

线程池种类、各个作用、适用场景

ThreadPoolExecutor

重载方法的参数、各参数作用、源码

虚拟机

JVM五大区

每个区的存储、作用

JVM内存模型

  • 类加载机制
  • 双亲委派模型

垃圾收集器

  • 常用gc算法
  • 收集器种类、适用场景
  • fullGC、MinorGC触发条件

JVM优化

  • 可视化工具使用
  • 日志查询
  • 各项参数设置
  • 四种引用