十年资深架构师告诉Java程序员成为架构师必须要掌握的知识点

一、分布式架构

分布式架构是 分布式计算技术的应用和工具,目前成熟的技术包括J2EE, CORBA和.NET(DCOM),这些技术牵扯的内容非常广,并不是一两句话就能说清楚的。因此想了解分布式知识点的可以进群:697579751 获取免费的视频录像学习:Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析

二、工程化专题

1、Maven

在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的

2、Git

一个专业的程序员,怎么能不掌握Git呢?版本控制领域,已经发展了一段时间,从古老的CVS,到SVN集中式管理,再到现在的Git。由于Git的分布式、everything is local、分支等诸多特性,让越来越多的项目开始从SVN迁移到Git进行管理。

3、Jenkins

Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建、自动编译和部署,非常方便。

在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器数量的增加,Jenkins的优势就会凸显出来,可以很好的提高效率,减少很多人工操作。

公司的项目自动自动化部署是采用 Jenkins,并且编写自动构建的shell脚本。

由于项目是前后端分离,前端和后端都是单独部署的, 后端 采用 JAVA编写,使用Maven管理多模块和项目依赖, 前段使用 npm 管理项目组件依赖, webpack进行打包。

4、Sonar

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

三、微服务架构

1、微框架

微服务架构(MSA)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。 用通俗的话来讲,就是为了高度解耦软件之间的依赖性,使每个独立的模块都能够单独测试,单独运维,最大限度的提高软件的开发流程。

2、Docker虚拟化

Docker有着小巧、迁移部署快速、运行高效等特点,但隔离性比服务器虚拟化差:不同的集装箱属于不同的运单(Docker上运行不同的应用实例),相互独立(隔离)。但由同一个库管人员管理(主机操作系统内核),因此通过库管人员可以看到所有集装箱的相关信息(因为共享操作系统内核,因此相关信息会共享)。

四、性能优化

性能优化,简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。性能问题永远是永恒的主题之一,而优化则更需要技巧。

五、源码分析

源码主要功用有如下2种作用:

1.生成目标代码,即计算机可以识别的代码。

2.对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处

我们在写程式时,有不少时间都是在看别人的代码。

例如看小组的代码,看小组整合的守则,若一开始没规划怎么看,不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间下,不免会对庞大的源代码解读感到压力。

六、项目实战

项目实战,为你的简历镀金,系统的帮你梳理知识体系。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏精讲JAVA

我热爱编程,但厌恶这个行业

在我十岁的时候,我觉得这个世界上没有什么东西能比我老爸的那台破电脑更好玩的了。后来,我成为一名Web开发爱好者。大学毕业之后,我在一个非盈利组织工作,那个时候赚...

572
来自专栏云计算D1net

云计算的安全问题将引起企业的重视

1986
来自专栏互联网数据官iCDO

自助性BI工具:Clearify QQube

插播:关注“互联网数据官”回复“独立站PPT”下载宋星老师跨境独立站营销的流量策略最新演讲PPT。 译者:严小鳙、审校:李晓艳 本文长度为1683字,预估阅读时...

2935
来自专栏北京马哥教育

Linus:鄙视用道德绑架开源的行为

在 Linux 开始发布时,Linus Torvalds 为何选择非 GPL 许可而不是 GPL ?让我们一起来看看 Linus Torvalds 的回答。本...

3496
来自专栏全华班

项目实施流程及规范

项目实施流程及规范主要包含: 1、项目实施管理规范(包含每个项目阶段的主要任务,工作流程,以及相关文档体系管理),落实形成项 。2、项目服务管理包含:项目服务(...

3926
来自专栏大葡萄元元

寻找完美平台APP测试方案

测试应用很繁琐,完美的测试方案在哪才能被发现?网页,微信,还是微信公众号,不同渠道获取的信息怎样才能获取最优质的?希望今天的推荐可以让你找的优秀的方案。

661
来自专栏IT笔记

给大家推荐8个SpringBoot精选项目

2017年,曾在自己的博客中写下这样一段话:有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。

691
来自专栏平凡文摘

我热爱编程,但厌恶这个行业

1755
来自专栏前端笔记

【WordPress 5.0】2018年建站首选!WordPress的趋势及展望!

WordPress 5.0 2018年建站首选!WordPress的趋势及展望! 2018年新年之际、想必许多个人和企业都想在新的一年里来个“咸鱼大翻身,鸭子变...

60712
来自专栏北京马哥教育

学Linux运维自动化无头绪?这21个学习资源值得看

运维工种对于自动化的强烈需求已经显露无疑——作为一个古老的技术工种,在几台、几十台服务器时尚可人肉维护,面对云计算时代动辄上百上千的服务器,单凭人肉维护显然束手...

3456

扫码关注云+社区