阿里巴巴技术专家之作,吊打面试官系列!
美团一面:1、ConcurrentHashMap实现原理2、HashMap实现原理3、锁的实现原理4、synchronized和重入所实现原理以及区别5、一个char数组,里面有空格,以&结束。6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。7、内存溢出的场景8、设计模式,以及自己使用的场景。9、Sping的AOP实现原
Stella981 Stella981
3年前
Mybatis工作原理
引言在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹(参考:《MyBatis————基础知识》)。本片博客针对Mybatis内部工作原理进行阐述。一、Mybatis工作原理图mybatis原理图如下所示:二、工作原理解析mybatis应用程序通过SqlSessionFactoryBuilder从myb
Easter79 Easter79
3年前
Spring中的AOP(三)——基于Annotation的配置方式(一)
    AspectJ允许使用注解用于定义切面、切入点和增强处理,而Spring框架则可以识别并根据这些注解来生成AOP代理。Spring只是使用了和AspectJ5一样的注解,但并没有使用AspectJ的编译器或者织入器,底层依然使用SpringAOP来实现,依然是在运行时动态生成AOP代理,因此不需要增加额外的编译,也不需要AspectJ的织入器支持。
Easter79 Easter79
3年前
Spring中的AOP(七)——基于XML配置文件方式的AOP
  除了前面介绍的基于JDK1.5的注解方式来定义切面,切入点和增强处理外,SpringAOP也允许直接使用XML配置文件来管理它们。在JDK1.5之前,只能使用配置文件的方式来管理,在Spring2.X后提供了一个新的aop命名空间来定义切面、切入点和增强处理。相比之下,使用XML配置文件方式有如下优点:如果没有使用JDK1.5以上
Stella981 Stella981
3年前
Spring 2.0 的AOP介绍及其通知类型
Spring2.0的AOP在Spring2.0中最激动人心的增强之一是关于SpringAOP,它变得更加便于使用而且更加强大,主要是通过复杂而成熟的AspectJ语言的支持功能来实现,而同时保留纯的基于代理的Java运行时。Spring2.0的AOP提供给我们一种新的思考程序结构的方法,能够解决很多纯OOP无法解决的问题——让我们能够在
Stella981 Stella981
3年前
Spring AOP 实现
AOP(AspectOrientProgramming),我们一般称为面向切面编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务、日志、缓存、分布式锁等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以SpringAOP为代表。Spr
Stella981 Stella981
3年前
Spring AOP 两种代理 Cglib、JDK
概念AOP:AOP是OOP(面向对象编程)的一种延续,OOP中继承的思想主要是提高代码的重用率,但是继承不能同个类在多个方法的相同位置出现的相同代码的问题JDK动态代理:AOP的一种实现,仅支持实现了接口的类。性能较好Cglib:AOP的一种实现,支持实现了接口的类和没有实现接口的类。对比JDK动态代理性能较差SpringAOP:结
Stella981 Stella981
3年前
GDB原理之ptrace实现原理
在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB的使用方式,而是大概介绍GDB的实现原理,当然GDB是一个庞大而复杂的项目,不可能只通过一篇文章就能解释清楚,所以
ceph数据重构原理
ceph数据重构原理