应该怎么自学 Java 后端啊? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
birdkyle79
V2EX    Java

应该怎么自学 Java 后端啊?

  •  1
     
  •   birdkyle79 2020-06-14 20:41:11 +08:00 6355 次点击
    这是一个创建于 1946 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大学生,由于疫情还不能回校,自学中,目标 Java web 后端。

    学校老师教的东西实在脱节,想自学却没有一个好的教程或者优秀的规划,只能靠自己一点一点 google,一点一点摸索,一点一点啃,教学视频也没找到很好的,效率比较低。

    我想能自主做出一个项目,能写在简历上的那种,各位 V 友大神们,有没有一些关于自学的建议啊,或者各位是如何通过自学大大提升水平的?学生党实在太难了!!!
    40 条回复    2020-06-17 09:13:13 +08:00
    zifangsky
        1
    zifangsky  
       2020-06-14 21:02:35 +08:00   5
    前期可以看点基础视频入门,后面推荐看书系统地学习。至于应该看哪些书,我给你推荐一份我之前总结的书单吧: https://mubu.com/doc/nZ4n8i424
    birdkyle79
        2
    birdkyle79  
    OP
       2020-06-14 21:26:47 +08:00
    @zifangsky 谢谢
    zhuangzhuang1988
        3
    zhuangzhuang1988  
       2020-06-14 21:38:53 +08:00
    既然是大学生,
    把<算法 4>来回看, https://book.douban.com/subject/19952400/
    脱节啥的不存在的
    yukiloh
        4
    yukiloh  
       2020-06-14 21:41:16 +08:00 via Android
    你打开招聘网站,筛选薪资高的看他们 jd 都要什么经验,然后列出来搜一下是个啥玩意
    zhgg0
        5
    zhgg0  
       2020-06-14 21:51:26 +08:00 via iPhone   2
    求建议太难了,发现问了一圈后还是不知道该怎么办,大家给的建议很难匹配你的现状。
    storypanda
        6
    storypanda  
       2020-06-14 21:56:52 +08:00
    @zhgg0
    自学确实挺难的,我之前买了一大堆书,现在看书里不是有错误就是语言过时导致很难看得下去,详见我的掘金沸点且欢迎评论:
    https://juejin.im/pin/5ee086d8f265da1bac60abb0
    我的自学之路比较久,现在还是在看 raywenderlich 自学了,在家提升自己。
    storypanda
        7
    storypanda  
       2020-06-14 21:58:28 +08:00
    或许你可以试试用中学?首先你语言基础如何,不妨开始一个项目试试,我最近准备写一下我的 Android 和 swift 自学之路的文章,准备发在我的博客上。
    hello2060
        8
    hello2060  
       2020-06-14 22:01:03 +08:00 via iPhone
    如果不想自己找资料呢,可以看点网上的教程,视频的最好。可能有些会讲到现在已经不流行的东西那也无所谓了,知道点来龙去脉也好。

    java 么就是 spring 喽,能翻墙会英语的 youtube,udemy 也行,中文么淘宝买点视频就行。哈哈想我当年做 C++的就花了一天时间 udemy 上找了个课程看看就找到了第一份 java 工作嘿嘿
    lidlesseye11
        9
    lidlesseye11  
       2020-06-14 22:06:27 +08:00
    大学生能搞好数据结构和算法就不错了。再掌握几个设计模式就超过大多数了。。要是还能涉猎下 JVM 和 JUC 我觉得就到头了。。。哦,数据库 /大数据什么的也可以看一下。
    至于项目,真的,等工作了比你自己现在搭空中楼阁的学习效率高得多。
    而且你们没有大作业吗?认真做,校招的话就那些就行。如果还怕面试不知道说什么,可以拉几个同(da)学(tui)找个比赛参加下。。
    birdkyle79
        10
    birdkyle79  
    OP
       2020-06-14 22:13:04 +08:00
    @lidlesseye11 基础自我感觉都掌握得差不多了,数据结构、网络、算法、操作系统等,就是缺个项目,学校里做的课程设计都太简单了,感觉拿不出手,比赛的成绩也不好,主要是为了校招简历充实一些。谢谢你的建议
    birdkyle79
        11
    birdkyle79  
    OP
       2020-06-14 22:14:53 +08:00
    @hello2060 感觉就是缺一个做过东西的人手把手教我,比如我写 springboot,有些细节的东西急切想知道,又没有人可问,唉,总之就是没有氛围,到头来只能自己一点一点查,有点慢。谢谢你的建议
    birdkyle79
        12
    birdkyle79  
    OP
       2020-06-14 22:16:03 +08:00
    @zhgg0 确实,我也很无奈(摊手
    hello2060
        13
    hello2060  
       2020-06-14 22:17:43 +08:00 via iPhone
    @bear2000 我把我微信给你吧 MTYxODAwMDk= 工作时间你有问题可以问我,我就当给自己查漏补缺了嘿嘿
    m1ch3ng
        14
    m1ch3ng  
       2020-06-14 22:19:07 +08:00 via Android
    b 站搜狂神说
    birdkyle79
        15
    birdkyle79  
    OP
       2020-06-14 22:23:11 +08:00
    @hello2060 好的
    birdkyle79
        16
    birdkyle79  
    OP
       2020-06-14 22:23:45 +08:00
    @m1ch3ng 我去看看
    MarkLeeyun
        17
    MarkLeeyun  
       2020-06-14 22:58:10 +08:00
    视频----->书----------->github
    StillLearing
        18
    StillLearing  
       2020-06-14 23:32:35 +08:00
    咱俩情况挺像,可以相互交流一下。嘻嘻
    EminemW
        19
    EminemW  
       2020-06-15 00:09:19 +08:00
    这东西真的挺难的,我看个 MySQL 原理相关的东西,每个文章讲的都不一样,还是要看源码自己理解
    EminemW
        20
    EminemW  
       2020-06-15 00:10:31 +08:00
    就 MVVC 的实现原理,网上就有好几个版本的文章,这些人像是从各个地方复制内容拼接完成的
    CodeForFree
        21
    CodeForFree  
       2020-06-15 00:41:28 +08:00
    去 b 站搜索黑马 Java,跟着进度走。前期不要过于钻牛角尖,后面等能做一下小项目。在系统的看一下书之类的。
    NPC666
        22
    NPC666  
       2020-06-15 01:47:31 +08:00
    不建议上来就学原理,先学会怎么去使用工具而不是先学会造工具,不要纠结于算法和底层实现。等熟练使用了再返回来了解它们。
    araaaa
        23
    araaaa  
       2020-06-15 01:49:14 +08:00 via iPhone
    实习
    securityCoding
        24
    securityCoding  
       2020-06-15 08:32:43 +08:00   2
    @storypanda 我也是自学的,毕业一年自学了 6 个月出来找了份 java 后台 , 一路走过来感觉还行
    tianshiyeben
        25
    tianshiyeben  
       2020-06-15 08:53:01 +08:00
    QingStone
        26
    QingStone  
       2020-06-15 08:56:06 +08:00 via Android
    我是今年本科毕业,发现只会前端不好找工作,于是开始自学 Java 。可以一起组队学哈~
    zzzmh
        27
    zzzmh  
       2020-06-15 09:20:28 +08:00
    推荐 2 个网站吧
    慕课网和尚硅谷
    慕课的免费的 java 可以先看起来,熟悉一下基础,如果预算充足可以买个收费课程
    尚硅谷会经常有免费开源的上课视频在他官网公布,讲的挺细致,尤其是东北口音很提神
    TyCoding
        28
    TyCoding  
       2020-06-15 09:28:38 +08:00
    我建议 看大学基础教材 -> 看视频 -> 做开源项目 -> 阅读高 star 的开源项目。切身体会,我是大三,写了几年代码感觉作为在校生还是不要把精力过多放在做项目( CRUD )上,还是要学习计算机最基础的知识,数据结构、算法、计算机原理、网络原理。
    当然基础知识是最枯燥的,我是比较浮躁的,所以我当初就是看完 Java 基础就想赶快看 Spring 框架,然后想学 Vue 框架,做项目,学习 SpringCloud,因为我会认为基础知识学了用不到,想能尽快参与项目开发有所成果。
    我感觉很多人都有这样的想法,会觉得开源项目 star 高是不是就是能力的体现,就沉迷于做项目了。实际工作中大一点的公司都是考察计算机基础知识,框架那种东西你在学习阶段的后期花几个月时间学一下就行了。
    作为一个应届生,能参与多牛的开源项目?又能写出来多牛的项目?如果能力不是太出众就和普通人差不多,还是要重视基础,多写文章。总之,我的建议要在大学时间拆分好,总体规划自己某些时间段需要学的东西,先学计算机基础再学各种框架。
    我的 GitHub: https://github.com/TyCoding 。我是切身体会,你会从我的开源项目中就知道如果基础不好,这些 star 意义不大。
    nxcdJaNnmyF9O90X
        29
    nxcdJaNnmyF9O90X  
       2020-06-15 09:41:46 +08:00
    大学生打好基础,这样才有机会进大厂 大学生熟练 curd 面试没多大用
    birdkyle79
        30
    birdkyle79  
    OP
       2020-06-15 09:42:10 +08:00
    @TyCoding 感谢
    WhereverYouGo
        31
    WhereverYouGo  
       2020-06-15 09:59:06 +08:00
    学 springboot 就完事了,自己搭起来,再往里面塞 mybatis 、redis 、日志系统、鉴权系统啥的。
    apostle
        32
    apostle  
       2020-06-15 10:33:27 +08:00 via Android   1
    基础基础!作为应届生我面过一些大厂,基础尤为重要,操作系统,计网,数据库,数据结构与算法,java 语言基础包含 jvm 之类的是必问知识点,过了这关你才能有机会和面试官聊项目。深入学习一下 redis 消息队列 外加一点框架特性和原理是额外提高面试官打分的关键。
    mineqiqi
        33
    mineqiqi  
       2020-06-15 10:37:25 +08:00
    @EminemW Multi-Version Concurrency Control
    birdkyle79
        34
    birdkyle79  
    OP
       2020-06-15 11:20:38 +08:00
    @apostle 好的,感谢
    inktiger
        35
    inktiger  
       2020-06-15 11:21:13 +08:00
    你可以找一个你能勉强理解的别人做好的后台小项目,然后自己根据他的代码,自己搭建一套模仿写出来,最好是别硬抄,尽量遇到不懂的就百度 google 一下他写的有什么用,我始终觉得,刚学这个,看理论很难有大的突破的,看得多了自己还没有任何进步对信心又是一层打击,所以实践中慢慢摸索,这样能有进步,到最终也有成品,到公司面试也有说词
    danbai
        36
    danbai  
    PRO
       2020-06-15 11:34:33 +08:00 via Android
    分享一下我学的教程吧。链接:https://pan.baidu.com/s/10E4hwlGT1QEl2CUutlHa1A提取码:9y70
    jmperdev
        37
    jmperdev  
       2020-06-15 15:06:44 +08:00
    我目前也在自学,通过看书+实践
    先看 java 基础《 Java 核心技术 I 》
    然后大体过下 《 Java 核心技术 II 》
    然后《 Spring 实战》
    然后 github 找到一个完整的项目,大体看下 https://github.com/macrozheng/mall
    然后自己学着搭一个小项目

    后续
    《 Java 编程思想》
    《深入理解 Java 虚拟机》
    zifangsky
        38
    zifangsky  
       2020-06-15 19:40:59 +08:00
    @NPC666 #22 赞同你这个观点,初学者还是先学会怎么用工具(比如:各种框架、中间件),等把工具的基本用法搞熟练了再去研究其实现原理。
    shiguiyou
        39
    shiguiyou  
       2020-06-16 09:12:25 +08:00
    我还记得我当年看的《疯狂 Java 》...
    hellofrank
        40
    hellofrank  
       2020-06-17 09:13:13 +08:00
    如果自学领悟能力欠佳,还是跟着视频学,要多练习,看的再多不如动手做一遍。
    ps:
    java/python qq 技术交流群:731376782, 欢迎各位大佬进群交流
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5866 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:21 PVG 11:21 LAX 20:21 JFK 23:21
    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