欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java,

来源: javaer 分享于  点击 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
    }
}

理解还不够透彻,欢迎大家来指点,谢谢!

相关文章

    暂无相关文章
相关栏目:

用户点评