"IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、更实用的知识与技能,快速提升职场竞争力。 点击蓝色微信名可快速关注我们!
笔者在工作中经常接触到刚入职场的年轻人,发现很多年轻人常常会走很多弯路,容易出现难以胜任日常的开发任务情况。他们很努力,但能力欠佳,苦于不知如何深入学习。
作为拥有多年Java开发经验的工程师,经常会被问到以下几种问题:
如何入门Java开发?
如何提高技术水平?
如何选择技术框架?
......
笔者基于自己多年的工作经验,梳理总结了这份Java知识图谱,希望自己总结的这条技术深入路线以及在多年实践中积累的学习方法能给Java学习道路上的你指引方向。
这条路线图主要分为三个部分:Java基础入门、常用技术框架和中间件掌握、大数据和云原生化。
第一部分:Java基础入门
首先是Java基本语法、数据结构、算法。例如Java基础有数据类型、数组、集合、IO流、线程、反射、泛型等相关知识点的掌握,推荐参考《Java核心技术》等书籍,同时也需要了解常用的一些数据结构和算法,例如数据结构的存储方式为数组和链表,以及上层的散列表、栈、队列、堆、树、图等;算法例如迭代、递归、回溯、双指针、动态规划等。数据结构是工具,算法是通过合适的工具解决特定问题的方法。推荐网站有国内力扣(Leetcode)官网、牛客网等。
其次掌握Linux相关服务器命令,例如服务部署、日志查看、服务监控、服务异常诊断的方法等,推荐参考书籍《Linux私房菜》可供随手翻阅的工具书。
最后是知识巩固,找一些简单的项目,自己实践,并能熟练的搭建运行起来。
第二部分:常用技术框架和中间件掌握
对于日常工作中使用Spring相关技术框架会应用很普遍,比如SpringCloud相关组件,如何使用,也需了解其底层实现机制,让我们知其然知其所以然。例如面对高并发场景,需要考虑多线程相关应用、异步处理、扩容、队列、缓存等相关的应用。了解jvm底层运行原理,以及相关的垃圾回收机制,让我们的应用不仅仅只是跑起来,而且能保证服务运行稳定,研究Spring框架源码,了解其内部运行机制,方便日后多定制化扩展。
掌握常用的中间件使用技能,例如MySQL、Redis、Kafka、RocketMQ、ElasticSearch等了解其最佳应用场景,合理的引入到业务场景中。推荐有问题优先参考官网查看一手资料。
面对复杂的业务系统,如何进行服务划分,如何确定业务边界,相信DDD(领域驱动模式)有一套相对完善的解决方案,其从战略角度去规划系统、划分领域,从战术角度在技术层面来指导我们该如何去设计;业务开发中,面对类似场景重复出现,合理的使用设计模式可以让代码的可读性、复用性,可靠性大大提升,推荐参考《设计模式》书籍。
第三部分:大数据和云原生化
随着业务的运营稳步提升,业务数据也随着变得非常巨大,如何能在纷繁复杂的数据中理解用户的意图,通过数据来提升效率,提高用户体验,为用户画像,这就需要使用大数据技术,学习和掌握大数据框架也是一个必然的趋势。推荐Flink官网、Hadoop官网,上面有搭建方法以及相关操作Demo示例。
云原生是一种模式,要求更高可用性和伸缩性,能自动针对流量扩缩容,如何与Java生态体系对接,需要我们使用Docker将服务容器化,并迁移部署到云平台。相信Kubernetes框架可以给出我们一个答案。推荐网站 Docker官网、Kubernetes官网,上面都有很多例子以及相关实践文档。
通过上面三个模块的学习,动手进行实操和总结,从而在自己的脑海中绘制属于自己的技术版图。
(点击图片可放大观看)
免费直播课程
12月16日(周四)具有逾十年研发工作经验曾负责多个大型软件项目产研工作具备七年产研团队管理经验何为 老师为您带来免费直播课:Java服务端研发知识图谱
开放时间:2021年12月16日(周四)20:00主讲老师:何为课程类型:视频直播观看平台: 九州云播平台 机械工业出版社视频号 机械工业出版社IT有得聊视频号 当当直播平台 京东直播平台
讲师介绍
何为
先后从事手机端研发和服务端研发工作逾十年,具备七年产研团队管理经验,曾负责多个大型软件项目产研工作。对研发领域从C++、Java语言到服务的总体运行均有深刻的理解,注重技术的迭代与实用性,并兼顾团队的技术创新与普及。
相关图书
Java服务端研发知识图谱
Java服务端领域探索的一张微缩地图
作者:何为 迟文恒 编著
ISBN:978-7-111-61011-3
主要讲解了Java语言的使用和特性、Maven工程管理、Svn和Git代码管理、Linux服务器命令;框架部分包含Spring框架治理、SpringMVC、SpringBoot、框架演进讲解、SpringCloud微服务框架。组件部分包含MySQL数据库及操作、MongoDB存储、Redis缓存、Zookeeper配置及注册发现原理、FastDFS文件存储、ElasticSearch搜索、定时任务、RabbitMQ消息队列、ELK日志展示及分析;部署部分包含Docker镜像技术、Jenkins持续集成、Harbor镜像仓库、Rancher容器管理;工具部分包含Swagger接口文档编写及测试工具、JMeter测试工具、VisualVm分析工具等。