最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于java后端的詳解

 更新時間:2019年08月04日 08:33:15   投稿:laozhang  
在本篇文章里小編給各位分享的是關(guān)于java后端的知識點詳解,學(xué)習(xí)java的朋友們可以參考下。

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

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

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

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

6aa199d30e0c41bc8c5e94c2f5468329.jpg

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

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

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

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

ad13ad6da34441d1aeb548a8ec2d01f4.jpg

除此之外,Java 還有一些比較特別的概念,比如面向?qū)ο蟮奶匦裕渲杏蓄?、接口等概念。為什?Java 要引入這些東西呢,其實就是想讓使用者更好地進(jìn)行設(shè)計、抽象和編程。

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

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

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

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

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

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

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

118f03178965480aa9177a6f5ad06949.jpg

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

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

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

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

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

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

f74d7b52a750417b845e3d5713382991.jpg

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

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

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

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

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

以上就是java后端介紹的詳細(xì)內(nèi)容,感謝大家對腳本之家的支持。

相關(guān)文章

  • mybatis-flex實現(xiàn)多數(shù)據(jù)源操作

    mybatis-flex實現(xiàn)多數(shù)據(jù)源操作

    MyBaits-Flex內(nèi)置了功能完善的多數(shù)據(jù)源支持,本文主要介紹了mybatis-flex實現(xiàn)多數(shù)據(jù)源操作,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • java生成隨機(jī)數(shù)(字符串)示例分享

    java生成隨機(jī)數(shù)(字符串)示例分享

    這篇文章主要介紹了java生成隨機(jī)數(shù)(字符串)示例分享,需要的朋友可以參考下
    2014-03-03
  • java中&與&&的區(qū)別

    java中&與&&的區(qū)別

    本文主要介紹了java中&與&&的區(qū)別,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 圖文詳解java反射機(jī)制及常用應(yīng)用場景

    圖文詳解java反射機(jī)制及常用應(yīng)用場景

    這篇文章主要為大家介紹了圖文詳解java反射機(jī)制及常用應(yīng)用場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java圖片上傳實現(xiàn)代碼

    Java圖片上傳實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Java圖片上傳實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Java類加載的過程詳解

    Java類加載的過程詳解

    這篇文章主要介紹了深入理解Java 類加載全過程的相關(guān)資料,小編覺得寫的還不錯,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • Spring注解@Transactional失效的場景分析

    Spring注解@Transactional失效的場景分析

    在使用Spring中事務(wù)注解@Transactional時會存在幾種場景下該注解失效,即不能按照預(yù)期封裝成一個事務(wù)操作,于是本文文將對該注解進(jìn)行學(xué)習(xí)并對相關(guān)失效場景進(jìn)行分析,需要的朋友可以參考下
    2023-07-07
  • Java編程guava RateLimiter實例解析

    Java編程guava RateLimiter實例解析

    這篇文章主要介紹了Java編程guava RateLimiter實例解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Spring + mybatis + mysql使用事物的幾種方法總結(jié)

    Spring + mybatis + mysql使用事物的幾種方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于Spring + mybatis + mysql使用事物的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • SpringBoot中定制異常頁面的實現(xiàn)方法

    SpringBoot中定制異常頁面的實現(xiàn)方法

    這篇文章主要介紹了SpringBoot中定制異常頁面的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

陇西县| 柏乡县| 宁安市| 巩留县| 容城县| 宿州市| 桦南县| 磐安县| 侯马市| 鄂托克旗| 和龙市| 鄂伦春自治旗| 靖西县| 重庆市| 石首市| 丹东市| 浪卡子县| 荣昌县| 新余市| 陵水| 广州市| 南通市| 石泉县| 福清市| 盐山县| 新泰市| 台东县| 清丰县| 健康| 精河县| 朝阳县| 西充县| 保靖县| 吐鲁番市| 文山县| 开鲁县| 肥西县| 札达县| 漳州市| 株洲市| 绿春县|