久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      java后端介紹

      java后端介紹

        新手程序員通常會走入一個誤區(qū),就是認為學習了一門語言,就可以稱為是某某語言工程師了。但事實上真的是這樣嗎?其實并非如此。

        今天我們就來聊一聊,Java 開發(fā)工程師到底開發(fā)的是什么東西。準確點來說,Java后端到底在做什么?

        大家都知道 Java 是一門后端語言,后端指的就是服務端,服務端代碼一般運行在服務器上,通常我們運行Java 程序的服務器都是 Linux 服務器。

        這些服務器在互聯(lián)網(wǎng)公司中一般放在一個叫做機房的地方里,于是像我們這類 Java 程序員的代碼一般也運行在這些機房里的服務器中。

      java后端介紹

        Java 里有一個概念叫做虛擬機,你可以把它理解為一個安卓的模擬器,比如你在電腦上裝了一個安卓模擬器,就可以通過它來運行安卓應用程序,比如裝個 APP,手機游戲什么的。

        所以當你在電腦上安裝了一個叫做 JDK 的東西時,電腦里就有了 JRE 也就是 Java 運行環(huán)境,有了這個運行環(huán)境,你就可以運行 Java 應用程序了。

        知道 Java 程序如何運行在計算機上之后,我們再來講一講平時學的一些 Java 基礎知識,它們到底有什么用?

        其實平時這一些 Java 基礎語法都僅僅是你寫代碼的一些基礎知識,就相當于英語中的 26 個字母,常見的有基本類型變量、for 循環(huán)、if else 等等基本語法,掌握了這些基礎知識之后,你就可以上手寫一些很簡單的代碼了。

      java后端介紹

        除此之外,Java 還有一些比較特別的概念,比如面向對象的特性,其中有類、接口等概念。為什么 Java 要引入這些東西呢,其實就是想讓使用者更好地進行設計、抽象和編程。

        對于新手來說,你不需要理解得特別的深刻,因為這些東西只有你在你真正寫代碼之后才能逐步去理解。

        說完基本知識之后,我想你也會好奇,Java里經(jīng)常提到的一些集合類是干嘛的呢,因為在現(xiàn)實生活中有很多場景,需要用到集合類,比如說一個用戶名列表,你要怎么存呢?

        你會用一個 List 來做對不對,所以集合類的作用就是讓你在編程中更好的存儲數(shù)據(jù)。

        事實上,集合類的概念最早是來源于數(shù)據(jù)結構的,因為計算機里有很多特殊的數(shù)據(jù)存儲結構,比如文件樹,比如鏈表和數(shù)組等結構,因此計算機理論把這些存儲數(shù)據(jù)的模型抽象成一些常見的結構,統(tǒng)稱為數(shù)據(jù)結構。

        那么,Java 中的并發(fā)編程又是做什么的呢,Java 中的多線程是為了更好地利用電腦中的CPU核心,通過并發(fā)編程,就可以提高程序并發(fā)的效率。

        但是并發(fā)編程的背后需要操作系統(tǒng)的支持,以及計算機硬件的支持,所以,如果你要完全地理解多線程,絕不僅僅是理解 Java 里的 Thread 或者是線程池就足夠了,你還需要去理解操作系統(tǒng),以及計算機組成原理。

        和并發(fā)編程類似,Java 里也有網(wǎng)絡編程的概念,Java 里的網(wǎng)絡編程和其他語言大同小異,其實也是基于 TCP/IP 協(xié)議實現(xiàn)的一套 API,通過網(wǎng)絡編程,你就可以在程序中把你想傳輸?shù)臄?shù)據(jù)傳輸?shù)骄W(wǎng)絡的另一端,有了網(wǎng)絡編程和并發(fā)編程之后,Java 程序員的能量已經(jīng)很大了

      java后端介紹

        講完這幾點之后接下來再談談,我們通常說的 Java 后端技術到底是什么,就拿支付寶來舉例吧,曾經(jīng)的支付寶用戶數(shù)并不多,一臺服務器,一個數(shù)據(jù)庫就可以支持所有的業(yè)務了。

        當支付寶的用戶越來越多的時候,一臺服務器無法同時滿足海量用戶的需求,于是開始出現(xiàn)了多臺服務器,多臺服務器組成了一個集群,用戶可以通過負載均衡的方式訪問這些服務器,每個用戶可能會訪問到不同的機器上,這樣子就達到了分流的效果,服務器的壓力就會減小。

        由于數(shù)據(jù)庫需要保證數(shù)據(jù)的可靠性,萬一某一臺數(shù)據(jù)庫掛了,并且沒有備份的話,那么這個數(shù)據(jù)就無法訪問了,這在大型系統(tǒng)中是不允許出現(xiàn)的,于是乎,就有了數(shù)據(jù)庫的主從部署。

        但事實上,隨著業(yè)務發(fā)展,數(shù)據(jù)庫的壓力也越來越大,主備部署并不能解決數(shù)據(jù)庫訪問性能的問題,于是乎我們需要進行分庫分表,在數(shù)據(jù)庫主備的基礎上,我們會把一個數(shù)據(jù)量很大的表拆成多個表,并且把數(shù)據(jù)庫請求分流到不同的數(shù)據(jù)上,比如說100個分庫,100個分表,就相當于把一個數(shù)據(jù)表劃分成10000個數(shù)據(jù)表。

        此時又出現(xiàn)一個問題,如果一個數(shù)據(jù)庫有多個備庫,并且當主庫掛掉的時候需要進行主從切換時,主備數(shù)據(jù)庫之間的數(shù)據(jù)就可能發(fā)生不一致,而這也是分布式理論研究的問題之一,因為比較復雜,我們這里就略過不講。

        剛才說到了分布式技術,其實負載均衡、分庫分表都是分布式技術的一種實現(xiàn),如果你不想做分庫分表,那還有什么辦法能夠減輕數(shù)據(jù)庫訪問的壓力呢?于是緩存就出現(xiàn)了,緩存可以讓服務器先把請求打到緩存上,由于緩存的數(shù)據(jù)一般在內(nèi)存中,所以訪問速度會非常快,這些請求無需經(jīng)過數(shù)據(jù)庫。

      java后端介紹

        隨著業(yè)務發(fā)展,緩存的單點壓力也會比較大,于是乎分布式緩存就出現(xiàn)了,通常來說,緩存難以保證數(shù)據(jù)的可靠性,因為它們的數(shù)據(jù)可能會丟失,同時緩存只能存儲一部分的數(shù)據(jù),并不能解決所有問題。

        所以當某些業(yè)務的請求量非常大的時候,光靠緩存也解決不了問題,此時我們還可以通過消息隊列來幫我們解決大流量并發(fā)請求的問題。

        我們可以通過消息隊列來存儲一部分的請求消息,然后根據(jù)我們服務器處理請求的能力,把消息再逐步取出來,接著去把這些消息逐漸地進行處理,這樣就可以很好的解決高并發(fā)的問題。當然,前提是消息隊列要保證消息存儲的可靠性,這也是大部分消息隊列都會保證的能力。

        一口氣講了這么多,算是把 Java 后端的大概面貌介紹清楚了,除此之外還有很多東西沒講到,真要講完的話一晚上也說不完。

        總體來說,Java 后端技術,說難不難說簡單也不簡單,我盡量把這些內(nèi)容都講的比較通俗易懂,事實上每項技術的背后都有特別多復雜的實現(xiàn)原理,當然,在你理解了 Java 后端技術的整體概念以后,相信對于你之后的學習會更有幫助。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號