Java 从入门到进阶怎么提升

2019-06-19 13:08:13 +08:00
 leishi1313
小弟入职新公司做 Java 后端快小半年了,之前有过 1 年半的 Python 经验,入职前完全没有 Java 的经验。现在业务代码基本能写了,磕磕绊绊抄抄已经有的代码,但是测试写起来比较痛苦,对于很多的语法也只是知道怎么用,背后原理实现完全没有概念。想请教大家这种情况下该如何提升呢?
我本科科班出身,基本的编程素养还是有的,主要是 Java 这门语言的一些进阶话题,各种包的实现,设计模式之类的,effective java 也在看,除此以外除了看源码还有其他途径吗?
PS spring 之类的框架就不用了公司用的是自己的,injection 倒是也需要好好看看
PPS 程序设计方面的也可以,设计文档讨论会上老是插不上嘴很头疼
4918 次点击
所在节点    Java
17 条回复
kkjinping
2019-06-19 13:53:41 +08:00
jdk 源码可以找些类看看,比如 ArrayList 等常用的。
Spring 还是要了解下的,实现原理,特性。
并发编程、concurrent 包。
设计模式的了解下有哪些,在你看 spring 等框架的时候会看到一些模式的体现。
去开源中国、github 上找一些开源的项目去看看项目结构、所用的中间件、尽量找注释全的。
去看看 mysql、redis、mongodb、dubbo、spring cloud 等。
mooncakejs
2019-06-19 14:17:16 +08:00
看 effective java+ 设计模式就够了,剩下来的交给实践。 如果要跳槽再看面经。
leishi1313
2019-06-19 14:21:44 +08:00
@kkjinping 谢谢了。就是想了解下 Java 这个话题下除了 spring 和源码,还有哪些学习的途径?开源或者 mysql,redis 之类的我知道重要,但是对于工作不会有提升,因为公司全是自己的一套😅。主要是 Java 语言特性,设计模式,程序设计这块有什么书,课程,教程?
Raymon111111
2019-06-19 14:21:51 +08:00
答案是去大公司
leishi1313
2019-06-19 14:24:07 +08:00
@Raymon111111 哈哈去大公司也不是说能自己把知识注入不是,但公司也不小,周围能人还是很多的
leishi1313
2019-06-19 14:26:10 +08:00
@mooncakejs 书都有正在看,但是觉得只有 6 70 能自己有体会,剩下的要么是这话题都没听过,要么就是不知道这能干嘛,这样一来好像也只有多看多写了
AlexLixin
2019-06-19 14:29:28 +08:00
根据楼主的表述,个人认为楼主感到困难的原因是 Java 语言基础不扎实,两个月快速读一下《 Thinking in Java 》会有很大收获的。《 Effective Java 》应该在能彻底掌握 Java 语言的情况下去读,该书讲的是在有好几种解决方案的前提下如何写出最好的 Java 代码和如何优化的问题,而不是如何出方案。
mooncakejs
2019-06-19 14:34:39 +08:00
@leishi1313 实际项目,特别是互联网项目,存在各种各样的妥协(为了性能,为了赶工),而且需求变动,可能一个模块一个模块废弃,太追求范式不是好事。
justRua
2019-06-19 14:40:02 +08:00
《 java 编程思想》( Thinking in Java )--> 《 java 并发编程实战》(电子工业出版社那本)--> 《深入理解 jvm 》
这些书有些年份了但很经典,看完后再查查 jdk 每个版本的变动。其他的再抽空看看设计模式、数据库、网络什么的。
xiaowangge
2019-06-19 15:00:10 +08:00
xiaowangge
2019-06-19 15:01:37 +08:00
《 Thinking in Java 》看不下去的话,可以看这本书:

《 Java 编程的逻辑》
https://www.cnblogs.com/swiftma/p/5631311.html
xiaoidea
2019-06-19 17:52:18 +08:00
@xiaowangge 这也太老了
solwyer
2019-06-19 18:01:27 +08:00
leishi1313
2019-06-20 01:18:44 +08:00
@xiaowangge 多谢,书都不错!
@solwyer 教程看着不错,但公司有自己的框架哈
MotherShip
2019-06-24 12:20:41 +08:00
@xiaoidea 可以补充一点新的东西嘛?
lannoooW
2019-07-04 20:32:19 +08:00
看源码
Dingjiangnan
2019-08-04 19:36:31 +08:00
@xiaowangge 技术选型老啦 他是 15 年写的,推荐的书不错

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

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

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

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

© 2021 V2EX