java,
分享于 点击 4860 次 点评:235
java,
1、请说明一下springmvc和spring-boot区别是什么?
Spring 就像一个大家族,有众多衍生产品例如 Boot,Security,JPA等等。但他们的基础都是Spring 的 IOC 和 AOP,IOC提供了依赖注入的容器,而AOP解决了面向切面的编程,然后在此两者的基础上实现了其他衍生产品的高级功能;因为 Spring 的配置非常复杂,各种xml,properties处理起来比较繁琐。于是为了简化开发者的使用,Spring社区创造性地推出了Spring Boot,它遵循约定优于配置,极大降低了Spring使用门槛,但又不失Spring原本灵活强大的功能。
总结来说大概就是
1.springboot 囊括了springmvc, 帮助程序员快速的搭建一个web框架,不需要xml进行配置。
2. 传统的springmvc 是一个controller的拦截器,基于servlet构建出来的框架
2、请简单谈一下spring框架的优点都有哪些?
1.轻量:基础版本只有2MB
2.控制反转:通过控制反转,实现松散耦合,对象们给出他们的依赖,而不是通过创建或查找对象的依赖
3.面向切面编程:通过面向切面编程,实现业务逻辑和系统服务分开,支持面向切面编程
4.事务管理:spring提供事务管理接口,实现本地事务和全局事务的管理
5.异常处理:提供异常处理接口,把hibernate或者jdbc的异常转为一致的unchecked异常
6.容器:spring包含并管理应用中对象的生命周期和配置
7.MVC框架:spring的web框架是一个优秀的框架,是web框架的替代品
3、给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
/*
public class TreeLinkNode {
int val;
TreeLinkNode left = null;
TreeLinkNode right = null;
TreeLinkNode next = null;
TreeLinkNode(int val) {
this.val = val;
}
}
*/
public class Solution {
TreeLinkNode GetNext(TreeLinkNode node)
{
if(node==null) return null;
if(node.right!=null){ //如果有右子树,则找右子树的最左节点
node = node.right;
while(node.left!=null) node = node.left;
return node;
}
while(node.next!=null){ //没右子树,则找第一个当前节点是父节点左孩子的节点
if(node.next.left==node) return node.next;
node = node.next;
}
return null; //退到了根节点仍没找到,则返回null
}
}
理解还不够透彻,欢迎大家来指点,谢谢!
相关文章
- 暂无相关文章
用户点评