V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lianglu
V2EX  ›  程序员

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

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

    各位彦祖们,有什么开源框架值得深入研究,可以提高自己的内功,最好是 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 了吧
    lianglu
        10
    lianglu  
    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
    本来想推荐的,但是看你都不想看,还是回去干尼玛去吧
    lianglu
        20
    lianglu  
    OP
       2021-12-28 17:26:58 +08:00   ❤️ 1
    @zhangchongjie 各抒己见,喷粪好玩吗?
    janus77
        21
    janus77  
       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 ,现在又找不到这个回复了。

    Zhancha
        27
    Zhancha  
       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:26: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   ·   实用小工具   ·   1019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:15 · PVG 03:15 · LAX 11:15 · JFK 14:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.