Java 后端开发优秀书籍推荐 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
KunMinX
V2EX    程序员

Java 后端开发优秀书籍推荐

  •  
  •   KunMinX 2020-03-18 16:18:14 +08:00 6544 次点击
    这是一个创建于 2047 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想给自研的 app 开发一套 restfulAPI,

    之前主要专注于客户端本身,对后端一无所知,花了几天时间网上查资料,没想到搜了一圈下来,连最基本的概念、边界都没能搞清楚,

    网文几乎清一色地 一上来就谈论 怎么做、怎么做,就是只字不提 “为什么”、“为什么”,

    后端是我初学的领域,我需要一本书,或者一些知识服务,能 从零到一地为我呈现清楚,为了提供远程服务给客户端,在服务端这边到底需要做什么、每个环节究竟是出于什么考虑而被设计

    比如 tomcat,它的边界是什么?它能提供什么?它不能提供什么?(它是应用服务器,监听端口,接收请求,那么它怎么通知 web 程序呢?),servlet 类似于 android 的 sdk 吗? spring boot 是基于 servlet 封装和定制的一整套开发框架吗?……

    我需要首先搞清楚它们各自所处的 环节、关系、职责边界,非常非常需要,一上来就怎么做、怎么做,让我 非常困扰

    所以想请教一下万能的 v 友,看看有没什么自己看的好的书籍推荐

    第 1 条附言    2020-03-18 20:10:53 +08:00
    感谢 12 楼 v 友的回复,有启发,有招了
    23 条回复    2020-03-19 15:09:46 +08:00
    hantsy
        1
    hantsy  
       2020-03-18 16:21:35 +08:00
    Manning, Apress, Oreilly 书大把,自己选择吧。
    jatesun
        2
    jatesun  
       2020-03-18 16:29:40 +08:00
    springboot 一把梭就行了
    yidinghe
        3
    yidinghe  
       2020-03-18 16:37:48 +08:00
    楼主如果需要的是设计方面的书,推荐话题:1、重构; 2、敏捷软件开发; 3、测试驱动开发。
    dapking
        4
    dapking  
       2020-03-18 16:43:08 +08:00
    建议看视频,如果只了解概念,只看前两节介绍就行。弄清楚概念,再网上找资料。
    linhua
        5
    linhua  
       2020-03-18 16:43:28 +08:00
    Head First Servlet JSP
    从网上找培训班的视频看
    ala2008
        6
    ala2008  
       2020-03-18 17:45:48 +08:00
    还别说,大部分人都是不知道为什么就入门了。。应该有个教学 /培训流程
    hooych
        7
    hooych  
       2020-03-18 17:48:18 +08:00
    你学习 Android 的时候也一上来就追问为什么吗?

    为什么 Activity 要继承 Context ?
    aguesuka
        8
    aguesuka  
       2020-03-18 17:54:35 +08:00
    effective java
    eden999
        9
    eden999  
       2020-03-18 18:01:40 +08:00
    应该是先学会用,代码跑起来,再深究原理
    zzzzzzggggggg
        10
    zzzzzzggggggg  
       2020-03-18 18:01:55 +08:00
    建议最开始的时候找个功能完善的 demo 跑起来就行了,至于原理和很多为什么可以边用边找资料看,不然会很累。
    个人经验之谈。
    Lonely
        11
    Lonely  
       2020-03-18 18:03:51 +08:00
    1. 你想入门的话可以看看《 Java Web 高级编程》,书是老了一点,不过很基础的东西没多大变化。
    2. 你入门 Android 的时候就搞懂每个东西“为什么”了吗?
    3. “我需要一本书,或者一些知识服务,能 从零到一地为我呈现清楚,为了提供远程服务给客户端,在服务端这边到底需要做什么、每个环节究竟是出于什么考虑而被设计”,我暂时没想到哪本大而全的书告诉你所有这些,你可以等入门了再根据需要去找某个方面更深入的书,比如想知道 tomcat 的原理,可以去看解析 tomcat 的书。
    haochih
        12
    haochih  
       2020-03-18 19:04:28 +08:00   3
    楼主的问题很好,其实楼主所遇到的问题,归根到底还是和 Java 各项标准及其有关框架的发展历史有关。每个标准或者框架出来都是为了解决什么问题,往后发展过程当中也就遇到了楼主所说的各个组件之间的关系,职责边界。所以我觉得要搞清这个问题,Google 其历史和它出现的初衷,然后再通过类似于 A VS B 之类的问题应该能了解大概(我就是这么做的)。目前来看后端开发的书籍好像解决不了这个事情。
    oneend
        13
    oneend  
       2020-03-18 19:24:12 +08:00   1
    有一条降级之路,学下 php 吧,毕竟这是世界上最好的语言,一天入门两天精通。
    meteor957
        14
    meteor957  
       2020-03-18 19:24:15 +08:00 via Android
    同问
    q447643445
        15
    q447643445  
       2020-03-18 22:23:52 +08:00
    我觉得会出现这样问题就是因为同样是编程,因为已经走过一遍萌新的流程了 再去学另外一系列技术栈后
    会有跳跃思维,想马上搞懂每个组件,框架,中间件的作用.
    跟我最近一段时间在学前端也碰到 lz 这情况,
    刚敲代码的时候做过一段时间前端, 其实就是简单的 bootstrap 和 jq .
    然后一直专职后端没做过前端了. 想重新捡起来学一下,
    多了好多东西 es6 wepack npm node 也搞不清是什么东西 , 有什么关系, 为什么.
    困惑跟 lz 简直一模一样. 反正慢慢折腾就行了 毕竟已经不是萌新了
    fogsky
        16
    fogsky  
       2020-03-18 23:00:51 +08:00 via iPad
    @haochih 说的很赞!
    lidlesseye11
        17
    lidlesseye11  
       2020-03-19 00:31:12 +08:00
    @haochih
    说的很对。
    我就一直觉得计算机书籍里缺历史书。以 java 为例,能有一本书以时间为轴介绍 JavaEE, Spring, Struts, tomcat, jboss, blabla 的开发过程,标准的制定过程等等。这些东西都是为了解决什么问题,由哪些大佬 /公司一步步推动的。
    而不是一上来就是 spring, ap server 各种 magic 甩脸
    zhoudaiyu
        18
    zhoudaiyu  
    PRO
       2020-03-19 00:48:14 +08:00 via iPhone
    Core Java Effective Java Thinking in Java Algorithms 4th Spring in Action
    zhangshangyu
        19
    zhangshangyu  
       2020-03-19 01:42:00 +08:00 via Android
    可以按这个顺序学习了解
    socket 服务器,http 协议及服务器,servlet 规范 ,Tomcat 容器
    spring,spring mvc,spring boot
    每个模块都可以试着手写下最简单的能跑起来的 demo
    wozhizui
        20
    wozhizui  
       2020-03-19 07:57:17 +08:00
    廖雪峰 java 教程,免费,不过还没更新完。偏应用的 web 开发,才刚开始更新,前面都是 Java SE 的内容。
    链接放一个,https://www.liaoxuefeng.com/wiki/1252599548343744
    zifangsky
        21
    zifangsky  
       2020-03-19 10:19:12 +08:00
    我之前总结过一份 Java 学习书单,在这里给大家推荐一下吧:


    文字版(方便大家转存): https://mubu.com/doc/nZ4n8i424
    bk201
        22
    bk201  
       2020-03-19 10:39:26 +08:00
    首先你都不知道他用来干嘛,那你为什么要去了解他怎么实现干嘛的
    calanlot
        23
    calanlot  
       2020-03-19 15:09:46 +08:00
    会 JS 的话直接上 nestJs
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     977 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 79ms UTC 18:44 PVG 02:44 LAX 11:44 JFK 14:44
    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