java技术学习参考

最近有朋友问我应该怎么学习java相关的技术成为一个开发工程师,所以就把自己的想法建议共享下。

1)首先要能搞定一般的业务需求,至少来活了能干:
马士兵JAVA基础教程
spring马士兵

2)代码能写出来了,流程也能跑通了,但不想让别人鄙视自己的代码,就要把代码写的漂亮些:
代码整洁之道
修改代码的艺术
重构 改善既有代码的设计
Head First 设计模式
设计模式

3)好了到这业务的需求能满足了,代码也漂亮但是有时会出一些性能问题或者想弄些高级代码,就跑不了jvm和多线程了:
Java并发编程实战
深入理解Java虚拟机
MAT——heap dump分析工具

4)现在别忘了,我们还是纸老虎,只能应付普通的工作,所以要尽快的把基础知识补充起来:
Java编程思想
Spring官方文档细读下
数据结构与算法分析
数据结构——上学时的教材
大话数据结构——听话不错还没有读过

5)现在应用系统差不多了,但是要写sql和数据库打交道呀:
mysql官方文档
高性能MySQL

单应用开发没问题了,要从环境和架构的角度看事情了:
大型网站技术架构

7)服务器
鸟哥的Linux私房菜

8)负载均衡:
LVS中文站点
HAProxy
nginx
深入理解Nginx

9)容器:
Apache Tomcat

10)缓存:
Redis
Redis设计与实现
Redis实战
memcached

11)队列:
MetaQ
Apache Kafka

12)RPC:
Dubbo
Apache Thrift

13)注册中心
Apache ZooKeeper

14)网络:
图解HTTP
图解TCP/IP
TCP/IP详解卷1:协议
Wireshark网络分析就这么简单
wireshark网络分析艺术
Wireshark ——抓包工具

还有作为一个合格的开发不仅要能写出代码实现需求还要能够测试、代码管理、交付等:
后续补充……

其实作为一个开发还有很多其他软素质相关的东西,比如沟通表达、工作的态度、对技术的态度、另外还有很重要的一点要学会科学上网。选择合适恰当高效的工具也非常有必要。
另外作为开发经常有的一个毛病就是认为编程是不需要练习的,其实编程也是需要不断的练习,不断的敲,就想《一万小时天才理论》提到的要持续不断的练习。多读些优秀的源码,对自己也会有很大的提升。

最后特别赞同鸟哥的一句话:“个人的发展只有借助于平台的发展才能一日千里。”!

持续更新……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,975评论 6 342
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,765评论 25 709
  • 感恩 今天终于突破了困境 今天灵性炼金依然陪伴我 今天很充实 今天高我依然很爱自己 今天我顿悟了很多 今天开心地和...
    fc8c4755608d阅读 331评论 0 0
  • 文/漂洋过海的鱼 好久没来《简书》了,大家好久不见,小鱼陆陆续续更新一些吧,即便只言片语,也是自我佐证。晚安大伙~
    阳光在暗处起舞阅读 193评论 0 0