Spring MVC:

Model:封装了应用程序的数据和一般他们会组成的POJO。

View:负责呈现模型数据和一般它生成的HTML的输出,客户端的浏览器能够解释。

Cotroller:负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。

Spring MVC处理请求的流程:


IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立对象之间的依赖。

AOP就是将那些与业务无关,却为业务模块所共用调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

权限:Authentication

缓存:Caching

内容传递:Context passing

错误处理:ErrorHanding

懒加载:Lazy loading

调试:Debugging

日志,跟踪,优化,校准:logging,tracing,profiling and monitor

性能优化:Performance Optimization

持久化:Persistence

资源池:Resource Pooling

同步:Synchronization

事务:Transaction

mybatis:





Dubbo:


1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需要简单配置,没有任何API侵入。

2.软负载均衡及容错机制,可在内网提供替代F5等硬件负载均衡器,降低成本,减少单点。

3.服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。


Maven:

项目管理工具和构建自动化工具。

RabbitMQ:

消息队列:一般在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统吞吐量。

RabbitMQ是用Erlang实现的,一个高并发高可靠AMQP消息的队列服务器。

Erlang是一门动态类型的函数式编程语言,对应到Erlang里,每个Actor对应着一个Erlang进程,进程之间通过消息传递进行通信。相比共享内存,进程间通过消息传递来通信带来的直接好处就是消除了直接的锁开销(不考虑Erlang虚拟机底层实现中的锁应用)。


log4j:


Ehcache:




Redis:



redis的优点:


缺点:单线程、耗内存

shiro:




设计模式:

开闭原则:开闭原则就是说对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有的代码。





Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐