Java 程序员进来回答一下

2020-03-13 18:24:09 +08:00
 purensong

做 java 的一般都用过 lombok,而对 lombok 的原理想必知道的也清楚是通过 javac API 实现。我想知道还有什么类似的开源工具会用到 javac API,编译的时候去做的事,什么样的项目会有涉及,想深入学习一下。 至少我开发这些年还没深入研究过编译 ,语法解析,感觉挺神秘的。因为单靠一个注解就帮你在编译的时候塞进了很多代码。

2827 次点击
所在节点    程序员
24 条回复
zhuawadao
2020-03-13 18:35:15 +08:00
我寻思你这也都是陈述句啊。
wysnylc
2020-03-13 18:39:01 +08:00
抱歉,没用过 lombok
luckylo
2020-03-13 18:43:28 +08:00
map struct 貌似是这么写的吧
bbao
2020-03-13 18:44:47 +08:00
抱歉,都没听过 lombok,不知道是啥
guili618
2020-03-13 18:45:06 +08:00
建议你看下这个帖子 https://www.iteye.com/topic/517796,你就明白大神是怎么干的了,
这位哥们后来去了淘宝开发 TDDL,后来离职自己出来一个人写了个数据库
luckylo
2020-03-13 18:45:58 +08:00
@luckylo 我貌似
luckylo
2020-03-13 18:46:07 +08:00
@luckylo 弄错了
Jooooooooo
2020-03-13 18:46:18 +08:00
不如直接深入学习 java 虚拟机
guili618
2020-03-13 18:46:30 +08:00
https://www.iteye.com/topic/517796

我佛了,V2 咋连编辑都不让……
hdbzsgm
2020-03-13 18:49:47 +08:00
有些人的 ide 可以自动生成 getter setter 什么的 lombok 没处用
Cbdy
2020-03-13 18:52:34 +08:00
举几个例子
静态代码分析,如:findbugs、spotbugs
编译期依赖注入,如:dagger
代码生成工具,如:vertx-codegen
shenlanAZ
2020-03-13 18:52:56 +08:00
cglib 动态代理可以研究一下
beidounanxizi
2020-03-13 19:02:31 +08:00
这玩意 没啥好研究的 不得不说 反射 被某些脑残 Java 开发拿来作为技术现象很普遍一直是我最讨厌 Java 的点,
chashao
2020-03-13 19:03:20 +08:00
我 c#程序员进来看看
guyeu
2020-03-13 19:26:06 +08:00
annotation processor 用得很广泛了,lombok 实际上也是 hack 了一些东西。。类似功能的还有 Autovalue 之类一大堆工具( java 程序员为了少写代码做了很多工作)。。

仅仅是用到 javac 的 api 的话,阿里的 arthas 基本上算是个百科全书了。。
find
2020-03-13 20:54:22 +08:00
这个 是 JSR 269 规范里面 plugin annotate process api,我觉得楼主不适合做程序员,这么简单的事情 关键查找一下就知道了,需要在这里问?
chendy
2020-03-13 22:41:13 +08:00
直接搜 annotation processor 就是了
fantastM
2020-03-14 10:26:18 +08:00
purensong
2020-03-16 09:35:39 +08:00
@find 嗯嗯,多谢提醒,我有点不爱看文献,想过来和 v 友聊几句,没想到秀智商了。。
purensong
2020-03-16 09:38:17 +08:00
@zhuawadao 不是啊,我第二句不是问 我想知道...,我表达的不够好吧,其实就是过来问问大家有没有类似的开源代码可以学习,发散一下自己的思维,忘了提阿里的阿尔萨斯,罪过罪过。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/652577

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX