接下来就不能纸上谈兵了,最好的方法其实是实践。一般教科书上的例子并不能算是实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能是你自己越来越迷糊。
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的,比如在我的实践当中,我曾经学习过一个很经典的例子就是用Java实现的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我记不大清楚了。好象 是个网站,上面有原代码和一些基本设计的文档。
另一个来源可以到 是个不错的文档基地。从HotDraw上我学到了什么是Framework,以及如何用rolemodel的方式来构造,这样我就可以应用到其他的地方。顺便说一句,这个例子你绝对不会觉得小,只会觉得大,并且他还是真正的商用的Framework。
6、学习修改经典例子
结合前面学到的设计模式你就可以很好的理解这些经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
好象以上谈的跟Java没什么关系,其实我们早就应该从单纯的学习语言到真正的学习好编程的领域。学习技术是没有止境的,你学习第一种语言可能要半年时间,以后每种语言都不应该超过两个月,否则你会觉得学习语言是包袱,是痛苦。
7、学以致用
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。
鉴于许多人缺少系统性的学习方式,今天免费给大家分享一套Alibaba出品的Java成长笔记,主要是将Java程序员按照年限来进行分层,清晰的标注着Java程序员应该按照怎样的路线来提升自己,需要去学习哪些技术点。
下面会介绍这份Java成长笔记的主要内容涵盖的知识点,由于文章篇幅,所以只展示了截图内容
如有需要完整版PDF文档,可到文末点击名片,扫码免费领取
Part1:0-1年入门
-
Java基础复盘(面向对象+Java的超类+Java的反射机制+异常处理+集合+泛型+基础IO操作+多线程+网络编程+JDK新特性)
-
Web编程初探(Servlet+MySQL数据库+商品管理系统实战)
-
SSM从入门到精通(Spring+SpringMVC+Mybatis+商品管理系统实战-SSM版)
-
SpringBoot快速上手(SpringBoot+基于SpringBoot的商品管理系统实战)
1.Java基础复盘
2.Web编程初探
3.SSM从入门到精通
4.SpringBoot快速上手
Part2:1-3年高工
-
并发编程进阶(并发工具类实战+CAS+显示锁解析+线程池内部机制+性能优化)
-
JVM深度剖析(理解运行时数据区+堆外内存解读+JDK+内存泄漏问题排查+Arthas+GC算法和垃圾回收器+类加载机制等)
-
MySQL深度进阶
-
深入Tomcat底层(线程模型+性能调优)
1.并发编程进阶
2.JVM深度剖析
3.MySQL深度进阶
4.深入Tomcat底层
Part3:3-5年资深
-
数据库(调优+事务+锁+集群+主从+缓存等)
-
Linux(命令+生产环境+日志等)
-
中间件&分布式(dubbo+MQ/kafka、ElasticSearch、SpringCloud等组件)
1.数据库
2.Linux
3.中间件&分布式
Part4:5-7年架构
- 开源框架(Spring5源码+SpringMVC源码+Mybatis源码)
结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
[外链图片转存中…(img-micluIcz-1714677436482)]
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!