丰禾+

个人学习博客分享

0%

1.Servlet生命周期

servlet的生命周期是初始化(init)、服务(service)、销毁(destroy)

初始化(init):默认第一次请求前,只初始化一次。修改web.xml,允许服务器启动时初始化。
服务(service):方法被调用时进行服务,在项目启动期间可以进行多次服务(请求一次执行一次)
销毁(destory):当服务器关闭时进行销毁。只销毁一次
Servlet接口中声明3个方法,tomcat在不同的时候将调用不同的方法。
init 初始化方法,2种情况被调用
情况1:默认,第一次请求前
情况2:在web项目核心配置文件web.xml中,配置初始化,将在服务器启动时初始化。
每次请求时,调用服务
服务器关闭时,调用销毁。

阅读全文 »

1.Redis是什么?

Redis是一个开放源代码(BSD许可)的内存中数据结构存储,可用作数据库,缓存和消息代理,是一个基于键值对的NoSQl数据库。

阅读全文 »

1、什么是 RabbitMQ?为什么使用 RabbitMQ?

RabbitMQ 是一款开源的,Erlang 编写的,基于 AMQP 协议的,消息中间件;

可以用它来:解耦、异步、削峰。

阅读全文 »

1.Netty的特点?

  • 一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持
  • 使用更高效的socket底层,对epoll空轮询引起的cpu占用飙升在内部进行了处理,避免了直接使用NIO的陷阱,简化了NIO的处理方式。
  • 采用多种decoder/encoder 支持,对TCP粘包/分包进行自动化处理
  • 可使用接受/处理线程池,提高连接效率,对重连、心跳检测的简单支持
  • 可配置IO线程数、TCP参数, TCP接收和发送缓冲区使用直接内存代替堆内存,通过内存池的方式循环利用ByteBuf
  • 通过引用计数器及时申请释放不再引用的对象,降低了GC频率
  • 使用单线程串行化的方式,高效的Reactor线程模型
  • 大量使用了volitale、使用了CAS和原子类、线程安全类的使用、读写锁的使用
阅读全文 »

1.什么是Mybatis?

MyBatis 是一款优秀的支持自定义 SQL 查询、存储过程和高级映射的持久层框架,消除了 几乎所有的 JDBC 代码和参数的手动设置以及结果集的检索 。 MyBatis 可以使用 XML 或注解进 行配置和映射, MyBatis 通过将参数映射到配置的 SQL 形成最终执行的 SQL 语句 ,最后将执行 SQL 的结果映射成 Java对象返回。

阅读全文 »

1.能说下myisam 和 innodb的区别吗?

myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。

innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通过MVCC来支持高并发,索引和数据存储在一起。

阅读全文 »

1.什么是数据库?

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

阅读全文 »

1.什么是MongoDB

1
2
3
MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。
BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSON.
相对于json多了date类型和二进制数组。
阅读全文 »