Java項目基本術語介紹

先說一些常見的
java項目一般分爲下面幾類:
SaaS:軟件及服務,通俗意義上講就是軟件從所有權,變成了使用權。,典型例子如企業微信釘釘企業版(OA系統大多也是Saas系統)
paas:平臺即服務,將軟件研發的平臺作爲一種服務,以SaaS的模式提交給用戶。典型例子云計算平臺(注意平臺2字,雲計算運用了3種系統,雲計算平臺是paas系統,只有大型公司才擁有paas系統)
Iaas:前面2者的結合,是指把IT基礎設施作爲一種服務通過網絡對外提供。這個不是太好描述,自行理解吧

OA:工作流,最常見的項目,大多數公司開發的都屬於OA系統,簡單點就是辦公系統,比如人員管理系統,學生管理系統都屬於OA
CRL:權限控制系統,又稱客戶管理系統,銀行和支付相關的公司一般會有這種系統
ERP系統:作用是儲存數據,比較常用的例子是MySQL,orcal等數據庫(MES是ERP下的子類,使用較少不額外介紹)
PDM:生產數據管理系統,國內崗位較少,一般從事相關工作者簡稱數據庫管理員
HR:人力資源管理系統,這個不用說了吧
springboot組件開發:這個只有大型公司擁有,組件可以理解爲小型框架或者插件,這個和ERP系統最喫技術

微服務:新型架構方式,代表爲Springcloud和dubbo,是一種架構方式,可以將大的項目分爲多個小項目,根據訪問量決定部署服務器數量,是目前用的最多的架構方式,微服務的最大問題是CAP定律(自行百度)
與微服務對應的是單機系統部署,不介紹(已近乎淘汰,沒必要了解)

B/S:瀏覽器/服務器模式,通過訪問瀏覽器達到需求,瀏覽器只是一個形式,通過APP,小程序等完成需求的都可以屬於B/S系統
C/S:內網開發系統,安全性較高,通過特定方式(比如某個指定平臺制定系統)達到需求,用於專業網絡而非廣域網

消息中間件:及時通訊系統,往往用來做數據緩衝,但也可以直接當作程序,如QQ,常見消息中間件爲:ActiveMQ,RocketMQ,KafKa,RabbitMQ,其中ActiveMQ和RabbitMQ爲萬級別,KafKa和RockerMQ爲十萬級別,所有消息中間件都擁有消費者和生產者2個對象.

緩存:現在最流行的爲Redis和memcached,對熱點數據進行緩存可以減輕服務器壓力,加快用戶訪問速度

Kafka:目前除阿里外企業可用的最大消息中間件,大數據方向比用,可以與Spark,Hive等協同使用

搜索引擎:如百度之類背後的軟件,大多數軟件都有,目前主流爲Elasticsearch和Solr,這個可以屬於大數據方面,工資高於正常程序員,大型公司常用Elasticsearch

spring社區和apache社區:對java影響最大的2大社區

設計模式:共有23種,屬於編程思想,開發框架必備

反射:一種編程模式,開發框架必備

NoSQL:非關係型數據庫,常見mongo,Redis,都有制定作用

分佈式鎖:分佈式問題是微服務引發的問題,因爲網絡的不協調性,延遲性等問題引發的,是微服務最難解決的問題,目前還沒有完美的解決方法,分佈式鎖是目前承認的最好解決方案,有3種分佈式鎖,zookeeper鎖,redis鎖,數據庫鎖

AOP:面向切面編程,有2種AOP,靜態織入和動態代理,spring使用的是動態代理,Aspectj是靜態織入
IOC:控制反轉,有2種實現方式,DI(依賴注入)和DL(依賴查找)
DI:在spring中DI和IOC是一個概念,通過將對象放入容器,然後由容器複製創建和維護對象之間的依賴關係,而不是通過對象本身複製自己的創建和解決自己的依賴。控制反轉是通過依賴注入實現的。

Paxos原理:分佈式原理,大多數分佈式系統都借鑑或者使用了paxos中的一部分

docker:容器,等同於作用單一的虛擬機,多用於部署運維

kubernetes:簡稱k8,谷歌管理容器的方法,被大型公司認同

zookeeper:分佈式應用程序協調服務,是kafka,hadoop等的核心

拜戰庭將軍問題:拜占庭位於如今的土耳其的伊斯坦布爾,是東羅馬帝國的首都。由於當時拜占庭羅馬帝國國土遼闊,爲了達到防禦目的,每個軍隊都分隔很遠,將軍與將軍之間只能靠信差傳消息。在戰爭的時候,拜占庭軍隊內所有將軍和副官必須達成一致的共識,決定是否有贏的機會纔去攻打敵人的陣營。但是,在軍隊內有可能存有叛徒和敵軍的間諜,左右將軍們的決定又擾亂整體軍隊的秩序。在進行共識時,結果並不代表大多數人的意見。這時候,在已知有成員謀反的情況下,其餘忠誠的將軍在不受叛徒的影響下如何達成一致的協議,拜占庭問題就此形成.分佈式必須解決的問題,目前比特幣的解決方案被認爲是最佳解決方案

Mycat:數據庫集羣管理,作用分庫分表,大型公司必學

Neo4j:高性能圖形數據庫,非關係數據庫

TAIR:結構數據庫存儲系統,分佈式數據庫,存儲類型爲key/value

Aerospike:分佈式隨機型數據庫,廣告用的較多

JVM:java虛擬機底層,面試必問,開發基本無用(撐一年死加1行代碼)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章