怎么自学 Java 啊

2017-05-15 17:26:50 +08:00
 Romanticlizhi

    毕业后从前端转到 Java 了,平时上班有空就自学 Java,从今年三月开始到现在 Java 基础基本的都学习的差不多了(或者哪些 Java 基础是需要重点学习和巩固的提出来告诉我一下),想着手开始学习 spring,学习 tomcat,学习 jvm,但总感觉自己没有一个好的入手点,有没有 Java 老司机给点建议怎么自学啊,自己尝试了很多,但总感觉学习方法不对,花了很多时间发现效果也不好,没有项目经验,转型不久,各位 Java 老司机给点建议啊,欢迎联系我给我中肯的建议,先谢谢啦!

8147 次点击
所在节点    程序员
72 条回复
hepin1989
2017-05-16 20:20:31 +08:00
@AltairT 个人不建议学习 struts,在来这边几乎是淘汰产品,现在都是前后端分离,直接搞 SpringBoot 或者 Play 吧。真的,亲,不骗你。
sorra
2017-05-16 20:31:55 +08:00
我认为 Java 的学习难度主要在于入门的好书少、软件生态不统一。
《 Spring 3.x 企业应用开发实战》更新到了 4.x,学框架看这本基本上就够了,然后看看江南白衣的博客、开涛的博客、InfoQ 等等。语言入门不知道推荐哪本好,因为我以前用的《 Java 核心技术》和《 Java 编程思想》都不是很满意。
然后就是多写,多 debug,积累经验。
AltairT
2017-05-17 00:22:37 +08:00
@hepin1989 起点比较低,之前是做单片机的。目前在南京不入流小公司混,自学做点初级安卓。我知道 spring boot 是趋势( play 框架我都没听过 /泪),但是学 ssh ssm 是务实的选择。如有更多建议,请不吝赐教。
hepin1989
2017-05-17 01:58:37 +08:00
@AltairT 您好,我刚刚在知乎上提问,才看到。

其实说实话,我大学那会儿也喜欢学习单片机,后来我转行搞了 Android,在最后又变成了服务器了。

如果你问我最中肯的建议,我可能觉得您可以在 IOT,也就是单片机进行深挖。

当然如果您已经铁定心转行了,我建议您在 Java 基础知识、网络并发编程、分布式系统方面深挖,为何,你现在如果来阿里了,你会发现这些都是你日常工作中需要用到的。

当然这些知识,就算你日常中不会完全接触到,也可以增加你面试的时候的杠杆吧。

所以,如果落实下,我建议和上面一样,Spring Boot 或者 Play 开始,作为主线,然后延伸开,如果没有一条主线,学了西瓜丢西瓜也是不好的。还有虽然小公司,不过业务挑战大,也很能够锻炼人,不过你要以更高的要求要求自己,对吧,比如在小公司的时候想来大公司,来了大公司就要做更大的事情,其实是一样的,不变的都是我们一起努力。

对我个人来说,对我提升非常非常大的就是 Netty、Play 和 Akka,当然也包括 Scala。这些对我来说就是穿针引线,当然我贡献出来也有人会觉得我太剑走偏锋了,实际上,我对 Spring 5 这些也学习了一遍。多掌握点技术,有一两门看家本领,我觉得还是很吃香的。如果别人干啥,你干啥,那么你的作用和特点是什么?可插拔性?

反正一起加油吧,技术路线和职业规划我也只能分享我的,以及提点建议,并不能够为您做出任何决定,不过还是那句话,做或者不做,而不要试。与君共勉。

当然,如果您想要了解 Java 网络编程相关的知识也可以买《 Netty 实战》,或者找我签售,社区也在搞活动,当认识新朋友了。毕竟大家都是不断不断成长的,您说是吧。
nanjishidu
2017-05-17 08:29:37 +08:00
@yanchao7511461 据说。。。可以用一下。。。只要有判断能力就行
eurry
2017-05-17 08:59:04 +08:00
FrankD
2017-05-17 09:02:01 +08:00
先定个具体的目标比较好,比如做个电商类的网站,前期做出功能就行。做着做着就知道自己哪一块的知识薄弱,然后再去补就好了。
ajan
2017-05-17 09:46:24 +08:00
System.out.println("我只是想输出个字符串...");
hellojl
2017-05-17 10:50:35 +08:00
想要巩固一下的话,可以看看 Effective Java,然后看看 Head First 设计模式。前者短小,但是值得细看。后者看上去厚,其实很快就能看完。
自学的话,在学习中不断地获得成就感很重要。可以尝试做一点东西。这个阶段推荐直接上手一些框架,Spring、MyBatis 之类的。最好的材料是官方文档,Spring 的话还可以看下 spring in action
随着对 Java 使用的越熟练,可以去看下更深层次的东西,并发,Jvm 等等,以及其他在后端广泛应用的技术,分布式,NoSQL 等等
gowk
2017-05-22 16:58:00 +08:00
@Arainc Python Javascript,或者 Go 都可以
Romanticlizhi
2017-05-22 19:15:59 +08:00
@eurry 克服了好久去阅读英文文档,然而到现在还是看到就头疼。。。
Romanticlizhi
2017-05-24 15:37:11 +08:00
@huiyue 没人带的话怎么破。。

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

https://tanronggui.xyz/t/361481

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

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

© 2021 V2EX