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架構師
建議你先不要想那麼多,架構師算是技術領域里比較高角色了,你專現在才大二,屬應該只是對編程有了個初步的認識,當你真正踏入社會,加入項目,真正參與到各個系統的開發時,再考慮系統架構這個問題也不遲,因為架構師對你的知識的儲備、經驗的積累、思維的邏輯要求都比較高,現在你要做的就是耐心學習基礎知識,打下良好的基礎,當需要你考慮去怎麼架構系統的時候你自然會去考慮的