Java持续学习

来源:互联网 发布:一步之遥知乎 编辑:程序博客网 时间:2024/06/03 05:41

最近一直在考虑怎么样更好的使用、学习和研究Java,在网上也搜索了一些资料,这里做个笔记和总结,为今后的持续学习提供一个对比,毕竟以人为镜可以明得失。

一、JDK类库/著名开源类库

在使用Java开发的过程中,恐怕打交道最多的就是jdk中的类库了,个人感觉对jdk类库的熟悉程度,不仅体现一个程序员的Java基础,也一定程度上反映了一个程序员所处的档次(是中级还是高级)。

1.必须掌握和阅读源码的类库

java.io  java.lang  java.util

java.util包中的类,如果熟悉他们的原理和数据结构,恐怕在调试过程会有事半功倍的感觉。

2.深刻理解原理及在开源框架中应用的类库

java.lang.reflect  java.net  javax.net.*  java.nio.*  java.util.concurrent.*

例如:
java.lang.reflect下的类:

  • 反射类在spring Bean加载和实例化的过程中有广泛的应用;
  • 动态代理类在spring AOP中有广泛的应用;

javax.net下的类:
在https中的广泛应用;

3.项目中用到时会熟练使用的类

java.util.regex  java.util.zipjava.math  java.text

当然还有一些其它较常见的类:

java.lang.annotationjavax.annotation.*java.lang.refjava.security.*javax.security.*java.sqljavax.sql.*javax.transaction.*javax.xml.*org.w3c.dom.*org.xml.sax.*javax.crypto.*javax.imageio.*javax.jws.*java.util.jarjava.util.loggingjava.util.prefs 

4.著名的开源类库

(1)Apache Commons

其中比较常用的有BeanUtilsCollections等。

(2)Apache HttpComponents
(3)Guava: Google Core Libraries for Java

二、Java研读书籍

《Java编程思想》
《大话设计模式》
《重构 改善既有代码的设计》
《effective java》
《深入理解Java虚拟机》
《Java并发编程实战》
《Spring技术内幕》
《深入理解计算机系统》
《tcp/ip详解 卷一、二、三》
《数据结构与算法》

三、持续学习

保持对新技术的学习与对业务的结合使用,这个就人各有志了,例如:
(1)大型分布式架构:

  • 分布式缓存(redis/memcache)
  • RPC服务发现(分布式服务)
  • 海量存储(MySQL MHA&读写分离&分库分表、Hbase)

(2)大数据与数据挖掘(Hadoop离线计算、Storm实时流式计算)
(3)机器学习(Mahout/spark mllib)、深度学习(TensorFlow/Caffe,分别由Google和Facebook开源)等。
(4)结合业务场景对其它语言的应用:Python、Go等。

0 0
原创粉丝点击