Java 有什么开源框架值得深入研究? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
chambered
V2EX    程序员

Java 有什么开源框架值得深入研究?

  •  
  •   chambered 2021-12-28 15:51:37 +08:00 6878 次点击
    这是一个创建于 1384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位彦祖们,有什么开源框架值得深入研究,可以提高自己的内功,最好是 Java 语言写的。

    首先排除下面几个:

    • Spring 全家桶:虽然很吊,但是离开 java 啥也不是
    • ZooKeeper:怀疑写源码的是面向过程的程序员写的,架构有点乱
    • Dubbo:大杂烩,感觉像是业务代码堆砌的
    • 配置中心&定时任务&限流框架:不感兴趣
    • Kafka:要是 Java 写的就好了
    • MyBatis:已经学过了

    还有,数据库存储有哪些是 Java 写的? Redis 和 MySQL 一些概念和原理我也能明白,但是嘛看 C 源码就让人退却。

    44 条回复    2021-12-29 17:58:33 +08:00
    mineralsalt
        1
    mineralsalt  
       2021-12-28 15:57:31 +08:00   26
    你让我很懵逼, 标题是 Java 有什么值得深入研究的框架, 又说 Spring 离开 Java 啥也是不是, 干脆别研究了, 离开电脑, 你也啥也不是
    xiao109
        2
    xiao109  
       2021-12-28 16:00:13 +08:00   8
    你都这么牛了还研究什么开源框架
    Leviathann
        3
    Leviathann  
       2021-12-28 16:01:35 +08:00 via iPhone
    那就 netty 咯
    YUyu101
        4
    YUyu101  
       2021-12-28 16:04:42 +08:00
    h2,hsql,lucene ,都是 java 写的
    clf
        5
    clf  
       2021-12-28 16:06:36 +08:00
    Spring 为啥不值得研究,你要研究的框架的设计模式和思想,所有的主流框架都是有自己核心的设计在里面的,而这些设计就决定了它的特点……大概这就是买椟还珠吧。

    Java 数据库 H2 ,github 项目名称 h2database
    git00ll
        6
    git00ll  
       2021-12-28 16:06:39 +08:00
    netty
    project.reactor
    openFeign
    spring gateway
    vertx
    hmellochan
        7
    hmellochan  
       2021-12-28 16:06:49 +08:00
    首推 netty 、tomcat 一起看
    Konys
        8
    Konys  
       2021-12-28 16:07:27 +08:00
    可以看看 netty 的源码
    ysn2233
        9
    ysn2233  
       2021-12-28 16:09:06 +08:00
    kafka 新版本应该大部分都是 java 了吧
    chambered
        10
    chambered  
    OP
       2021-12-28 16:11:21 +08:00
    @mineralsalt 可能表述有误,写了三年的业务代码都是围绕着 Spring 全家桶,能从中学习到的只是扩展点和设计模式,感觉对自己的提升微乎甚微
    chocotan
        11
    chocotan  
       2021-12-28 16:16:46 +08:00
    rxjava
    retrofit
    vertx
    zuul
    caffeine
    git00ll
        12
    git00ll  
       2021-12-28 16:21:51 +08:00
    jackson 也值得看
    morty0
        13
    morty0  
       2021-12-28 16:29:10 +08:00
    log4j
    monkeyWie
        14
    monkeyWie  
       2021-12-28 16:29:56 +08:00
    netty 必修
    Jooooooooo
        15
    Jooooooooo  
       2021-12-28 16:30:57 +08:00   1
    spring 够学一辈子了, 不至于让人看不起.
    RobberPhex
        16
    RobberPhex  
       2021-12-28 16:43:53 +08:00
    project loom 、graalvm 、netty 也可以看。再接下来就是 JLS 和 JVMS 了。
    dddd1919
        17
    dddd1919  
       2021-12-28 16:49:56 +08:00
    Spring 全家桶:虽然很吊,但是离开 java 啥也不是
    Kafka:要是 Java 写的就好了
    LonelyMan0108
        18
    LonelyMan0108  
       2021-12-28 16:55:54 +08:00
    zhangchongjie
        19
    zhangchongjie  
       2021-12-28 17:22:11 +08:00   1
    本来想推荐的,但是看你都不想看,还是回去干尼玛去吧
    chambered
        20
    chambered  
    OP
       2021-12-28 17:26:58 +08:00   1
    @zhangchongjie 各抒己见,喷粪好玩吗?
    rb6221
        21
    rb6221  
       2021-12-28 17:55:08 +08:00   1
    AOSP 源码
    az467
        22
    az467  
       2021-12-28 18:00:13 +08:00
    不会大家都是 spring 程序员吧 不会吧不会吧
    littlewing
        23
    littlewing  
       2021-12-28 18:19:02 +08:00
    netty
    disruptor
    lzrainchen
        24
    lzrainchen  
       2021-12-28 18:19:50 +08:00
    那你可以多看看 Java 的各种规范,比如 Servlet 规范,Java EE 的规范,JAX-RS 规范,JPA 规范,再深点 JVM 规范(太杀时间)前一段 Log4j2 使用 JNDI 出问题的 JNDI 规范。这些看看适不适合你的胃口。技术还是得看到个发展过程,看看以往再看看以后好像没什么变化,但似乎又不同了
    ipwx
        25
    ipwx  
       2021-12-28 18:37:26 +08:00   2
    @lianglu

    虚假的内功:操作系统原理、计算机组成原理、数据库原理、算法和数据结构。
    真正的内功:开源框架的具体实现。

    这个世界我果然不太懂
    codingbody
        26
    codingbody  
       2021-12-28 18:44:01 +08:00
    我刚才记得在这里看见一个老哥回复 使用 rust 实现一下 jvm ,现在又找不到这个回复了。

    JWilling
        27
    JWilling  
       2021-12-28 18:51:42 +08:00
    直接 awesome java
    p2pCoder
        28
    p2pCoder  
       2021-12-28 18:54:48 +08:00
    大数据生态那一套
    hsksg
        29
    hsksg  
       2021-12-28 19:00:22 +08:00   1
    是自大、自负 还是狂妄,真是浮躁的世界
    hpeng
        30
    hpeng  
       2021-12-28 19:13:20 +08:00 via iPhone   1
    mybatis 既然学过了,那么就把不好用的点改一改啊,光看有什么用,看看别人 mybatis plus 怎么扩展的,自己也改改看。给你写你会不会,代码字母都认识,让自己写全瞎的可不算学过。
    fcxxzux
        31
    fcxxzux  
       2021-12-28 19:16:09 +08:00
    Java 写的数据库? Cassandra
    HENQIGUAI
        32
    HENQIGUAI  
       2021-12-28 19:30:07 +08:00
    @codingbody 是我,相逢即是缘,感谢推荐,哈哈哈哈
    duduaba
        33
    duduaba  
       2021-12-28 19:48:18 +08:00
    使用 java 开发一门语言,然后抛弃 java 。。。
    newmlp
        34
    newmlp  
       2021-12-28 20:05:33 +08:00
    android
    hello2090
        35
    hello2090  
       2021-12-28 20:49:32 +08:00   1
    所以楼主要找的是一个 java 写的,但是离了 java 也还是很牛逼的框架?
    silerLee
        36
    silerLee  
       2021-12-28 21:06:10 +08:00
    没人说 JDK 吗.千锤百炼的东西 最能提升内功了.我每次看 jdk 都会看看作者 ...比如 道格李
    xiaowangge
        37
    xiaowangge  
       2021-12-28 21:19:50 +08:00 via iPhone
    Netty
    Vert.x
    godleon
        38
    godleon  
       2021-12-29 09:08:10 +08:00
    Spring 全家桶:虽然很吊,但是离开 java 啥也不是
    Kafka:要是 Java 写的就好了

    楼主可能是想找一个 java 代码编写,但不依赖 java 环境的开源 java 项目...
    hello2090
        39
    hello2090  
       2021-12-29 09:48:14 +08:00 via iPhone
    @silerLee 但是 JDK 离了 Java 啥都不是啊,楼主不要这种的
    zoharSoul
        40
    zoharSoul  
       2021-12-29 10:07:40 +08:00
    rxjava
    retrofit
    vertx
    watcher
        41
    watcher  
       2021-12-29 14:2:46 +08:00
    jdk
    Saxton
        42
    Saxton  
       2021-12-29 15:08:03 +08:00
    "Spring 全家桶:虽然很吊,但是离开 java 啥也不是"

    你这个回答就好像 你爸是你生的一样
    ccppgo
        43
    ccppgo  
       2021-12-29 17:43:59 +08:00
    @hello2090 AspectJ 是不是符合需求?
    windyboy
        44
    windyboy  
       2021-12-29 17:58:33 +08:00
    spring 其实很多都是整合其他,私货并不多
    类似的我喜欢 micronaut
    还有 quakus
    还有 micro profile 标准下的一堆
    oracle 好像也出了 micro profile 的,叫 helidon ,乍看还可以
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2744 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 08:37 PVG 16:37 LAX 01:37 JFK 04:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86