V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KunMinX
V2EX  ›  程序员

Java 后端开发优秀书籍推荐

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

    想给自研的 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  
       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   ·   我们的愿景   ·   实用小工具   ·   1557 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:02 · PVG 01:02 · LAX 10:02 · JFK 13:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.