什么是面向对象编程?
通过建模形式抽象思维过程的编程方法。面向对象编程的核心思想体现在四个方面:抽象、封装、继承、多态。
- 抽象:定义对象的属性和行为,具体体现为将同一类对象(模型)的数据和行为定义为类。
- 封装:隐藏一切可隐藏的数据或行为,只对外提供最简单的操作数据的接口。
- 继承:从已有类得到继承信息创建新类的过程。继承不仅支持了系统的可重用性,而且还促进了系统的可扩充性。
- 多态:允许不同子类型的对象对同一消息作出不同的响应。
NIO了解吗?和IO的区别是什么?
NIO和IO的区别IO是面向流的,NIO是面向缓冲区的。Java IO的各种流是阻塞的,而Java NIO是非阻塞模式。Java NIO的选择器允许一个单独的线程来监视多个输入通道。
- NIO的核心概念包括Channel,Selector,SelectionKey,Buffer。
- Channel是I/O通道,可以向其注册Selector,应用成功可以通过select操作获取当前通道已经准备好的可以无阻塞执行的操作.这由SelectionKey表示。
- SelectionKey的常量字段SelectionKey.OP_***分别对应Channel的几种操作例如connect(),accept(),read(),write()。
- select操作后得到SelectionKey.OP_WRITE或者READ即可在Channel上面无阻塞调用read和write方法,Channel的读写操作均需要通过Buffer进行.即读是讲数据从通道中读入Buffer然后做进一步处理.写需要先将数据写入Buffer然后通道接收Buffer。
Tomcat中Servlet 生命周期了解吗?
动态代理技术了解吗?都有哪些实现方式?底层的原理了解吗?
泛型的原理是什么?如何给ArrayList<String>集合里添加一个Integer的对象(注意:不类型装换)?
equals方法重写有哪些需要注意的?
单例模式了解吗?如何避免反射破坏?
详情参见单例模式
网友评论