- 博客(5)
- 资源 (8)
- 收藏
- 关注
原创 Java注解处理(Annotation Processor):(四) 完结
接着上节的内容,首先谈一下poet的使用。通过上节可以看出,通过Filer生成代码时,使用了字符串方式的拼接与替换来生成Java源码,十分不利于修改与调整,而且比较容易出错,而poet就是解决这个问题的神器。 上节的代码修改后如下:@SupportedSourceVersion(SourceVersion.RELEASE_8)@SupportedAnnot...
2019-05-20 21:41:32 773 2
原创 Java注解处理(Annotation Processor):(三) 代码生成
上节中AutoService利用注解处理生成的Service文件,这次我们主要进行代码生成,分析注解处理过程中代码生成的过程以及Gradle和Maven应如何配置Annotation Processor的支持。@Retention(RetentionPolicy.SOURCE)@Target(ElementType.TYPE)public @interface Hello {...
2019-05-20 00:49:31 8530 7
原创 Java注解处理(Annotation Processor):(二) Google Auto Service
接着上文,今天来分析一下Google Auto Service是如何利用Annotation Processor来帮助实现SPI的。首先看一下auto-service-annotation库,只有一个AutoService注解定义,其value值即为SPI的服务接口类,如下所示:可以看出,其注解仅保留于源码级别,用于编译时Annotation Processor的源码分析,并利用分析结...
2019-05-14 23:19:56 4953 2
原创 Java注解处理(Annotation Processor):(一) 从SPI谈起
最早接触Java Annotation Processor应该还是要数使用ButterKnife、Dagger2了,当时对Java注解的理解和使用还停留在通过运行时的反射机制来进行注解解析(主要还是用来替代恶心的XML配置)。初次接触时确实让人耳目一新,基本上是通过注解处理和代码生成,完成了依赖注入,不仅是在概念上面,而且对于性能资源有限的APP端,让使用依赖注入成为可行的方案;当然...
2019-05-07 23:40:52 1860 2
原创 MySQL数据库缓存
近期公司性能测试时,发现通讯录获取效率较低,主要原因还是数据未进行分页而且数据量过大导致,但是作为一种优化方案,还是提出了开启MySQL查询缓存的方案:1. 在my.cnf中添加如下配置并重启,开启MySQL缓存query_cache_size=256Mquery_cache_limit=10Mquery_cache_type=1query_cache_size...
2019-05-02 00:51:58 5265
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人