1.快速学习jav的战源方法有哪些?
快速学习jav的方法有哪些?
作者:Yifen Hao
链接:/question//answer/
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,战源非商业转载请注明出处。战源
1. 做完的战源东西记得写笔记。
比如在Spring中配置了redis集群,战源如果下次配置,战源web界面源码还要去网上搜,战源效率低,战源不如把那部分代码写到笔记里。战源
今天在idea中用插件把代码部署到docker里,战源也是战源一边谷歌,一边记笔记。战源
又比如一些常用的战源命令,总是战源会记不起来,用到的战源时候去搜谷歌,效率真的很低。不如记录下来。凤凰引擎源码
我自己用的notepad++记录笔记,一直开着,需要的时候用快捷键直接切换到前台,从来不会卡,从来不担心内容丢失。马上就能记下来。记得时候不用太担心格式,毕竟文字最重要。网卡搭建源码记录了之后,后面整理好,用markdown格式写到云笔记里。
2.坚持学习新东西
程序员只有一种死法,土死的。
Spring是个好东西,但是配置太繁琐了,如果自己想重新搞一个应用,linux 查找源码或者做一些功能小demo,先要弄一大堆配置,等弄完配置,心都冷了。Spring Boot作为新技术,大大简化了配置,启动一个web应用都不用写配置。我想验证一个功能,转帐生成源码点几下鼠标就能启动了。
学习java8,jdk8引入了lambda表达式,大大减少了繁杂代码,添加函数式方法,对集合的操作大大简化。新的time包由joda time作者所写,比之前的date,calender好用太多。
好用的东西还有guava库。
3.学习其他语言和编程范式
python,kotlin,多了解一下编程范式。java写多了,人真的变笨了。
4.多看优秀书籍
Java并发编程实战,Effective Java,重构,算法,HTTP权威指南等等
5.多看源码
我觉得自己有个优点,也算是个缺点,我接触到一个东西,我就特别想知道,它原理是什么,怎么实现的,忍不住点进去源码看看。
前不久把java并发的工具类看了。从UNSAFE开始,到LockSupport和原子工具类,到AQS实现,然后基于AQS的Lock,CountdownLatch,Semaphore,然后是基于Lock的阻塞队列实现等。
Java的容器代码,我基本也看过很多。
之前也看了Zookeeper的源码。
Spring的源码结构也基本了解了。