感觉前端自学后端是不是还是从 Java 开始学比较好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
guin
V2EX    程序员

感觉前端自学后端是不是还是从 Java 开始学比较好?

  •  
  •   guin 4 天前 3667 次点击

    逛了一圈各种课程的相关网站感觉还是 java 的课体系全,实战多,看了下慕课等网站也就 java 的课程涵盖的多 深度比较广,各种类型的什么直播平台、充电桩、AI 、网约车,从基础到微服务,物联网,高并发什么类型的课都有,后端最重要的除了基础是不是就是积累业务能力?如果学其他语言的话感觉业务实战不足 没那么多类型的实战课可以学,除非进公司,大家的意见呢?

    37 条回复    2025-10-09 17:51:00 +08:00
    KMpAn8Obw1QhPoEP
        1
    KMpAn8Obw1QhPoEP  
       3 天前 via Android
    前端学后端第一选择难道不是 Node…
    daodao
        2
    daodao  
       3 天前
    python 或者 node
    annilq
        3
    annilq  
       3 天前
    我现在觉得倒是数据库设计之类的,语言倒是没那么麻烦
    duzhuo
        4
    duzhuo  
       3 天前
    @annilq 赞美 ai
    yl20181003
        5
    yl20181003  
       3 天前
    Java 入场慢得很,生态比较庞大,不过 Java 是个好选择。
    guin
        6
    guin  
    OP
       3 天前
    @annilq 我也是这么觉得,就是基础之后的一些实战教程、一些业务知识的教学,快速积累后端业务经验什么的,其他语言感觉自学的话有点少
    xyooyx
        7
    xyooyx  
       3 天前
    建议从要实现的场景入手
    yuntun
        8
    yuntun  
       3 天前
    1. 得先看你所在的城市工作岗位 , java 和 go 都不错 , 如果 go 的岗位没多少还是老老实实学 java 吧.
    2. 我觉得想要学一门语言 , 得先结合自己的需求来 , 得先了解这个语言的优势是什么 , 语言始终都是一个工具 , 得看你的使用场景趁不趁手 .
    3. 如果是想学着玩 , 写点小工具之类的 node/python 会更合适你一点 .
    kandaakihito
        9
    kandaakihito  
       3 天前
    不懂为什么那么多人说 jvav 的生态庞大啊要学的东西多啊什么的,除了 spring 框架本身,还有什么东西是 jvav 后端独有的吗?(

    难道写 go 写 node 后端,就可以不用学那些工具和思想了吗?甚至 go 和 node 不也有仿 spring 的框架,设计思想和用法不说大同小异,也基本上是完全一致了
    lyz1990
        10
    lyz1990  
       3 天前 via iPhone
    学了 Java 你的脑子就是 Java 的形状了
    voidmnwzp
        11
    voidmnwzp  
       3 天前 via iPhone
    建议哪个都不学 后端和前端现在都是赛博土木
    MADBOB
        12
    MADBOB  
       3 天前
    2025 年了,建议放弃 java
    bbbblue
        13
    bbbblue  
       3 天前
    java 就直接跳过一大堆 直接 spring boot 起手就行了 学习路径长是因为学的太杂 要做后端直接 spring boot+JOOQ 就够了

    写 js 的就直接用 node 现在用 express 也可以 要新潮一点 hono/nestjs(这个更大一点) 或者直接走全栈框架 之前 vue 学 nuxt 之前 react 学 nextjs 再学个 drizzle

    这俩都不喜欢 可以试试 RoR 虽然我没学过() 但是用过的人都向我推荐

    python 别了吧...你如果是做 web 学 node 不比 py 强多了
    MindMindMax
        14
    MindMindMax  
       3 天前
    直接 node ,3 天内开启后端开发生涯
    xctcc
        15
    xctcc  
       3 天前
    java 配合 ai 感觉 token 很爆炸
    lujiaosama
        16
    lujiaosama  
       3 天前
    什么语言做后端都好, 实战就是整点实际项目来做, 要有自驱力, 出现问题想办法解决. 新手直接用别人封装好的大而全的企业级框架, 为什么这么设计先别管, 等 crud 熟了再回去看. 现在有 AI 帮忙, 跟 AI 结对编程其实上手很快的.
    slowgen
        17
    slowgen  
       3 天前   16
    跟着这个 roadmap 走就行了 https://roadmap.sh/backend?r=backend-beginner ,最多加个消息队列 RabbitMQ 和搜索引擎 Elasticsearch ,非要去 java 屎里淘金干啥…首选 node 和 go ,选对已经成功一半了。

    目标是“软件工程师”而不是“x 语言程序员”,先掌握更多的后端架构知识才是正确的道路。
    很多时候做技术方案不是越多越好,一股脑做加法的都是菜得抠脚的人,你看 java 那些课程觉得人家内容多,我看过去还觉得是一开始方向错了只能引入更多的蹩脚方案来弥补,疯狂堆屎山。做减法才有技术含量。

    我搜了下你那些充电桩、AI 、网约车课程,给你理一理里面内容:

    充电桩:
    SpringBoot3:正常的 web 框架,没啥特别的;
    MQTT:RabbitMQ 加插件;
    WebSocket:node 、go 更擅长,甚至 deno 和 bun 在标准库里都实现好了;
    Netty:就是 Javascript 在 async/await 之前的回调地狱的时代那套东西;
    时序数据库:PostgreSQL 装个 TimescaleDB 插件搞定;
    Protobuf:好坏参半的 RPC ,复杂度增加很多,真要用你还得考虑很多东西,不如纯 http 调用接口,最多加个 Dapr 在中间;

    AI 课:
    LangChain4j:一个库,你用 LlamaIndex.TS 就得了;
    RAG:LlamaIndex 里就有,3 行代码的事 https://developers.llamaindex.ai/typescript/framework/modules/rag/chat_engine/ ,原理在 https://github.com/run-llama/llama_index/blob/81d4b871143ddd4a7cb90333a3d103fbb1f269c5/llama-index-core/llama_index/core/prompts/chat_prompts.py#L21 这 15 行代码,说白了就是拆分问题里可以搜的东西,搜出来相关内容再 rerank ,然后拼接成字符串贴在上下文里,又回到了 Elasticsearch 或者 PostgreSQL 的 pgvector ,其实难点在召回高质量内容,和 java 没啥关系;
    记忆: https://developers.llamaindex.ai/typescript/framework/modules/data/memory/#configuring-memory-for-an-agent 有效代码不到 20 行…还是字符串拼接;
    tools + MCP: https://developers.llamaindex.ai/typescript/framework/modules/agents/tool/#tool-function 有效代码加起来不到 50 行…

    AI 课:和 java 有点关系但不多,算是一个 API Caller 加点项目设计吧,这也能水 13 小时课程,看得我也想去卖课了……

    网约车课:
    SpringCloud 微服务体系:有 k8s 之后没它什么事,也就 java 存量项目在用,真正要学的是 k8s 这套体系,结合你的代码正确的跑在 k8s 上面。

    要是会打一个极简的 docker 镜像然后自己在云厂商的容器服务/serverless 里跑起来再配置一个网关入口你已经超越 98%的同行了。要是在云厂商通过界面操作点点点配置好弹性伸缩你已经超越 99%同行了。此时一部分 java 还在解决容器太大启动太慢和内存占用太高的问题,一部分 java 在看某屎山动态线程池方案想办法给自己的服务从 50 并发优化到 100 并发,而你在喷云厂商为啥我 1 核 512MB 内存的容器明明能抗三五千并发,你的共享型 API 网关并发额度才给到我 500 。

    要是框架选了 honojs 然后部署到 cloudflare worker 你就已经超越 99.5%的同行了,你的应用现在已经打不死了,能打死你的是下游扛不住的各种组件和你的账单。

    AI 写代码正确性最高的语言:
    Go (语法简陋、特性少、概念少、标准库质量高,已经被 AI 学透了,从 30B 到 1000B 级别的 AI 写出来都差不多,反正遇事不决可以让 AI 当场搓一个库给你)
    Javascript/TypeScript(高质量代码库多,毕竟前端娱乐圈一言不合开个 NPM 仓库,9 行代码的 is-odd 都要搞一个包,还写一堆测试代码和 lint ,产能超强,喜欢追新,AI 容易学到新内容);
    Python (高质量代码库多,但是异步生态垃垮所以高质量异步代码少,AI 写同步代码还行,写异步代码能力差)

    你在 groq 里创建个免费 api key ,选个 gpt-oss-120b (速度接近 500token/s )或者 kimi-k2-instruct-0905(速度 220token/s),用来写这 3 个语言正确率都能有 95%甚至更高,你看都来不及,何苦去用 java 呢,限制你的只有你的后端体系知识,因为每个 AI 给的方案可能都不一样,你需要判断这“上中下策”里哪一个才是“上策”,所以按照最开始的 roadmap 打好基础才是正道。
    Gilfoyle26
        18
    Gilfoyle26  
       3 天前
    这个世界有多了一个 java 仔!!!
    Lucy2025
        20
    Lucy2025  
       3 天前
    @MADBOB 放弃 java, 你建议学啥, 为什么?
    kkwa56188
        21
    kkwa56188  
       3 天前
    从 SQL 学起吧, 我听说现在做前端的会 join 两个以上的表的不多了
    dcsuibian
        22
    dcsuibian  
       3 天前
    赞成。我觉得 Java 是最值得学习的后端语言。
    Java 有不少缺点,语法非常嗦(写个 http 请求巨麻烦),入门简单、深入困难、生态非常大,启用慢占用大,函数式(.stream())和异步编程( async/await )非常弱、语法糖少等。
    最主要是上手慢,我感觉初学者估计要 4~6 个月的学习才行

    但是 Java 其实属于企业稳健派,强大而且啥都有。生态库全、跨平台且稳定性强、自带多线程机制、也非常适合大型团队。反正我自己的经验,Spring Boot 里的屁大点事在其他语言的框架里都很麻烦。


    说几个适合你的:
    1 、Java 和 Js 的风格接近,都是小驼峰,相比而言 C#是大驼峰,Python 是 snake_case ,当然 Node.js 另说
    2 、就按你说的,课程多,学习资料多。而且 GitHub 上 Web 项目中前端 Vue+Spring Boot+MySQL 这种架构频率极高,可以参考
    3 、Java 后端人多,如果你以后还是前端为主的话,那和你合作的后端极大概率是写 Java 的
    4 、你们公司如果现在就是 Java 后端的话,直接就可以参考学一学(可选,因为公司的代码大概率质量不咋样)
    guin
        23
    guin  
    OP
       3 天前
    @slowgen 大佬 受教了
    zhennann
        24
    zhennann  
       3 天前
    花半天时间试一下 VonaJS ,提供了目前代码最直观、功能最全面的 ORM 框架
    yb2313
        25
    yb2313  
       3 天前
    学习任何语言都别靠视频那只是低效的单向输入。最高效的路径是借助 AI 辅助直接实战,在解决问题中同步完成输入与训练,让知识真正嵌入思维模型。我推荐 Rust ,或偏向 GC 的 C#、TS 。
    Honwhy
        26
    Honwhy  
       3 天前
    学习前端知识吧。
    1 、Javascript 高级程序设计
    2 、Vue 设计与实现
    3 、jQuery 技术内幕(老古董,但是思路还是不错的。。。,随便翻翻不建议全读,太大部头了。。。
    。。。还有很多,欢迎补充
    Lemonaeccc
        27
    Lemonadeccc  
       3 天前
    刚 1 年前端,最近在学 nestjs ,自身比较菜
    SchwarzeR
        28
    SchwarzeR  
       3 天前
    node python go 啊
    node 能平滑转换
    python 学习曲线平滑
    go 没有花活并且部分设计哲学能强行套 js 触类旁通

    java 相对有些重了,一学就要带着整套生态一起搞
    red13
        29
    red13  
       3 天前
    为了工作不建议学 java ,要是玩 Minecraft 开发模组可以倒是可以学学
    simondung
        30
    simondung  
       3 天前 via iPhone
    学啥都没用,不招你
    Ming5Ming
        31
    Ming5Ming  
       2 天前
    千万别学 java ,学完脑子会受损,最好学习 node->python->C#
    Ketteiron
        32
    Ketteiron  
       2 天前
    如果你会 ts ,从 node 开始学习最好,nest 跟 java 的 springboot 一毛一样。
    v2er119
        33
    v2er119  
       2 天前
    不说目的就是耍流氓,就这,还是有这么多热情 V 友
    LightLolo
        34
    LightLolo  
       22 小时 51 分钟前
    node python go java
    hd7771
        35
    hd7771  
       5 小时 7 分钟前
    学 jvav 降低智商,不建议
    boliang2333
        36
    boliang2333  
       3 小时 41 分钟前
    java 平均工资、岗位、不出差都是优势
    karott7
        37
    karott7  
       1 小时 21 分钟前
    现在这行情还敢学 java ?从个人工作或者独立开发角度真不如 js
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3088 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 11:12 PVG 19:12 LAX 04:12 JFK 07:12
    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