java高級技術梳理

java高級技術梳理

內容
環境搭建
在這一階段,首先是安裝了虛擬機. 在安裝虛擬機過後,學習了以後,就開始安裝在虛擬機上安裝jdk, tomcat, mysql .,將這些軟件安裝好後,我們算是把虛擬機運行環境搭建完畢了.
Linux環境下安裝(jdk\mysql\tomcat)

高級技術
maven技術
虛擬機環境搭建完畢之後,首先學習的了Maven, 用於對項目進行管理和構建 ,因爲要使用Maven, 所以要在eclipse整合maven環境 ,在使用maven之前,首先要進行下載maven的軟件包 ,並通過配置文件setting.xml進行遠程倉庫和鏡像倉庫的配置 .如果都配置成功,那麼基礎環境就搭建完畢了.

maven項目分爲pom 項目, jar項目 , war項目 .pom項目常作爲父項目, 進行 jar包進行統一管理 ;特別是版本控制 ; jar項目用於將該項目打包成jar包使用 ; war項目 , 也是最常用的項目 , 用於進web項目的開發.

maven項目的關係有三種, 依賴, 繼承和聚合. 添加被依賴的座標,即可獲得被依賴的jar 包與相關的類(通過創建該類的對象獲取或者直接導入) ,這就是依賴關係 . 繼承關係用於描述父子項目關係 ,子項目繼承父項目,也就是繼承pom項目 ,被繼承後,通過groupid 與artifactId 即可完成對座標的導入 .聚合項目用於對一個模塊進行更細緻的劃分, 降低耦合度.

Maven用常用的插件有: 全局編譯插件, 配置在setting.xml中,用於規定運行maven所需要的jdk的版本 ;資源拷貝插件, 配置在相關項目的pom.xml 文件中, 用於對項目打包時對xml 文件也進行拷貝 ; tomcat插件, 同樣配置在pom.xml .用於配置運行maven項目所需要的服務器的環境 .打包插件 ,用於將服務進行打包 ,發佈到虛擬機或者網絡上的註冊中心上面 ,進行項目部書 ,一般配合資源拷貝插件一起使用!!!
Maven的安裝與下載以及講解

zookeeper技術
zookeeper技術, 它是一種分佈式的開源的程序協調服務 .它是的存儲結構是樹形結構, 包含四種類型的節點:持久化節點, 持久化順序節點,臨時節點和臨時編號節點. 它的作用分爲 :配置管理,名字服務,分佈式鎖與集羣管理.在這一階段的學習中,我們主要用到的是集羣管理, 作用是用於提供常用軟件的集羣管理. 在集羣管理中,引入了領導者-學習者-客戶端的模型. 領導者用於進行集羣內部的投票的發起和決議並根據決議結果更新系統狀態. 學習者分爲跟隨者和觀察者, 跟隨者參與集羣內部投票決議並向客戶端返回結果. 觀察者不參與系統投票,可以獲取客戶端的連接,它存在的目的是拓展系統 ,提高讀取速度. 客戶端則用於發起請求.
zookeeper技術

Dobbo技術
Dobbo技術, 他是一個高性能的服務框架 ,用於實現服務的輸入和輸出(服務註冊和服務發現)。 它是基於面向服務的架構(SOA)與遠程過程調用(RPC)的架構而生成的, 由此引入了提供者-消費者模型 。這個模型含有五個角色:分別是提供者、容器、消費者、註冊中心、監控中心。 提供者用於提供服務;容器就是在dubbo技術中的服務端所依賴的容器,一般指的是spring容器;消費者用於消費服務;註冊中心用於發佈和訂閱服務,;監控中心用於監控服務端(Provider)和消費端(Consumer)的使用數據。同時dubbo可以與zookeeper、redis進行整合。
Dobbo技術

vsftpd技術
vsftpd技術, 它是一塊開源的ftp服務器軟件 ,對linux上的ftp協議, 即對文件傳輸協議進保護. 增強文件傳輸的安全性與效率性. 而文件傳輸就涉及了上傳和下載, 通過與java的整合 ,來進行從虛擬機上文件的上傳和下載 , 用戶上傳時,通過負載均衡服務器將圖片上傳到 ftp服務器上,它是一個專門用於存儲圖片的服務器,然後通過nginx反向代理, 使我們方便對文件的訪問和下載 ,從而不會受限於單體接口圖片存儲的影響
VSFTPD技術

nginx技術
nginx技術, 用於配置正向代理和反向代理 . 正向代理,代理在客戶端,服務端不知道實際發起請求的客戶端 反向代理,代理在服務端, 客戶端不知道實際提供服務的客戶端. 反向代理常用於分攤服務器的壓力, 即實現服務器的負載均衡. 通過配置虛擬主機 .,實現一臺主機對外提供多個web服務 ,且他們之間互不影響 . 虛擬主機的配置分爲基於基於ip ,基於端口 ,基於域名的配置 .
nginx技術

Reids技術
Reids技術, Redis是一個開源的使用ANSIC語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。它支持的數據類型有五種,分別是String(get/set ket-value)、Hash(無序,hget/hset key-field-value)、List(有序 l/r/push/pop key value)、Set(無序 sadd/rem key-values)、SortSet(有序zadd/zrem key-value)。他可以與java進行整合,但需導入jedis的jar包 .在存入對象類型數據時 ,需要將對象轉換成 json格式才能存放到redis數據庫中 .在項目中, 通常使用Redis技術進行單點登錄時用於信息的存儲.
Reids技術

solr技術
solr技術,它是一種面向企業搜索的web應用。採用 Java5 開發,基於 Lucene 的全文搜索服務器,是一款非常優秀的全文檢索引擎。 它採用倒排索引,正排索引就是抽取文章中的關鍵字,以關鍵字爲索引依據 , 倒排索引就是取出數據中的詞條,以詞條作爲 key,對應數據的存儲位置作爲 value. solr 使用時會首先對文檔數據進行分詞 ,創建索引庫和文檔數據庫。所謂的分詞是指:將一段字符文本按照一定的規則分成若干個單詞。 另外他可以與java進行整合,但要注意導solrJ的jar包
Solr技術
Solr在分佈式環境中的應用案例

ActiveMq技術
ActiveMq技術,ActiveMQ 是Apache出品,最流行的,能力強勁的,基於JSM的(java消息服務)開源消息總線。在學習時需要了解JMS模型:點對點模型與與發佈訂閱模型。點對點模型就是生產者發送一條消息到 queue,只有一個消費者能收到;消息訂閱模型就是發佈者發送到 topic 的消息,只有訂閱了 topic 的訂閱者纔會收到消息。

他的原理是創建了一個消息隊列 ,消息隊列的主要特點是異步處理,主要目的是減少請求響應時間和解耦。所以主要的使用場景就是將比較耗時而且不需要即時(同步)返回結果的操作作爲消息放入消息隊列。同時由於使用了消息隊列,只要保證消息格式不變,消息的發送方和接收方並不需要彼此聯繫, 也不需要受對方的影響,即解耦合。常用於用戶註冊、訂單處理以及流量消峯等。它可以與java整合,但是需要導如相關的jar包
ActiveMQ技術

JsonP技術
JsonP技術,他是 json 的一種 “使用模式”,可以讓網頁從別的域名(網站) 獲取資料,即跨域讀取數據。
爲什麼我們從不同的域(網站)訪問數據需要一個特殊的技術(JSONP )呢?這是因爲同源策略。同源是指"協議+域名+端口"三者相同。跨域有很多種解決方案,但是JsonP是其中的佼佼者。但他的缺點也很明顯,就是隻支持get方式的請求。他可以與java進行整合,但是需要導入jackson-databind的jar包,因爲他只支持json類型的數據的跨域
JsonP技術

HttpClient技術
HttpClient 是用來提供高效的、最新的、 功能豐富的支持 HTTP 協議的客戶端編程工具包,並且它支持 HTTP 協議最新的版本和建議。 支持多種類型的請求,可以與java進行整合,但是需要導HttpClient的jar包
HTTPClient技術

MyCat技術
MyCat技術,MyCat 是目前最流行的基於 java 語言編寫的數據庫中間件,其核心功能是分庫分表。配合數據庫的主從模式還可實現讀寫分離. 要儘可能的掌握主從數據庫的搭建 , 需要重點掌握的一些技術關鍵詞如下:水平切分、垂直切分、邏輯庫、邏輯表、主從備份、讀寫分離等。
Mycat技術
MyCat練手項目以及簡單分頁功能實現

技巧合集系列
常用jar包座標介紹
在學習完畢之後又進對常用的jar包座標進行了梳理方便以後使用
Maven項目中常用jar包的座標以及用法

基於RPC實現服務的註冊、發佈和消費
介紹了基於RMI的案例和Dobbo實現RPC服務的發佈與消費和集羣服務的消費,個人感覺是SpringBoot中Eureka註冊中心客戶端與服務端的前身
基於RPC實現服務的註冊、發佈和消費

逆向工程使用
逆向工程,電商項目的根本, 它的作用是根據數據庫表以及表與表之間的關係自動生成對應的實體類以及Mapper接口以及映射文件並自動生成幾乎我們所能用到的所有的Curd的方法, 但是它的缺點是隻能進行單表操作.
MyBatis Generator( 逆向工程以及源碼分析 )

分佈式項目環境搭建
在學習了電商項目的時候,抽時間總結了基於Dubbo和zookeeper註冊中心的分佈式環境搭建
手把手教你搭建分佈式項目環境

分佈式項目服務發佈
在學習了電商項目後, 抽時間總結了在虛擬機中發佈基於Dobbo的分佈式項目以及使用nginx爲其進行服務的負載均衡的代理
基於Dubbo的服務提供者與消費者的發佈(在虛擬機中)以及使用nginx對項目進行負載均衡優化

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