- 博客(6)
- 资源 (10)
- 收藏
- 关注
原创 Gradle学习(三)
自定义gradle插件因为gradle插件是在编译过程中生效, 不用修改代码就能实现很多功能, 几乎每个app都使用了gradle插件。最近一直在深挖Android Gradle的学习,发现其实所谓的Android Gradle也不过就是一个gradle插件,所以如果能学好gradle的开发,我们就可以利用Gradle为我们做很多事,比如干预Android的打包,打出我们想要地apk或者jar,...
2019-03-18 18:20:05 218
原创 Java反射
       要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息;另一种是反射机制,它允许我们在运行时发现和使用类的信息。RTTI与反射的区别和联系如何获得一个类的Class对象?分为两种情况:一:如果该类在编译前就已知。也就是该类在c...
2019-03-12 15:24:09 91
原创 编译时动态生成代码技术之javapoet(四)
先说几个核心类MethodSpec定义方法TypeSpec定义类丶接口丶抽象类丶枚举JavaFile定义一个输出java文件MethodSpec介绍MethodSpec main = MethodSpec.methodBuilder(“main”)//定义方面名.addModifiers(Modifier.PUBLIC, Modifier.STATIC)//定义修饰符.return...
2019-03-05 19:08:17 1277
原创 编译时动态生成代码技术之java注解(一)
什么是注解?从JDK5开始,Java增加了注解,注解是代理里特殊的标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用注解,开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。代码分析工具,开发工具和部署工具可以通过这些补充信息进行验证,处理或者进行部署。注解的分类(1)标注注解@Overrride:对覆盖超类中的方法进行标记,如果被标记的方 法并没有实...
2019-03-04 22:38:54 1586
原创 编译时动态生成代码技术之注解处理器(三)
概念注解处理器(Annotation Processor)是javac内置的一个用于编译时扫描和处理注解(Annotation)的工具。在源代码编译阶段,通过注解处理器,我们可以获取源文件内注解(Annotation)相关内容。APT(Annotation Process Tool),是一种在代码编译时处理注解,按照一定的规则,生成相应的java文件,多用于对自定义注解的处理,对运行时的性能影...
2019-03-04 16:55:53 766
原创 编译时动态生成代码技术之Element详解(二)
基本介绍element指的是一系列与之相关的接口集合,用于建模java编程语言元素的接口,它们位于javax.lang.model.element包下面element是代表程序的一个元素,这个元素可以是:包、类/接口、属性变量、方法/方法形参、泛型参数。element是java-apt(编译时注解处理器)技术的基础,因此如果要编写此类框架,熟悉element是必须的。Element及其子接...
2019-03-01 17:58:12 2352
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人