代码改变世界

统一回复一下同学们的咨询

2015-03-11 14:57  Rollen Holt  阅读(2358)  评论(5编辑  收藏  举报

时不时的会收到一些邮件,或者博客园的站内信,来询问我一些事情。绝大多数咨询者属于在校快毕业找工作的学生,询问的问题也大都是如下:

  • 快毕业了,感觉没学到什么,不知道该怎么办
  • 还剩下几个月找工作了,应该怎么提升
  • 。。。。

幸好问我的同学大都是咨询 java 相关的东西,而且还是比较基础的,还好我还能回答一下,如果是咨询其他的,我估计还回答不上了,哈哈。非常感谢各位很看的起我,那我也就统一回复一下,关于如何在几个月内尽快提升能达到『干活』的程度,还请拍砖。

对于java学习的话, 有几个需要注意的地方是java的集合类, 包括并发集合那些必须好好掌握.实际工作中经常需要用到这些. 对于多线程的地方, 也需要了解. 但是用的没有集合多哈.

如果想要提高的话还是有不少的书籍推荐的. 这三本书都很不错.不过设计模式可以一开始不看, 因为没项目经验的话, 看了也看不懂. 可以后来又项目经验了去看看.

多看一下常用的开源项目

  • google Guava, 比jdk写的还好的常用工具类, 《getting started with google guava》这个书不错,不过是英文的。看起来不吃力。
  • Apache commons lang3

这两个常用的工具框架一定要熟练掌握和使用。前期可以先了解一下这2个东西都提供了哪些 api,然后对比一下之前完成这些功能的时候是怎么谢写的,然后再看看别人是怎么写的。但是估计源码看起来很吃力。不过这个也不是很打紧。慢慢来就好了。先会用这些 api 就已经很不错了。

熟练使用上面的2个框架,会让你的编码水平和代码质量提升不止一个档次。

然后去尝试学习和使用下面的几个框架:

  • Spring 完整的改变了java代码的编写风格
  • Spring MVC
  • Mybatis 持久层框架, 更加贴近原始的 jdbc
  • Jackson java和json交互的东西 ,JsonPath
  • Slf4j,logback 日志相关
  • Junit或者TestNG 测试相关的东西
  • Mockito
  • Quartz 任务调度相关(这个可以了解知道有这个东西就好了,估计你没那么多的时间)

上面提到的这几个框架一定要好好的学习和使用。关于 Spring,推荐一本书《Spring 3.x 企业应用开发实战》,

  • Mysql基本用法, 事务, 在进一步的话,了解一下乐观锁, 悲观锁 两阶段提交协议 paxos算法的原理
  • IDEA 熟练一下idea这个ide, 抛弃eclipse, 提高生产率

这几个都是实际工作中非常常用的东西, 先学会这些东西怎么用.估计你至少得用几个月熟练掌握吧. 遇到不会的问题多google. 第一阶段先学会怎么用这些东西, 然后去看看为什么要用这些东西,

学会这些基本可以应付你能够找到一个非常不错的工作了, 然后再考虑接下来怎么继续深入了.

怎么深入的话题现在说也没用, 往往会与工作的内容相关了。这个就不好说了,不属于本文章的范畴哈哈。