面试-java基础(4)

  • 如何保证集合容器的并发安全以及concurrentHashMap如何实现高效的并发

java提供不同层面的并发容器,包括传统的类似HashTable\Vector等安全容器,也提供啦Collections工具类的同步包装器,基本是通过Synchornized来实现的粗粒度线程安全,另外一部分是并发包提供的并发容器,类似于ConcurrentHashMap、ArrayBlockingQueue、CopyOnWriteArrayList,其中ConcurrentHashMap是通过分离锁实现。

  • 常见的IO,以及NIO

面试-java基础(4)

传统的IO包,java.io基础流模型,交互方式是同步、阻塞的

java.nio包提供啦channel、buffer、selector可以构建多路复用实现同步非阻塞

aio是对nio的升级,通过事件回调方式,实现异步非阻塞

NIO TransferTo零copy,不需要用户态的切换

Nio-scatter机制

  • 谈谈你对设计模式理解

创建型模式:工厂、单例、原型、构建器

结构型模式:桥接、代理、适配器、享元、组合、外观、装饰

行为型模式:策略、解释器、观察者、访问者、模板方法、迭代器、命令

六大原则,总的原则:开闭原则, 1.单一原则2离氏替换原则3依赖倒转原则4接口隔离原则5迪米特原则6合成复用原则