java系统架构师
java软件开发工程师与java软件架构师的区别如下:
java软件开发工程师是从事软件开发相关工作的人员的统称。主要职责有:RFID相关应用软件、信息管理类软件的设计、研发、维护、安装实施;数据库管理及应用开发;根据要求进行软件概要设计、详细设计、编码、单元测试工作及说明文档的编写。
而java软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。
㈡ java架构师主要是干什么的
java架构师需要做六个方面的工作。
㈢ Java架构师有哪些要求
什么是架构?什么是架构师?Java架构师和工程师有何区别?这似乎是聊架构话题时永恒的问题。
因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同;从不同的技术角度看,架构师又是个变色龙,一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。
那么,该如何回答“什么是架构,什么是架构师”这个问题呢?这或许需要先搞清楚另外一个问题——一名程序员是如何走上架构师之路的?通过很多实际案例,可以看出,程序员走上架构师之路,总结起来最多的原因是因为他早前代码写的好。
其实能否成为架构师跟机遇有很大关系,比如一个程序员,以上都做到了,但是公司并没有给他这个机会去做,一个真正架构的机会。因为之前的架构师不离职他就没有机会,这就是现实!
原文:https://www.hu.com/question
㈣ 成为一个java的架构师要学习哪些知识
既然java架构师,首先你要是一个高级java攻城尸,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池...:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hashmap的实现原理,好多五年以上经验的人都弄不清楚,还有为什扩容时有性能问题?不弄清楚这些原理,就写不出高效的代码,还会认为自己做的很对;总之一句话越基础的东西越重要,很多人认为自己会用它们写代码了,其实仅仅是知道如何调用api而已,离会用还差的远。
熟练使用各种数据结构和算法,数组、哈希、链表、排序树...,一句话要么是时间换空间要么是空间换时间,这里展开可以说一大堆,需要有一定的应用经验,用于解决各种性能或业务上的问题;有时间再补充。
熟练使用linux操作系统,必备,没什么好说的 。
熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议,尤其是http头,我发现好多工作五年以上的都弄不清session和cookie的生命周期以及它们之间的关联。
系统集群、负载均衡、反向代理、动静分离,网站静态化 。
分布式存储系统nfs,fastdfs,tfs,Hadoop了解他们的优缺点,适用场景 。
分布式缓存技术memcached,redis,提高系统性能必备,一句话,把硬盘上的内容放到内存里来提速,顺便提个算法一致性hash 。
工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题。
数据库的设计能力,mysql必备,最基础的数据库工具,免费好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba。其他nosql数据库如mongodb。
还有队列中间件。如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统。
以上纯粹是常用的技术,还有很多自己慢慢去摸索吧;因为要知道的东西很多,所以要成为一名合格的架构师,必须要有强大的自学能力,没有人会手把手的教给你所有的东西。
想成为架构师不是懂了一大堆技术就可以了,这些是解决问题的基础、是工具,不懂这些怎么去提解决方案呢?这是成为架构师的必要条件。
架构师还要针对业务特点、系统的性能要求提出能解决问题成本最低的设计方案才合格,人家一个几百人用户的系统,访问量不大,数据量小,你给人家上集群、上分布式存储、上高端服务器,为了架构而架构,这是最扯淡的,架构师的作用就是第一满足业务需求,第二最低的硬件网络成本和技术维护成本。
架构师还要根据业务发展阶段,提前预见发展到下一个阶段系统架构的解决方案,并且设计当前架构时将架构的升级扩展考虑进去,做到易于升级;否则等系统瓶颈来了,出问题了再去出方案,或现有架构无法扩展直接扔掉重做,或扩展麻烦问题一大堆,这会对企业造成损失;
手机手工输入的,想到哪里写到哪里,很乱..做技术的,表达能力不强,将就着看吧,欢迎大家补充,互相学习交流,有学习有交流才有进步。
刚用知乎发现它的编辑器真难用,发布后段落前面的空格没有了,存草稿后回车换行没有了,刚刚重新整理了一下
㈤ java架构师 需要什么条件
java架构师,现在很多新手都知道的名词,这个职位最早在IT领域是没有的,是由于最近几年来,互联网的迅猛发展,网站对于对数据量和高并的活跃度发所引发的需求,引起了众多传统的技术人员的力不从心,越来越多的企业关注到了系统架构的重要性,所以不同行业开始招募架构技术人员,架构师就诞生了。
那么架构师的薪资一般是多少呢:
所以,你的疑虑和担忧不应该放在java架构师有没有前途,因为问出这个问题,说明你对“java的力量一无所知”。你应该先搞清楚,自己适不适合这个行业,适不适合学习java,Java架构师在公司那是除了cto之外技术发展路线最高成就了!
原文地址:https://www.hu.com/question
㈥ JAVA架构师是做什么的
需要先了解架构师是做什么的
软件架构指的是软件的顶层结构,而架构设计是为了应对软件系统的复杂度而提出的解决方案,并不是所有的项目都需要架构,在错误的地方去做架构只会本末倒置
然后说JAVA架构师,那就是在JAVA领域内解决这个问题的人员,至于做什么取决于这个项目的难点和复杂点在哪里,架构师就是通过架构去解决这个痛点
㈦ Java架构师需要具备哪些能力
具备 8 年以上软件行业工作经验;
具备 4 年以上 C/S 或 B/S 体系结构软件产品开发及架构和设计经验;
具备 3 年以上的代码编写工作经验
具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验
对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握
对 .Net/JAVA 技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE 架构和设计模式,并在此基础上设计产品框架
具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发;
精通大型数据库如 Oracle、Sql Server 等的开发;
Java架构师要求是很高的,除了要精通JAVA方面知识以外,还要掌握计算机所有软件方面,以及部分硬件方面的知识。
程序设计方面:JAVA、JAVA Application、JAVA EE(例如:EJB、RMI、JMS、WebService)、开源、设计模式、JavaScript、C/C++、.NET方面、VBA 。
数据库方面:SQL、ORACLE、MySQL、索引、分区、分片、主从、存储过程 。
网络及浏览器:TCP/IP协议、HTTP协议、FTP、HTML、XML、浏览器 。
操作系统:Linux系统、Shell/批处理、文件系统(各种)、SSH 。
中间件:Tomcat、Apache、Nginx、lighthttpd、JBoss、WebSphere、Weblogic、IIS。
技术和思想:各种算法、搜索、缓存、多线程、UML、OO、SOA、AOP、REST、存储、云计算等。
业务方面:论坛、博客、社交、电子商务、应用程序等 。
其它方面:计算机基础知识、计算机硬件方面 。
个人软素质:经验、问题分析、大局观、心态等 。
企业需求:
㈧ java架构师和java工程师有什么区别
1,需求整理分析
有人认为架构师是在需求规格说明书完成后介入的,但我认为架构师要从项目最开始的阶段就参与进来。理由有很多:首先,第一手的信息损失最少,架构师能够更好的把握需
求;其次,分析人员在与客户交流时,往往不会深入挖掘需求,因为有很多隐藏的需求客户自己都不见得意识的到,而架构师则可以依靠敏感的软件嗅觉发现这些需
求,减少以后的变数;第三,分析人员往往脱离开发团队,盲目接受客户需求,而架构师能够清楚把握现有的研发团队能做什么,不能做什么,提前预知风险,降低项目失败的机率。
2,系统分解
在收集完信息后,架构师需要将用户需求转化为软件需求,同时要补充非业务需求,如健壮性,扩展性等等。如何区分和化解用户需求与软件需求,如何有效把握用户需求与软件需求的区别,是系统分解的核心。这是最考验架构师的地方,也是只有架构师参与的工作
3,技术选型
这一步要根据对软件需求决定项目该使用何种架构,开发模型,及依赖选项。如使用多层架构还是分布式架构,是瀑布模型还是RUP,是使用MySQL还是
SQLServer,是否需要使用企业库,是否需要使用ORM。但是,架构师对项目的技术选型要提供多种不同的方案,并为每种不同方案提供详细说明文档,
用来阐述每种方案的优势,劣势,可行性等内容。这些文档供项目经理或领导决策最终的技术选型。
4,系统设计
依据软件需求和技术选型,架构师需要和软件工程师一起将软件需求落实到软件详细设计说明书中。架构师负责将软件需求分解,重组织为子项目,子系统,组件和模块,以及它们之间的逻辑关系,从而形成不同的逻辑组成部分,最后还需要确定各个子系统及组件间的接口。这些都是作为进一步的团队分工的依据。同系统分解一样,系统设计是考验架构师能力的重要职责。
5,培训与指导
在软件详细设计说明书完成后,为保证项目的顺利进行,架构师需要对整个团队进行技术培训,让团队中的每个人明白自己的职责范围,该做什么,不该做什么。
在项目实施过程中,架构师需要参与到具体开发过程中,给与每个开发人员有效指导,以避免团队成员对系统设计的误解而造成项目的延误。在我看来,这点对于新
手比较多的团队尤为重要。因为国内新手的一个通病是眼高手低,刚学会了一点点就认为自己什么都会;当他们拿到真正的设计时又往往不知所措,畏首畏尾。
6,保持沟通
沟通是保证项目顺利开展的有效保障。架构师要从多方面跟踪项目进度,及时与项目经理或直属领导汇报项目进展,与技术开发人员沟通遇到的问题,如果是迭代开发,还需要与用户沟通需求变更。
java工程师 接触的方面一般比较多, 前台的开发技术ajax、jquery等,spring、hibernate、Struts框架,数据库的基本维护和创建,程序的需求分析及其它文档编写、基本测试等。这些东西根据公司的需要你都可能接触到。
程序员->工程师->架构师
㈨ 如何成为Java架构师
基本复的java类的三大特性是必须制要懂,对java的一些常用框架的每个包每个类都很了解,还有要非常熟悉xml编程思想,还要对面向切面编程也要非常了解,对于小型的项目,oop可以了,对于打的项目,就不行了,aop就要尤为重要,从大的面将就是xml编程了!
㈩ java架构师
建议你先不要想那么多,架构师算是技术领域里比较高角色了,你专现在才大二,属应该只是对编程有了个初步的认识,当你真正踏入社会,加入项目,真正参与到各个系统的开发时,再考虑系统架构这个问题也不迟,因为架构师对你的知识的储备、经验的积累、思维的逻辑要求都比较高,现在你要做的就是耐心学习基础知识,打下良好的基础,当需要你考虑去怎么架构系统的时候你自然会去考虑的