注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信FAQ

环信FAQ

集成常见问题及答案
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
0
评论

我的Android开发之旅(一):BaseActivity的浅入之简单封装 Toolbar BaseActivity

技术精选王二蛋和他的张大花 发表了文章 • 1044 次浏览 • 2021-11-23 10:52 • 来自相关话题

为什么要写BaseAcivity 我们都知道在做Android应用开发的时候都需要创建一个Activity,但很多时候我们的程序有多个界面并且每个界面都有相似的内容(例如:Toolbar、DrawerLayout)和后台的操作有共同的方法,这个时候我们写一个B... ...查看全部
0
评论

Android 包大小优化实践 优化

技术精选王二蛋和他的张大花 发表了文章 • 1090 次浏览 • 2021-11-23 10:50 • 来自相关话题

android减少包大小是非常必要的,在性能,转换率等等都有益处,而常用的包大小优化Google已经给出了一些方案,再加上市面上的一些美团方案,微信方案、抖音方案等等,下面就说一下我们在包大小优化做的努力。 1、使用AAB模式 google play现在强制所... ...查看全部
0
评论

面试官:一千万数据,怎么快速查询? sql

技术精选王二蛋和他的张大花 发表了文章 • 767 次浏览 • 2021-11-22 11:34 • 来自相关话题

前言 面试官: 来说说,一千万的数据,你是怎么查询的?B哥:直接分页查询,使用limit分页。面试官:有实操过吗?B哥:肯定有呀 此刻献上一首《凉凉》 也许有些人没遇过上千万数据量的表,也不清楚查询上千万数据量的时候会发生什么。 今天就来带大家实操一下,这次... ...查看全部
0
评论

Android 基础架构组面试题 | 面试 面试题

技术精选柳天明 发表了文章 • 854 次浏览 • 2021-11-22 11:24 • 来自相关话题

SDK相关面试的时候我觉得哦,这些sdk有任意其实你研究的比较深入就行了,应该能在面试中表现的很好了。还有就是个人建议最好还是在单一方向研究的更深入一点,别的只要大概知道干什么的就行了。配置中心以及灰度测试app必备工具之一,配置中心主要负责的就是动态化的配置... ...查看全部
0
评论

你用过HandlerThread么? Android HandlerThread

技术精选柳天明 发表了文章 • 771 次浏览 • 2021-11-22 11:22 • 来自相关话题

前言我们都用过Handler,也很熟悉怎么使用Handler,肯定也知道Handler使用过程中的注意事项,那就是内存泄漏,也知道大部分内存泄漏都是因为静态变量引用的问题。Handler是一个内部类,非static内部类或者匿名内部类都会持有外部类的引用。如果... ...查看全部
0
评论

android 展示PDF文件 PDF

技术精选王二蛋和他的张大花 发表了文章 • 730 次浏览 • 2021-11-22 11:00 • 来自相关话题

 注:此方式展示pdf文件会增加apk大小3-4m左右 建议使用x5的webview进行加载pdf文件(可扩展) 1. 加入此依赖 implementation 'com.github.barteksc:android-pdf-viewer:3.... ...查看全部
0
评论

进来看看是不是你想要的效果,Android吸顶效果,并有着ViewPager左右切换 ViewPager

技术精选王二蛋和他的张大花 发表了文章 • 700 次浏览 • 2021-11-22 10:57 • 来自相关话题

老规矩,先上图,看看是不是你想要的 美团: 来一个图形分析 接下来我要写一个简单示例,先分析一下布局,见下图,最外层是NestedScrollView,之后嵌套一个LinearLayout头部,中间TabLayout选择器,底部一个ViewPager Vi... ...查看全部
0
评论

图解:什么是AVL树? AVL树

技术精选王二蛋和他的张大花 发表了文章 • 818 次浏览 • 2021-11-19 14:32 • 来自相关话题

引子上一次我给大家介绍了什么是二叉搜索树,但是由于二叉搜索树查询效率的不稳定性,所以很少运用在实际的场景中,所以我们伟大的前人就对二叉搜索树进行了改良,发明了AVL树。AVL树是一种自平衡二叉搜索树,因为AVL树任意节点的左右子树高度差的绝对值不超过1,所以A... ...查看全部
0
评论

恕我直言,我怀疑你并不会用 Java 枚举 枚举

技术精选王二蛋和他的张大花 发表了文章 • 648 次浏览 • 2021-11-19 14:30 • 来自相关话题

开门见山地说吧,enum(枚举)是 Java 1.5 时引入的关键字,它表示一种特殊类型的类,默认继承自 java.lang.Enum。 为了证明这一点,我们来新建一个枚举 PlayerType: public enum PlayerType { TE... ...查看全部
0
评论

程序员如何优雅的挣零花钱? 挣零花钱

技术精选王二蛋和他的张大花 发表了文章 • 711 次浏览 • 2021-11-19 13:44 • 来自相关话题

前言虽然程序员有女朋友的不多(误),但是开销往往都不小。 VPS、域名、Mac上那一堆的收费软件、还有Apple每年更新的那些设备,经常都是肾不够用的节奏。 幸好作为程序员,我们有更多挣钱的姿势。 有同学该嚷了:不就是做私单嘛。 ... ...查看全部
0
评论

协程调度器详解 协程 kotlin

技术精选柳天明 发表了文章 • 959 次浏览 • 2021-11-19 11:29 • 来自相关话题

协程和线程的差异目的差异线程的目的是提高CPU资源使用率, 使多个任务得以并行的运行,是为了服务于机器的.协程的目的是为了让多个任务之间更好的协作,主要体现在代码逻辑上,是为了服务开发者 (能提升资源的利用率, 但并不是原始目的)调度差异线程的调度是系统完成的... ...查看全部
0
评论

Android C++系列:Linux文件IO操作 android NDK

技术精选柳天明 发表了文章 • 846 次浏览 • 2021-11-19 11:25 • 来自相关话题

1.1 read/writeread函数从打开的设备或文件中读取数据。#include ssize_t read(int fd, void *buf, size_t count); //返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调r... ...查看全部
0
评论

Android App 卡顿分析 卡顿

技术精选王二蛋和他的张大花 发表了文章 • 846 次浏览 • 2021-11-18 10:44 • 来自相关话题

Android App 反应卡顿,从技术上将就是UI 渲染慢。 UI渲染是从您的应用程序生成一个框架并将其显示在屏幕上的行为。 为了确保用户与您的应用程序的交互顺利,您的应用程序应该在16ms内渲染帧数达到每秒60帧(为什么60fps?)。 如果您的应用程序因... ...查看全部
0
评论

Android组件化基础 组件化

技术精选王二蛋和他的张大花 发表了文章 • 912 次浏览 • 2021-11-18 10:42 • 来自相关话题

前言 公司包含三大业务线,每条业务线都有独立的app。功能模块难免会有重合~举个栗子,直播功能本来只在业务线A使用,但是由于业务拓展,现在业务线B和C也需要使用直播功能。这时候就有必要将直播功能做成一个独立的直播组件供三条业务线使用。 构思 既然要将直播做成组... ...查看全部
0
评论

Android加载长图方案 长图

技术精选王二蛋和他的张大花 发表了文章 • 792 次浏览 • 2021-11-18 10:37 • 来自相关话题

背景介绍 在某些特定场景下,我们需要考虑加载长图的需求,比如加载一幅《清明上河图》,这个好像有点过分了,那就加载1/2的《清明上河图》吧... 那TMD还不是一样道理。 言归正传说一下我这边遇到的情况,之前有图片或大图的模块是划分为H5来实现的,现在需求变更划... ...查看全部
0
评论

Android自定义view,实现电子签名 自定义View

技术精选柳天明 发表了文章 • 791 次浏览 • 2021-11-16 15:27 • 来自相关话题

首先new一个类继承于Viewpublic class SignatureView extends View 自定义view,采用画笔绘制一张图片 定义一个画笔滑动的宽度 还需要对画笔进行跟踪,以便内容区域可以容纳笔划private static final... ...查看全部
0
评论

滴滴DoKit For Flutter正式开源,还是熟悉的"配方" DoKit

技术精选王二蛋和他的张大花 发表了文章 • 851 次浏览 • 2021-11-16 10:51 • 来自相关话题

社区的小伙伴们,大家好啊,艰难的2020已经过去,随着2021的到来,在新的一年里希望大家都能够需求不变更、准点上下班、代码0 Bug。同时我们DoKit团队也给大家准备了一份特殊的“新年礼物”,没错它就是DoKit For Flutter,它来啦,它带着熟悉... ...查看全部
0
评论

什么?你还不会用位运算来操作状态? 位运算

技术精选王二蛋和他的张大花 发表了文章 • 673 次浏览 • 2021-11-16 10:47 • 来自相关话题

回顾首先来回顾一下位运算,什么是位运算呢?位运算就是直接对整数在内存中的二进制位进行操作。在 Java 语言中,位运算有如下这些:左移(<<)。右移(>>)。无符号右移(>>>)。与(&)。或(|)。非(~)。... ...查看全部
0
评论

Android 多渠道打包看这一篇就够了 多渠道

技术精选王二蛋和他的张大花 发表了文章 • 1340 次浏览 • 2021-11-16 10:34 • 来自相关话题

Android 多渠道打包看这一篇就够了 本文三个流程 一、多渠道配置 1、多渠道配置 2、不同渠道不同签名配置 3、不同渠道不同资源文件配置 4、不同渠道不同依赖配置 二、注意事项 三、打包 1、命令行打包 2、IDE 打包 多渠道配置(2 种方式) 1、可... ...查看全部
0
评论

如何优雅的在java中统计代码块耗时 代码耗时

技术精选王二蛋和他的张大花 发表了文章 • 690 次浏览 • 2021-11-15 15:02 • 来自相关话题

在我们的实际开发中,多多少少会遇到统计一段代码片段的耗时的情况,我们一般的写法如下 long start = System.currentTimeMillis(); try { // .... 具体的代码段 } finally { System... ...查看全部
0
评论

Flutter -项目架构篇 架构

技术精选王二蛋和他的张大花 发表了文章 • 1024 次浏览 • 2021-11-15 14:56 • 来自相关话题

介绍 多姿的青春,迷茫的青春,懵懂的青春,落泪的青春,责任的青春,青春的婀娜,青春的美妙全部撒播在了沿途的风景之中,迷茫,酸楚,欢声笑语在记忆的天空中承载着梦想而飞翔,青春才成了心中的永恒 本文带你一步一步搭建flutter项目架构,方便你项目直接集成使用... ...查看全部
0
评论

关于Android架构,你是否还在生搬硬套? 架构

技术精选王二蛋和他的张大花 发表了文章 • 655 次浏览 • 2021-11-15 14:18 • 来自相关话题

前言 关于Android架构,可能在很多人心里一直都是虚无缥缈的存在,似懂非懂、为了用而用、处处生搬硬套,这种情况使用的意义真的很有限。本人有多个项目重构的经验,恰好对设计领域较为感兴趣,今天我将毫无保留的将自己对架构、设计的理解分享给大家。 本文不会具体去讲... ...查看全部
0
评论

Dart中async和async*有什么区别? Dart async

技术精选王二蛋和他的张大花 发表了文章 • 738 次浏览 • 2021-11-12 14:39 • 来自相关话题

水文我在行 在Dart中两个关键字,长得很像async和async*,可能还有的朋友还不知道他们两个有什么区别。现在简单介绍一下。 简单答案 简单回答这个问题就是: async返回Future. async*返回Stream. async async不必多... ...查看全部
0
评论

Flutter + Rust 高性能的跨端尝试 Flutter Rust

技术精选王二蛋和他的张大花 发表了文章 • 2072 次浏览 • 2021-11-12 14:37 • 来自相关话题

稍作配置,同一份代码横跨 Android & IOS,相比于 React Native 方案更加高性能。除此之外,得益于 Rust 跨平台加持,Rust 部分的代码可在种种场合复用。 这篇文章旨在记录作者尝试结合 Rust 和 Flutter 的过程,... ...查看全部
0
评论

起初Jetpack Navigation把我逼疯了,可是后来真香 jetpack Navigation

技术精选王二蛋和他的张大花 发表了文章 • 1438 次浏览 • 2021-11-12 14:33 • 来自相关话题

1. Navigation到底该如何正确的使用 相信大家对 Navigation都有所耳闻,我不细说怎么用了,官方的讲解也很详细。我是想说一下到底该如何更好的使用这个组件。 这个组件其实是需要配合官方的MVVM架构使用的,ViewModel+LiveData结... ...查看全部
0
评论

(转载)5G、元宇宙和被重新定义的社交出海 元宇宙

技术精选柳天明 发表了文章 • 753 次浏览 • 2021-11-11 11:30 • 来自相关话题

【融云全球互联网通信云】[疫情突发,人们的社交生活被重新定义。熬过“孤独”的后疫情时代,海外市场线上社交需求不断增长,社交玩法与场景也逐渐多元。](WICC 2021 全球互联网通信云大会-广州站 预约报名-融云活动-活动行 (huodongxing.com)... ...查看全部
0
评论

Flutter 基础 | Dart 语法 Dart

技术精选王二蛋和他的张大花 发表了文章 • 834 次浏览 • 2021-11-10 10:03 • 来自相关话题

该系列记录了从零开始学习 Flutter 的学习路径,第一站就是 Dart 语法。本文可以扫除看 Flutter 教程,写 Flutter 代码中和语言有关的绝大部分障碍。值得收藏~声明并初始化变量int i = 1; // 非空类型必须被初始化 int? k... ...查看全部
0
评论

原来我一直在错误的使用 setState()? setState

技术精选王二蛋和他的张大花 发表了文章 • 1063 次浏览 • 2021-11-10 09:59 • 来自相关话题

导语 任何前端系统与用户关系最密切的部分就是UI。一个按钮,一个标签,都是通过对应的UI元素展示与交互。初学时,我们往往只关注如何使用。但如果只知道如何使用,遇到问题我们很难找到解决的办法和思路,也无法针对一些特定场景进行优化。本期针对Flutter的UI系统... ...查看全部
0
评论

Flutter 毁了客户端和 Web 开发! Flutter

技术精选王二蛋和他的张大花 发表了文章 • 659 次浏览 • 2021-11-10 09:56 • 来自相关话题

Google 重磅发布了专为 Web、移动和桌面而构建的 Flutter 2.0!将 Flutter 从移动开发框架扩展成可移植框架,因而开发者无需重写代码即可将应用扩展至桌面或网页。看似为了帮助Web和移动开发者,实际上不然,而本文作者认为,现在不应该再去想... ...查看全部
0
评论

n皇后问题 算法

技术精选王二蛋和他的张大花 发表了文章 • 637 次浏览 • 2021-11-09 10:02 • 来自相关话题

在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 典型的回溯法问题 思路: 尝试性的放置 ,从第一行开始,接着在下一行放置,(这里的好处就是不需要考虑行了,只需要考虑列和对角线) 一直纠... ...查看全部
0
评论

还在用Swagger?试试这款零注解侵入的API文档生成工具,跟Postman绝配! postman

技术精选王二蛋和他的张大花 发表了文章 • 825 次浏览 • 2021-11-09 09:59 • 来自相关话题

前后端接口联调需要API文档,我们经常会使用工具来生成。之前经常使用Swagger来生成,最近发现一款好用的API文档生成工具smart-doc, 它有着很多Swagger不具备的特点,推荐给大家。 SpringBoot实战电商项目mall(50k+star... ...查看全部
0
评论

你的列表很卡?这4个优化能让你的列表丝般顺滑 优化

技术精选王二蛋和他的张大花 发表了文章 • 752 次浏览 • 2021-11-09 09:57 • 来自相关话题

前言 列表 ListView 是应用中最为常见得组件,而列表往往也会承载很多元素,当元素多,尤其是那种图片文件比较大的场合,就可能会导致列表卡顿,严重的时候可能导致应用崩溃。本篇来介绍如何优化列表。 优化点1:使用 builder构建列表 当你的列表元素是动态... ...查看全部
0
评论

Handler 源码分析 handler Android

技术精选柳天明 发表了文章 • 719 次浏览 • 2021-11-08 15:02 • 来自相关话题

一、ThreadLocal是什么ThreadLocal 是线程的局部变量, 是每一个线程所单独持有的,其他线程不能对其进行访问,ThreadLocal可以让每个线程拥有一个属于自己的变量的副本,不会和其他线程的变量副本冲突,实现了线程的数据隔离。每个线程都有一... ...查看全部
0
评论

Android基础-LRU缓存策略 Android 缓存

技术精选柳天明 发表了文章 • 843 次浏览 • 2021-11-08 15:00 • 来自相关话题

前言缓存策略在Android开发是比较常见的,尤其是在图片使用业务场景中缓存策略发挥重要作用。对于移动应用常用UI就是图片组件而且图片显示资源常常来自网络,因此为了更快的图片加载和减省流量就需要使用缓存策略实现一个完备的图片加载框架。图片加载库的基本逻辑如下:... ...查看全部
0
评论

提高app的响应能力-布局优化 性能优化 Android

技术精选柳天明 发表了文章 • 711 次浏览 • 2021-11-08 14:58 • 来自相关话题

提高app的响应能力-布局优化在刚开始开发安卓的时候,应用无响应(ANR)是很常见的,随着安卓手机的性能和编程能力的提高,现在不会遇到这样低级别的错误了,这篇文档分享如何提高应用程序的响应能力。前言应用响应能力意为用户操作时的速度,也就是让使用者感觉到轻、快、... ...查看全部
0
评论

SharedFlowBus:30行代码实现消息总线你确定不看吗 kotlin

技术精选柳天明 发表了文章 • 1028 次浏览 • 2021-11-08 14:56 • 来自相关话题

前言最近看到很多关于livedata和flow的文章,大家都在学那我肯定不能落后。便去学习一番,偶得SharedFlowBus(卷死你们)。那么正式开始前我们先大概了解下 StateFlow 和 SharedFlowStateFl... ...查看全部
0
评论

面试官:你给我说一下线程池里面的几把锁。 线程池

技术精选王二蛋和他的张大花 发表了文章 • 647 次浏览 • 2021-11-08 10:04 • 来自相关话题

你好呀,我是歪歪。 最近有个读者给我说,面试聊到线程池的时候,相谈甚欢,基本都回答上来了,但是其中有一个问题直接把他干懵逼了。 面试官问他:你说一下线程池里面的锁吧。 结果他关于线程池的知识点其实都是在各个博客或者面经里面看到的,没有自己去翻阅过源码,也就根本... ...查看全部
0
评论

还在频繁定义常量?不试试用枚举代替 枚举

技术精选王二蛋和他的张大花 发表了文章 • 645 次浏览 • 2021-11-08 09:58 • 来自相关话题

1、简介 不知道大家有没有在自己项目中看到过类似下面这样的代码: public static void fruitsHandle(String fruits) { switch (fruits) { case "Apple": ... ...查看全部
0
评论

解决 Flutter 嵌套过深,是选择函数还是自定义类组件? Flutter

技术精选王二蛋和他的张大花 发表了文章 • 657 次浏览 • 2021-11-08 09:55 • 来自相关话题

前言 初学 Flutter 的时候,一个很大的感受就是组件嵌套层级很深,写下来的代码找对应的括号都找不到。比如下面这种情况,从最外层的 Scaffold 到最里层的 Image.asset,一共有7层组件嵌套。这还不算多的,最夸张是见过一个表单页面写了10多层... ...查看全部
0
评论

可折叠式标题栏 toolbar

技术精选柳天明 发表了文章 • 692 次浏览 • 2021-11-05 11:53 • 来自相关话题

CollapsingToolbarLayout顾名思义,这是一个作用在Toolbar上的布局,但是要注意的是CollapsingToolbarLayout不能单独存在,它必须要作为AppBarLayout的直接子布局来使用,而AppBarLayout又必须是C... ...查看全部
0
评论

基础巩固——多线程 多线程

技术精选柳天明 发表了文章 • 754 次浏览 • 2021-11-05 11:49 • 来自相关话题

多线程编程Android沿用了Java的线程模型,一个Android应用在创建时会开启一个线程,常称作主线程,也叫做UI线程,如果有请求网络等耗时操作时,就需要开启子线程去处理。因此,此文对多线程进行梳理总结线程基础1. 进程与线程这两个的区分在我的另一篇文章... ...查看全部
0
评论

使用DialogFragment代替Dialog dialog Android

技术精选柳天明 发表了文章 • 1292 次浏览 • 2021-11-05 11:46 • 来自相关话题

使用DialogFragment代替Dialog是这样,用了很久的一个Dialog工具类,结果今天发现了一个bug,尝试着搜索发现大家都已经用DialogFragment了,官方也推荐这么做,猛然醒悟原来自己已经过时这么久了。现在就来试试吧。DialogFra... ...查看全部
0
评论

栈的实现

技术精选王二蛋和他的张大花 发表了文章 • 746 次浏览 • 2021-11-05 11:39 • 来自相关话题

一、栈 💦 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出LIFO (Last In First Out) 的原则;同时对于栈来说,一种入栈顺序对... ...查看全部
0
评论

一篇文章了解Java之网络编程 网络编程

技术精选王二蛋和他的张大花 发表了文章 • 684 次浏览 • 2021-11-05 11:38 • 来自相关话题

一、网络基础知识 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。 计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议。 IP地址:具有全球唯一性,... ...查看全部
0
评论

熬夜再战Android-Button实现selector选择器 selector

技术精选王二蛋和他的张大花 发表了文章 • 1014 次浏览 • 2021-11-05 11:36 • 来自相关话题

前提 这是小空熬夜写的Android新手向系列,欢迎品尝。 selector是按钮最常用的功能,对美化控件的作用很大。 上节我们说了selector和shape联合使用,但偏向shape的介绍,今天主要说selector。 👉实践过程 我们先按照上一节的sha... ...查看全部
0
评论

View 事件分发机制详解 事件分发

技术精选王二蛋和他的张大花 发表了文章 • 669 次浏览 • 2021-11-05 11:32 • 来自相关话题

View事件传递过程先从Activity-->Window-->View。public boolean dispatchTouchEvent(MotionEvent ev) { boolean consume = false; ... ...查看全部
0
评论

学习笔记-Retrofit源码解析 源码解析 retrofit

技术精选柳天明 发表了文章 • 660 次浏览 • 2021-11-04 13:57 • 来自相关话题

挖掘Retrofit:2.8.0源码。介绍Retrofit如何完成对OkHttp的封装,以及Retrofit如何支持的协程。1. BuilderRetrofit通过Retrofit.Builder创建,主要是配置各种工厂Factory。val retrofit... ...查看全部
0
评论

大厂Android高频问题:谈谈Activity的启动模式? 启动模式 Android

技术精选柳天明 发表了文章 • 829 次浏览 • 2021-11-04 13:54 • 来自相关话题

前言Activity可以说是Android开发面试高频的一道问题,但总有小伙伴在回答这道问题总不能让面试满意, 在这你就要搞清楚面试问你对Activity启动模式时,他最想听到的和其实想问的应该是哪些?下面我们通过以下几点来剖析这道问题!启动模式是什... ...查看全部
0
评论

当我们讨论Android重建机制时在讨论什么? Android

技术精选柳天明 发表了文章 • 1416 次浏览 • 2021-11-04 13:52 • 来自相关话题

前言Android应用有一个常常被忽略的问题,但问题出现时你又不得不面对。比如Activity横竖屏转换时Fragment重影应用长时间处于后台,并用户重新切到前台时,Activity显示异样或者需要等待一段时间才能显示内容这类问题都与Activity的恢复重... ...查看全部
0
评论

Room & Kotlin 符号的处理 kotlin Room

技术精选柳天明 发表了文章 • 688 次浏览 • 2021-11-04 13:47 • 来自相关话题

Jetpack Room 库在 SQLite 上提供了一个抽象层,能够在没有任何样板代码的情况下,提供编译时验证 SQL 查询的能力。它通过处理代码注解和生成 Java 源代码的方式,实现上述行为。 注解处理器非常强大,但它们会增加构建时间。这对于用 Java... ...查看全部