
题主今年大四, 计算机专业,找了一份 java 后端开发的工作, 明年毕业入职, 想在入职前给自己充充电。
题主小白一只, 跟着慕课网的 java 职业路径看了前三部分, 最后的框架部分还没看完。 但是觉得视频讲的不一定深入, 而且里面有的知识好像有点过时比如 jsp。
在知乎上搜索有个大神推荐了下面的书单:
java 核心技术
java 编程思想
算法 4
敏捷软件开发原则模式与实践
java 并发编程实战
深入理解 java 虚拟机
Head First 设计模式
effective java
J2EE development without EJB
买之前想问问大家觉得这些书怎么样, 有哪些值得一看, 哪些不太好?
大家如果有推荐的书 或是视频 或是其它渠道的学习方法与心得 还请与我分享一二, 感激不尽~~~
1 Mistwave 2019-01-14 19:31:13 +08:00 via iPhone 建议楼主优先看 Java 核心和算法第四版 这个算基础 然后可以辅以 Spring Boot 实战 敲一点代码 接下来才是进阶,这部分完全可以工作后再看:jvm/effective java/设计模式 |
2 bajie 2019-01-14 19:35:31 +08:00 当年我自学 js 的时候,被知乎大神推荐过 js 权威指南,看得我是头大如斗,一度怀疑自己的智商,后来还是看高程三才入门,所以一开始你千万别选那种可以当字典的书来看 |
5 xiaoidea 2019-01-14 20:21:48 +08:00 个人愚见,从初级 java 进阶第一本应该看的书应该是《 java 并发编程实战》 |
6 jeffersonpig 2019-01-14 20:34:34 +08:00 @bajie js 跟 jav 不是同一个东西吧? |
8 tail2 OP 咋收藏的比回复的还多 |
9 Narcissu5 2019-01-15 08:57:22 +08:00 不同意一楼,我认为对于新手来说核心技术并不重要,能出东西才是第一位的 首先就是《 Effective Java 》,新人能写出规整的代码绝对会让人眼前一亮的,先把代码写好了写工整了,其它的才有的谈。 |
10 aaronysj 2019-01-15 09:29:21 +08:00 先看一遍,工作一年再看一遍,工作两年再看一遍。 |
11 bajie 2019-01-15 10:21:29 +08:00 @jeffersonpig 我只是举例而已,编程思想这本书不就和 js 的权威指南差不多,通篇各种概念,和字典差不多吗 |
12 xiaowangge 2019-01-15 11:31:57 +08:00 |
13 shijingshijing 2019-01-15 11:49:03 +08:00 via iPhone 1 @Narcissu5 可拉倒吧,我这个写了 N 年 c 和 c++的看 effective java 有些都整不明白,你一上来就推荐这个。这本书适合写了一段时间 java 想提高自己的编码和设计水平的 java 程序员看,里面的东西其实是最佳实践,绝不能一上来就看,看也看不懂。里面提到的工厂模式,订阅模式要有设计模式的基础才能知道为什么这种情况在 java 里面用这个模式最合适。 我建议新手还是 head first java 看起来,然后 Think in Java (有点老了),然后开始实战积累经验,做了几个项目后,边做边看设计模式、jvm、并发,然后进一步深入 jvm 是怎么实现的,effctive java,concurrent practice 那本。 算法其实不需要了解很深入,链表,哈希表,二叉树,字符处理等基础的就够了,最短路径,红黑树,动态规划根本不需要看。 |
14 shijingshijing 2019-01-15 11:55:25 +08:00 via iPhone 我个人认为 c 转 c++再转 java 每次都需要突破。 从 c 到 c++主要是面向过程到面向对象的思想转换; 从 c++到 java 主要是从面向特定机器编程模型到面向通用机器的编程模型,所以才需要了解 GC 和 jvm,其实学习 jvm 某种程度上相当于重新撸一遍 x86 和 ARM。 |
15 micean 2019-01-15 14:00:55 +08:00 个人觉得的顺序是 1. 语法 2. maven+spring+常用第三方 lib 3. 常用的 map 和 collection+并发 4. 字节码+jvm 设计模式在自己写了几年代码之后自然就领悟了 |
16 Narcissu5 2019-01-15 14:01:37 +08:00 @shijingshijing 《 Effective Java 》在 google 是当作编码规范来用的,编码规范这种东西能有多难? 我觉得可能你受 C++的影响太深了,C++的 OO 是残废的,实际上如果你真的用 OO 的方式来写代码你就会发现 EJ 里面写的都是些不言自明的东西。有或者我们看的不是一本 EJ。。。。 |
17 shijingshijing 2019-01-15 16:03:23 +08:00 via iPhone @Narcissu5 拜托你先弄清楚 coding standard 和 best practice 的区别再说好么?二者有重叠但绝不是一回事好么?实现一个项目有多种方法,根据自身实际情况,针对某种场景,找出最适合的实现方法这个叫 best practice 好么?不是强制性的,但这样做是兼顾可扩展性,可维护性,系统性能等多方面的出的最佳方案。coding standard 很多都是强制性的,比如命名规则,注释方式。 c++不是残废而是给你选择太多了,新手上来就像小孩子逛糖果店这个很好那个也不错,最后弄出来的东西就可能出现有的地方发育的非常完美,但有的地方烂的流脓(最典型的就是内存泄漏)。Java 把某些方面限制死了,然后针对一些场景进行了某种折衷处理,带来的好处是能在总体上保持某种程度健康( GC 和 jvm )。 我始终认为真正会的人用 c++和 c 写出来的东西是优雅的,让他们去用 java 写反而难受。比如 linux 下的那些小工具,还有 Adobe 全家桶,Firefox 系列这种生产力工具。 |
19 tumi9527 2019-01-15 16:40:00 +08:00 没有编程经验,head first java,有经验,核心一,先入门再说,然后看个框架,做个小网站啥的,之后在看设计模式之类 |
22 PazuLee 2019-01-16 01:04:54 +08:00 一只加班狗尝试回答下:看全了太难,就算局限在 java,也分很多方向。CRM ?基础框架?还是所谓互联网公司的高并发系统?关注点都不太一样。建议描述更清晰些。 |
23 tail2 OP @PazuLee 都 1 点了你还在加班!?小白一只, 目前还没入职也不知道去了公司做哪块, 只知道是 java 后端,只想在入职前打好基础到时候别跟不上进度拖后腿_(:з」∠)_ |
24 lancelock 2019-01-16 10:54:30 +08:00 转行写 java 6 个月,到现在只看了一本 java 核心技术 卷 1,感觉自己是在太懒散了 |