如何才能高效的学习好Java?

1. 做完的东西记得写笔记。
比如在Spring中配置了redis集群,如果下次配置,还要去网上搜,效率低,不如把那部分代码写到笔记里。
今天在idea中用插件把代码部署到docker里,也是一边谷歌,一边记笔记。
又比如一些常用的命令,总是会记不起来,用到的时候去搜谷歌,效率真的很低。不如记录下来。

我自己用的notepad++记录笔记,一直开着,需要的时候用快捷键直接切换到前台,从来不会卡,从来不担心内容丢失。马上就能记下来。记得时候不用太担心格式,毕竟文字最重要。记录了之后,后面整理好,用markdown格式写到云笔记里。

2.坚持学习新东西
程序员只有一种死法,土死的。

Spring是个好东西,但是配置太繁琐了,如果自己想重新搞一个应用,或者做一些功能小demo,先要弄一大堆配置,等弄完配置,心都冷了。Spring Boot作为新技术,大大简化了配置,启动一个web应用都不用写配置。我想验证一个功能,点几下鼠标就能启动了。

学习java8,jdk8引入了lambda表达式,大大减少了繁杂代码,添加函数式方法,对集合的操作大大简化。新的time包由joda time作者所写,比之前的date,calender好用太多。如果你想学习Java可以来这个群,首先是一二六,中间是五三四,最后是五一九,里面有大量的学习资料可以下载。

好用的东西还有guava库。

3.学习其他语言和编程范式
python,kotlin,多了解一下编程范式。java写多了,人真的变笨了。

4.多看优秀书籍
Java并发编程实战,Effective Java,重构,算法,HTTP权威指南等等

5.多看源码
我觉得自己有个优点,也算是个缺点,我接触到一个东西,我就特别想知道,它原理是什么,怎么实现的,忍不住点进去源码看看。

前不久把java并发的工具类看了。从UNSAFE开始,到LockSupport和原子工具类,到AQS实现,然后基于AQS的Lock,CountdownLatch,Semaphore,然后是基于Lock的阻塞队列实现等。
Java的容器代码,我基本也看过很多。
之前也看了Zookeeper的源码。
Spring的源码结构也基本了解了。

以上5点是我努力的方向,每一点其实也并没有做的非常深入。希望后面能够不断加强。共勉!

时间: 2024-10-14 20:16:29

如何才能高效的学习好Java?的相关文章

怎么样学习好Java

问题描述 大家好,今天刚进这个论坛,听说这个论坛都汇集了很多的IT精英,一个问题想问一下各位大哥哥,我是学Java的大姐姐,但是总是学的不的很好,有时在学校老师说的一些题不知道从何下手,现在每天都很有压力,有时候真的想放弃了.希望那位哥哥,姐姐可以教我一下学习方法,谢谢啦! 解决方案 解决方案二:readabit,writeabit;thenreadmore,writemore.解决方案三:该回复于2011-04-25 09:44:01被版主删除解决方案四:谷歌金山词霸解决方案五:除了多敲代码,

《21天学通Java(第6版)》—— 1.5 组织类和类行为

1.5 组织类和类行为 21天学通Java(第6版) Java面向对象编程还涉及另外三个概念:继承.接口和包,这些都是用于组织类和类行为的机制. 1.5.1 继承 继承是面向对象编程中最重要的概念之一,直接影响您如何设计和编写Java类. 继承是一种机制,让一个类能够继承另一个类的所有行为和属性. 通过继承,一个类可自动拥有现有类的所有功能,因此只需定义与现有类不同的地方. 通过继承,所有的类(无论是您创建的类,还是Java类库中的类)都以严格的层次结构来组织. 继承其他类的类叫子类,被继承的类

如何才能高效的进行CSS编码?

在前面的文章中,我们提到了用什么软件来编写CSS文件.今天我们来看一些介绍:如何才能高效的进行CSS编码? CSS网页布局开发应该使用什么软件比较好  CSS 被吹捧的好处之一就是它能减小页面大小,由此缩短下载时间,不仅仅是首页的载入,还包括样式表被缓存以后,后续页面的载入也被加快了的那部分时间.这没错,但首页载入时间的缩短几乎看不出来,这是因为 CSS 代码往往过于冗长了. 好吧,现在一切都不同了.学点高效地进行 CSS 编码的技巧吧,让你把样式表马上裁减到最小为止.自然,你可能看不到什么惊人

java入门的困惑,到底怎么学些java?

问题描述 以前一直觉得java开发比起c,c++,有一点low.这两年u随着大数据的兴起,感觉java越来越吃香,Apache大数据生态圈,很多开元项目都是java写的.出于工作需要,不得不接触到java,longlongago,有一点c++编程经验,但是学起java感觉很吃力.基础的一些democode倒是很容易看懂,一接触到大量代码,一个文件中各种类,一个类中又套着N多类,看着看着就晕了.平时工作很忙,也没有时间从头扎扎实实的学起,感觉达到看源码的水平,很难啊..请教各位同学,java到底要

《21天学通Java(第6版)》—— 2.7 总结

2.7 总结 21天学通Java(第6版)任何打开matryoska套娃的人,在找到最小的洋娃娃后,都难免会失望. 在本章中,您看到了Java中最小的洋娃娃.语句和表达式让您能够创建高效的方法,进而创建出高效的对象和类. 在本章中,您学习了如何创建变量并给它赋值,还学习了使用字面量来表示数字.字符和字符串值以及如何使用运算符.在下一章中,您将使用这些技术来开发类. 本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的原始链接.

java基础-学到java集合框架中对那个复写equals的疑问,求解答

问题描述 学到java集合框架中对那个复写equals的疑问,求解答 import java.util.*; class Student implements Comparable { private String name; private int age; Student(String name,int age) { this.name = name; this.age = age; } public int compareTo(Student s) { int num = new Inte

机器人-如何访问需要cookie才能访问的网址(java)

问题描述 如何访问需要cookie才能访问的网址(java) 想做个QQ机器人,但是卡在这里了访问这个网址https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=0.4139144900254905会得到一个cookie,有这个cookie之后可以访问https://ssl.ptlogin2.qq.com/ptqrlogin?webqq_type=10&r

刚学的java,写了个压缩文件的小程序,一直没有成功

问题描述 刚学的java,写了个压缩文件的小程序,一直没有成功 public class f2Test { public static void main(String[] args){ frame02 f2=new frame02(); } } import java.awt.BorderLayout; import java.awt.Color; import java.awt.Image; import java.awt.Menu; import java.awt.MenuBar; imp

《21天学通Java(第6版)》—— 2.5 表达式和运算符

2.5 表达式和运算符 21天学通Java(第6版) 表达式是一条能够提供值的语句.最常见的是数学表达式,如下面的例子所示: 这3条语句都是表达式-它们提供了可被赋给变量的值.第1条语句将字面量3赋给变量x.第2条语句将变量x的值赋给变量y.在第3条语句中,乘法运算符*用来将x和y相乘,结果存储在变量z中. 表达式可以是任何变量.字面量和运算符的组合,也可以是方法调用,因为方法能够将一个值返回给调用它的类或对象. 您知道,表达式所提供的值称为返回值.在Java程序中,可将这个值赋给变量或以其他方