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源码解析;等等。
网上报名
新闻资讯
更多>>-
程序员如何高效工作,学码思IT培训给你建议
2018-06-14
-
选择Java培训机构,学码思资质好
2018-06-14
-
南京UI培训费用贵不贵
2018-06-14
-
南京UI设计培训哪家好,跟学码思学技能
2018-06-14
-
南京UI设计师培训机构哪家好
2018-06-14