9102 年,如何从零开始学习 Java ?

2019-03-21 09:59:36 +08:00
 wildnode

各位大佬好,我是个半路出家的前端。

现在想在业余时间学习一门除了 JS 以外的强类型语言。

因为公司在用,所以我选择了 Java。

希望大佬们推荐一下入门该看的书或者学习路线什么的,或者说说您之前在学习 Java 时遇到的小坑啥的。

这里晚辈先行谢过!

7372 次点击
所在节点    程序员
45 条回复
coolloves
2019-03-21 15:38:55 +08:00
马克下,关注!
dongya
2019-03-21 15:54:30 +08:00
public class HelloWorld
vincenteof
2019-03-21 16:15:57 +08:00
@pzh702 老哥真实了
stone666
2019-03-21 16:18:45 +08:00
直接上 jdk12 吧
LeungV2
2019-03-21 16:22:11 +08:00
在看这个
http://how2j.cn/
kanekakou
2019-03-21 17:39:02 +08:00
直接上 GO
xiaozaiziwyt
2019-03-21 18:00:39 +08:00
Java,从入门到精通
fantastM
2019-03-21 18:23:50 +08:00
如果我没记错的话,《 Thinking In Java 》 是 JDK5,而《 Core Java 》是 JDK8
fantastM
2019-03-21 18:29:37 +08:00
个人觉得《 Thinking In Java 》并没有大众吹捧中得那么神乎其神,不看也没啥影响......

另外,楼主不妨看看 R 大在豆瓣的关于 Java 的读书列表 https://book.douban.com/people/RednaxelaFX/collect?sort=time&tags_sort=count&filter=all&tag=Java&mode=grid
mohoumk2
2019-03-21 18:41:12 +08:00
后排问一下 core java 是不是《 java 核心技术》 ?
murmur
2019-03-21 18:42:26 +08:00
java 速成了也没法面试啊 工程性和考点太多了
顺便说 tij 没那么神的 有些公司喜欢用 tij 的课后习题当笔试题 还是英文原版的
wildnode
2019-03-21 18:43:44 +08:00
@gowk 我也想过学 Go,但是感觉我这种基础知识不太牢固的是不是还是从 Java 开始好一些。。
wildnode
2019-03-21 18:47:16 +08:00
@murmur 没想着速成转行,还是继续干前端,但是想学一门后端语言的同时顺便补补后端基础知识和计算机基础,算是个人业余的精进,万一学好了还能自己干个全栈啥的。
xiaxiaokang
2019-03-21 18:52:29 +08:00
@wildnode 基础知识不行和 java 没关系,基础可以看 C,没必要看 java,java 唯独是是面向对象思想的代表。但 go 又不完全是面向对象思想
wildnode
2019-03-21 18:56:04 +08:00
@xiaxiaokang 总感觉 C 比 Java 还要难啃的多,关键我的想法是基于 Java 能展开的东西比较多,数据结构算法网上大把基于 Java 实现的讲解之类的,数据库、消息队列、或者等等这些后端的东西只要学 Java 或早或晚都有机会玩得到,可能我说得不对,还请大佬指正。
anyele
2019-03-21 19:15:19 +08:00
@yuthelloworld 我在学校就是被 eclipse 劝退的,后来用 IDEA 才重入 Java 坑
xiaxiaokang
2019-03-21 19:26:47 +08:00
@wildnode
第一:你要学 java 做什么?后端,那么你学好后优势是什么?
第二:数据结构和算法难道其他的语言没有?
第三:数据库其他的语言没有? 你知道消息队列用来干嘛的嘛?
第四:[重点]已经有 java 了为什么会有 go,rust 或者其他语言。

nodejs 是你向后端入门的通道,要比 java 成本低且能让你了解后端知识。
通信协议(tcp/udp/http/https/websocket...),
异步优势
加密
算法(当然密集型算法不是它强项)
线程(什么是单线程多线程,node 是单线程)
垃圾回收机制(任何语言都涉及,这块 java 是做的比较好)
...
还有很多,所有一个 node 就够你学这么多知识为什么非去搞 java,类型 typescript 就足够
你要学数据库结构就要了解内存存储原理了。
多一句嘴:语言永远是载体,思想才是根本!
zeromake
2019-03-21 19:33:59 +08:00
去阿三找个外包,远程替你写 Java
VioletTec
2019-03-21 19:55:22 +08:00
Thinking in Java 不适合作为新手的书籍,需要有一定的基础才能看得懂,thinking in Java 属于半工具书,虽然讲的很详细,但是不容易看懂,而且感觉看不进去(其实我也是一开始基本看不进去 TIJ 的人……)。没有功底读这本书很吃力,我建议楼主看一下网络教程,比如壁虎老师的 Java 基础教程视频,虽然他最近(2017 年)重录了一次,但是放在了百度云,如果楼主有百度云会员的话可以看下面的链接,他的老版视频在 51zxw,基础学完还有金金的进阶教程和高级实战教程。个人就是从他那里起步的,感觉挺好,很适合新手学习,也就是专门面对新手的。书籍的话,我建议你把基础教程看完,再去买一本 think in Java,这样效果会好一点。
推荐楼主这两本
1.《 head first java 》适合基本没啥基础,又不喜欢看大段的文字类书籍的人。但这本书特别贵,也是仅仅入门。
2.《 Core java 》,中文名叫《 java 核心技术》这本书简浅易懂,很适合新手入门。知识点也说得比较详细,特别是一些细节很到位。
(二者选一即可)


壁虎老师 Java 基础视频百度云链接:
链接: https://pan.baidu.com/s/1Z-gkitkkSP0ZCI0OQ8Wo0A 提取码:6hmc

混 V2EX 也不容易,求打赏了!!拜托
wildnode
2019-03-22 00:33:22 +08:00
@xiaxiaokang
细细品味了一下您说的话,觉得您说的很对,我确实是操之过急了。
可能我只是不想承认和面对自己的惰性,所以拿语言什么的来说事儿了。
确实只要想学,不管什么语言都可以学到这些知识。
我想我应该静下心来想想您说的思想本质上是什么。
总之今天您这一席话让我非常受用,再次向您表示感谢。
谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/546863

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX