java面试知识点笔记(杂乱)
已知中序遍历和后序遍历,画出此二叉树
后序遍历:左节点,右节点,根。 中序遍历:左结点,根,右节点。 前序遍历:根,左结点,右节点。
例题:二叉树的中序遍历为[5,4,1,2,3,6],后序遍历为[4,5,2,6,3,1],画出该二叉树,并写出前序遍历
参考:https://blog.csdn.net/BigData_Mining/article/details/81076069
树与二叉树的转化
IP地址和子网掩码换算
参考:https://blog.csdn.net/Xuxiuyun0611/article/details/94627468
关于堆的知识
堆是一个完全二叉树。
如果每个节点的值都大于等于左右孩子节点的值,这样的堆叫 大顶堆。
如果每个节点的值都小于等于左右孩子节点的值,这样的堆叫 小顶堆。
切点函数execution()的使用
@Around("execution(* *(..))") : execution()是一个切点函数,* * (..)是该函数的参数,其格式为:
<访问权限>? 返回值类型 包名+类名+方法名(参数类型) <throws 异常类型声明>
@Around("execution(* * (..))") //all
@Around("execution(public * * (..))") //绑定方法的访问权限
@Around("execution(public * * (..) throws RuntimeException)") //绑定异常类型声明
@Around("execution(public * * (..) throws RuntimeException+)") //+代表当前类及其子类
@Around("execution(int * (..))") //绑定方法的返回值
@Around("execution(Object+ * (..))") //绑定方法的返回值
@Around("execution(void save* (..))") //绑定方法名,以save开头的方法
@Around("execution(void *m* (..))") //包含m的方法
@Around("execution(void com.dufy.spring.service.*.* (..))") //绑定包名+类名+方法名
@Around("execution(void com.dufy.spring..*Service*.update* (..))") //包名以com.sxt.spring开头的类名中包含Service的类中所有以update开关的方法
@Around("execution(void *())") //绑定方法的参数
@Around("execution(void *(String))") //绑定方法的参数
@Around("execution(void *(..,String,..))") //只要有一个String类型的参数即可
@Around("args(int,String)")
@Around("execution(* save*(..)) || execution(* update*(..))") //切点运算 (||,or,&&,and)
@Around("execution(* save*(..)) or execution(* update*(..))") //切点运算
spring aop中pointcut表达式完整版
https://www.cnblogs.com/itsoku123/p/10744244.html地址
持续学习中-----------------