@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Insert { String[] value();}@Documented@Retention(RetentionPolicy.RUNTIME)@Target(Elem...

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Flush {}看其注释:The maker annotation that invoke a flush statements via Mapper interface....

@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Delete { String[] value(); }@Documented @Retention(RetentionPolicy.RUNTIME) @Targ...

ConstructorArgs类很简单,如下所示,其实源码并不想想象中那么难,很多代码写的很短小的。很多人想写个开源东西,让自己简历更出彩,其实开源并不是很难的。不过,要想写出高质量的开源成品,那就难了,需要足够的阅历。@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType...

Case类用于动态sql生成部分。@Documented @Retention(RetentionPolicy.RUNTIME) @Target({}) public @interface Case { String value(); Class<?> type(); Result[] results() default {...

本文更新日期:2019年10月9日1、CacheNamespaceRef 源码Java里面没有指针,但是Java里面有引用,CacheNamespaceRef就是一个引用。它是谁的引用呢?请看源码注释:A namespace type to reference a cache (the namespace name become a FQCN of s...

本文更新日期:2019年10月5日1、@CacheNamespace的源码分析@CacheNamespace注解主要用于mybatis二级缓存,等同于<cache>属性。默认情况下,MyBatis 3 没有开启二级缓存,要开启二级缓存,需要在SQL 映射文件(mapper.xml)中添加一行:<mapper namespace=&qu...

AutomapConstructor类,有点意思,看其注释:The marker annotation that indicate a constructor for automatic mapping.这就是一个起到注释作用的类,注释的作用大不大,说大也大,没有注释,代码会让人抓狂。这个类没有什么可解释的,贴源码:@Documented @Reten...

Arg类所在的包package org.apache.ibatis.annotations;Arg类源码@Retention(RetentionPolicy.RUNTIME) public @interface Arg { boolean id() default false; String column() default "...

紧接上文,我给大家来个续文,之前没有这个想法,突然感觉有料了,就赶紧来篇续文。看不懂,没有关系。时间会解决一切问题的。在群里有个小伙伴提出一个问题,关于Kafka的,他使用的是python语言发送Kafka消息。问题是这样的:在使用pykafka的生产者的时候,尝试捕获异常,然后有异常的话,就重新实例化KafkaClient,然后再尝试继续生产,然后自...

主线程是从main函数开始的。非主线程,是从run函数开始的。run不要当做是普通的函数,函数是翻译过来的,原文是procedure,意指过程。main的准确描述是entry,而run也应该是entry。区分procedure和entry的区别对理解线程很关键。主线程main是可以接受输入参数的,int main(int argc, char *arg...

站长语:搞web开发的离不开redis,这篇文章写的不错,来源于网络,无论是菜鸟还是面试官都可以看看。Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,看过了无数落寞的身影失望的离开,略感愧疚,故献上此文,希望各位读者以后...

最近看了一下关于锁的内容。感觉很多文章写的不是空洞就是细节繁琐。空洞,说明写的人水平有限;写的繁琐也不见的是好事,也可能说明作者没有吃透,云深不知处。有的作者从java讲到jvm的底层c++实现,翻代码虽不是人人都会,但是会的人也不少,列出源码未必就说明作者能做到云深也知处。我感觉有的作者也许就是在哗众取宠,大段代码贴上去,显示文章的高大上而已,我们读...

Java泛型的通配符上界通配符<? extends T>我们先来看一个例子:class Fruit {} class Apple extends Fruit {}现在我们定义一个盘子类:class Plate<T>{ T item; public Plate(T t){ item=t; }...

Java泛型擦除及其相关内容我们下面看一个例子:Class<?> class1=new ArrayList<String>().getClass(); Class<?> class2=new ArrayList<Integer>().getClass(); System.out.println(class...

编者语:从网上看到这篇文章,格式很好,其文洋洋洒洒写了不少字,然后我就整理了过来。讲泛型最好的地方就在《Java编程思想》,其他人写的文章,可读可不读的。就拿下面这篇文章吧,看看热闹就行了,别当回事,当回事你就输了。研究字节码看起来很高大上,不要被陌生而吓到。泛型是什么一说到泛型,大伙肯定不会陌生,我们代码里面有很多类似这样的语句:List<St...

140 年过去,回顾中关村传奇,依然要从陈春先说起。1978 年,中国物理代表团访问美国,走下飞机悬梯的人当中,就包括中科院物理所核聚变专家陈春先。这一年,他刚在全国科学大会上斩获一等奖,并和陈景润等人一道被破格提拔为中国最年轻的正研究员。人生和国运如果有四季,这都称得上是“春天”。当年,美国在国人眼里还是“腐朽没落、行将崩溃”的帝国主义。但沿着波士顿...

我创造了一门新的学科:认知数学。数学是思维的工具,有了这个利器在手中,对我的学习非常有帮助,能让我快速的学习知识。知识分为获取知识,内化成习惯两大步骤。算下来我学习了很多科目,每年学习上千个知识点,经过长年累月的思考和实践,才算对数学影响思维有真正的认识,最终形成了认知数学。如何最高效的去学习技术?我对这个话题研究挺深,看过很多书,我觉得不应是理论介绍...

1 概述Mybatis插件又称拦截器,Mybatis采用责任链模式,通过动态代理组织多个插件(拦截器),通过这些插件可以改变Mybatis的默认行为(诸如SQL重写之类的),MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, f...

MyBatis 注解( annotation)之前文章介绍了MyBatis的基本用法、关联映射、动态SQL和缓存机制等知识,其所有的配置都是使用XML完成,但是大量的XML配置文件的编写是非常繁琐的,因此MyBatis也提供了更加简便的基于注解( annotation)的配置方式。MyBatis 常用注解本文将重点介绍MyBatis的注解配置,MyBa...