zoukankan      html  css  js  c++  java
  • java程序员技术知识体系 转载

    1.基础:这一部分你需要学习精通java基础知识,如jvm原理,core java。熟悉jvm架构体系,运行原理,如何进行jvm调优。当然看这些可能在实际工作中不一定用的到,但当出现棘手问题时可做理论参考;你需要熟练使用core java中的一些编程技巧,掌握常用的工具包,集合包,优秀的开源包。了解并能熟练运用一些java代码优化策略,写出规范的代码,运用一些设计模式,java多态等面向对象的软件设计思想。

    推荐书籍:深入理解jvm原理;thinking in java;java二十三种设计模式;编写高质量java代码的150条建议;java性能优化

    2.业务:熟练运用java后,就可以开始一些业务开发了。做业务开发前你需要了解j2ee规范,了解servlet原理,j2ee常用组件,这些是业务开发的基础之基础。其实目前市面常用的都是spring,mybatis等。你需要了解spring的整个体系,如spring-context,spring-bean,spring-mvc等。还要了解对象持久化的一些框架组件mybatis等,了解他们的原理,架构是如何设计的。常用的使用场景及实施步骤;熟练运用这些框架组件后,你需要了解熟悉数据库的一些原理和操作,mysql的使用,及sql优化,一些大数据量表的拆分(水平,垂直拆分),分片策略,主从复制等。了解常用的数据库问题的解决方案。

    推荐书籍:深入理解spring内幕技术;spring源码解析;spring in action;mysql性能优化;高性能mysql;深入理解java web内幕;等等

    3.大数据量高并发:在大多数互联网公司,随机业务发展都会面临数据的体量几何级增长,用户访问量暴增的场景。你需要掌握如何对大数据的请求如何进行并发控制,分流控制。将大化小。这时候你需要去了解java并发的东西,熟悉java常用的一些并发操作。如并发锁,原子操作,并发集合类。掌握锁原理,锁优化技巧,java常用的并发类,java线程池的原理和使用,多读java并发包下的类concurrentHashmap,copyOnWriteList,synchronizedMap,HashTable,aqs等原理及使用场景;熟悉一些nosql数据库的使用和原理,优化技巧。如常用的redis数据库,redis的存储结构,常用数据类型等,redis的一些优化策略。可以去了解下一些文档数据库如mongodb的原理和使用。比较下它们的优势,及它们在某些棘手问题上是如何解决的。知道人家的解决方案是什么,是如何落地的。

    推荐书籍:java并发编程实战;java并发编程的艺术;七周七并发;java 7并发编程实战手册;java多线程;java nio;nosql数据库入门;redis架构设计;mongodb相关书籍;

    4.视野/架构:如果你掌握了上述三块的知识后,你的java知识能力和应用能力已经相当不错了,后面你需要的就是提高自己的软件设计思想,软件架构思想,保持自己在软件开发上面的前瞻性。你需要了解大型网站的整体架构,了解他们内部用了哪些东西,如服务治理工具soa,消息队列服务,配置中心,协调中心等,了解这些项目/系统在这个架构体系充当的作用和角色(为什么需要它,它解决了什么问题,它是如何做的即了解它自身的架构,了解这些项目之间是如何协作的。同时你需要了解这些系统/体系中一些优秀的开源框架/服务。知道如何去使用它。第二就是多去看看大型网站中在实践过程中遇到的一些问题,以及他们是如何解决的。学习别人的经验,作为己用。第三保持技术的敏感性,对新技术新的解决方案保持好奇心。

    推荐书籍:大型网站系统与java中间件实践;java应用;大型分布式网站架构设计与实践;大型网站技术架构核心原理与案例分析;zookeeper源码解析;等等

    总结:

    基础>多线程>内存管理>网络编程

    Spring 使用>spring 源码实现

    JDK源码阅读

  • 相关阅读:
    软件开发和机械制造的核心差别
    不做纯技术导向的程序员与中国特色的社会主义
    从代码里你可以看到什么?
    多少钱才可让人重拾理想
    项目经理一定比码农好么?
    技术还是管理?
    评李彦宏先生的内部邮件
    组织行为学对项目管理的意义(1)
    组织行为学对项目管理的意义:动机理论
    Silverlight与ashx通讯序列化DateTime时需注意的细节
  • 原文地址:https://www.cnblogs.com/supperlhg/p/9378254.html
Copyright © 2011-2022 走看看