Java 后端如何深耕? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
714105382
V2EX    Java

Java 后端如何深耕?

  •  
  •   714105382 2019-08-28 10:28:11 +08:00 7152 次点击
    这是一个创建于 2249 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原谅我标题党了 楼主是海淀某校 CS 本大四了,现在在某大厂做 Java 后端实习,主要是微服务治理相关 刚刚入门,准备学一下各种框架 但是感到迷茫,后端东西太多了,先进的过时的混杂在一起,有点看不清 而且对学习顺序也无从把握 想问下各位 julao 们,这条路该如何学习? 或者说,如何因应未来的技术趋势,来搭建自己的技术栈和能力栈?

    29 条回复    2019-08-29 10:43:18 +08:00
    714105382
        1
    714105382  
    OP
       2019-08-28 10:33:51 +08:00
    好像话说得不明不白,举个例子吧
    比如我知道 SpringBoot 已经成为主流,公司也在用,但是如何快速学习呢?

    再比如说,公司架构还是 SpringMVC,本质上还是 Servlet.但是也有组里在搞异步化,Spring5 也上了 WebFlux
    问题是,MVC 是否能在未来较长时间内保持主流?
    如果不是的话,这些新出的东西是不是新人应该分配更高的优先级?
    714105382
        2
    714105382  
    OP
       2019-08-28 10:36:43 +08:00
    感觉自己想问: 如何穿透技术繁复多变的表象,看到技术发展的先进性和本质?
    StarkWhite
        3
    StarkWhite  
       2019-08-28 10:45:43 +08:00
    建议你多了解下 GraphQL,Facebook 出的,解决前后端接口联调的各种痛点
    t/589138
    714105382
        4
    714105382  
    OP
       2019-08-28 10:50:27 +08:00
    @StarkWhite 嗯嗯,谢谢您!
    STRRL
        5
    STRRL  
       2019-08-28 10:51:00 +08:00   1
    多思考一下本质的需求吧 我也是刚毕业一年

    虽然很多技术需求都有比较成熟的方案了,但是场景不同,要解决的问题不同,某些轮子用起来可能并不舒服,所以人们又造了新的轮子。

    比如说微服务,很早很早很早就已经提出来了(《 Clean Architecture 》里看到的),但是最近才大规模应用起来。

    在 follow 新技术的同时, 多想, 多看书, 即使是所谓过时的东西里的某些思想也可能是精华. XD
    zifangsky
        6
    zifangsky  
       2019-08-28 11:01:04 +08:00
    给你推荐一份我自己总结的 Java 学习书单吧,你可以根据自己的目标安排学习计划。


    Java 学习书单: https://mubu.com/doc/nZ4n8i424
    weo0
        7
    weo0  
       2019-08-28 11:05:30 +08:00
    java 后端简直浩如烟海,我快放弃了(大雾)
    LeeSeoung
        8
    LeeSeoung  
       2019-08-28 11:06:56 +08:00
    网上搜 java 技术栈思维导图,保证你看不完。。
    chendy
        9
    chendy  
       2019-08-28 11:08:12 +08:00
    找一个(或者几个)感兴趣而且不冷门的东西一直扣就行,兼顾了解一些新东西,没了
    当然挺枯燥的,很可能扣不动…

    顺便吐槽一下 WebFlux 真的异端( 5.2 之后集成 kotlin 协程目测好用很多),spring5 之后加入的一些 funcational api 也是异端
    519718366
        10
    519718366  
       2019-08-28 11:08:44 +08:00
    写 bug,然后查 bug,最后解决 bug
    714105382
        11
    714105382  
    OP
       2019-08-28 11:28:27 +08:00
    感谢大家
    dk7952638
        12
    dk7952638  
       2019-08-28 11:30:39 +08:00
    多写代码,在项目允许的情况下大胆尝试新技术,多踩坑,总结最佳实践
    Kontinue
        13
    Kontinue  
       2019-08-28 12:28:05 +08:00
    目前我刚入职也是这样子的,但现在是这么想的,首先保证 ssm+boot+spring 基本模块能熟练( Data 等),然后看公司可能会用到的,和自己感兴趣的。比如果 docker 作为工具可以学习下,然后可能会用到 rpc,就看下 zookeeper 和 dubbo,然后就各类中间件基本的用法都掌握以下,不追求底层和原理。然后针对于自己最有兴趣或公司用的最多的,花时间去了解下底层,看下源码。目前我是这么想的。。。每个都深耕哪有这么多精力,毕竟我觉得不论中间件,光光 spring 你要做到精通也是件很难的事情
    taogen
        14
    taogen  
       2019-08-28 12:29:05 +08:00 via Android
    我列了一个技术栈可以看看 https://github.com/tagnja/techniques-tree
    714105382
        15
    714105382  
    OP
       2019-08-28 12:37:24 +08:00
    @Kontinue 所以 SSM 三板斧还能再主导很多年?如何看待呢?
    charlie21
        16
    charlie21  
       2019-08-28 12:58:12 +08:00
    只学能带来 money 的。你学太多的内容、内容却无法带来 money,那么只能说明这个内容不值钱,那么你学它是图啥呢
    charlie21
        17
    charlie21  
       2019-08-28 12:58:47 +08:00
    什么 JB 浩如烟海,通通证明了这是不值钱的技术
    sorra
        18
    sorra  
       2019-08-28 13:01:54 +08:00
    先耕熟 JDK 和 Spring,掌握其原理,设计模式和数据库也要熟练,再学习分布式系统基础知识,要有一定代码量才能真正理解技术
    Kontinue
        19
    Kontinue  
       2019-08-28 13:05:59 +08:00
    @714105382 我觉得能,你看 spring 出到 5,boot 才 2,至少还有 3 年哈哈哈。但是 web 框架和 orm,你 ssm 搞定换别的不说轻轻松松吗
    charlie21
        20
    charlie21  
       2019-08-28 13:07:35 +08:00   1
    反事实度量法:
    假设某一事实不存在或者情况相反,估算经济运行中可能出现的结果,由此来度量该事实对于经济运行的影响
    https://book.douban.com/review/7955709/

    诶你不如问一下后端有什么东西不需要学,谁能回答你 这才是说明他是懂行的。
    714105382
        21
    714105382  
    OP
       2019-08-28 13:10:53 +08:00
    或者大家讲讲什么东西过时了不需要学也好
    vmskipper
        22
    vmskipper  
       2019-08-28 14:57:29 +08:00
    工程的话搞 kubernate serverless 未来吃香
    BrbiwsFtd9zDGZqB
        23
    BrbiwsFtd9zDGZqB  
       2019-08-28 15:33:07 +08:00
    @714105382 #21 jsp 不需要学...
    leafdream
        24
    leafdream  
       2019-08-28 15:48:06 +08:00
    人生苦短
    mazai
        25
    mazai  
       2019-08-28 15:54:42 +08:00
    跟上潮流就行了,某项技术突然火起来谁也无法预知。而且国内公司对新技术大多书都保持观望状态。
    Aresxue
        26
    Aresxue  
       2019-08-28 16:14:15 +08:00   1
    把基础复习牢固了,再去研究各种中间件。像 linux 的核心函数、多路复用模型、用户态内核态的切换、锁机制,通信模型里的 OSI 或者 TCP 四层模型,中间把 TCP 捋顺了,像你做微服务,通信是极其重要的一块,spring cloud 为什么用 http,dubbo 的 rpc 又是怎么实现的,没有 TCP 的相关知识做基础你是不可能研究透的。
    snappyone
        27
    snappyone  
       2019-08-28 18:55:55 +08:00 via Android
    基础好学啥都快,硬着头皮搞定几个框架源码,后面一路顺风
    33and66
        28
    33and66  
       2019-08-29 09:31:56 +08:00
    基础打牢,再去理解上层建筑就容易多了。
    比如,Java 这么多 web 框架,还不是基于一个 Servlet 体系。
    比如,数据库 ORM 层那么多,还是基于基本数据库。
    很多分布式框架,都是从由一个个小组件组合出来的,万丈高楼平地起。
    yizmaoaa
        29
    yizmaoaa  
       2019-08-29 10:43:18 +08:00
    参与开源项目
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2585 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 01:37 PVG 09:37 LAX 18:37 JFK 21:37
    Do have faith in what you're doing.
    ubao msn 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