jvm調(diào)優(yōu)參數(shù)講解 Java JVM怎么學(xué)習(xí)?。繌哪姆矫嫒胧??
Java JVM怎么學(xué)習(xí)?。繌哪姆矫嫒胧??可以從類加載入手,了解JVM類加載的原理和過程,然后熟悉類加載器和類加載機(jī)制。其次,可以了解Java內(nèi)存結(jié)構(gòu)(運(yùn)行時(shí)數(shù)據(jù)區(qū)),重點(diǎn)是棧的兩個(gè)區(qū)域,了解堆的分代
Java JVM怎么學(xué)習(xí)啊?從哪方面入手?
可以從類加載入手,了解JVM類加載的原理和過程,然后熟悉類加載器和類加載機(jī)制。其次,可以了解Java內(nèi)存結(jié)構(gòu)(運(yùn)行時(shí)數(shù)據(jù)區(qū)),重點(diǎn)是棧的兩個(gè)區(qū)域,了解堆的分代模型,GC垃圾算法和垃圾收集器。,以及常見的JVM參數(shù)設(shè)置。最后,結(jié)合企業(yè)業(yè)務(wù)場(chǎng)景監(jiān)控和調(diào)試JVM參數(shù),做一個(gè)JVM實(shí)踐調(diào)優(yōu)。我覺得這種學(xué)習(xí)路線可以快速掌握J(rèn)VM。
-搜索:【猿燈塔】官方賬號(hào)干貨技術(shù)文章和技術(shù)文檔,大廠面試提問幫你成就建筑師之路。
如何提高elasticsearch的查詢速度?
數(shù)據(jù)的增刪查一直是互聯(lián)網(wǎng)最基本的需求!而這些操作90%都是支票?。?!
60年代,數(shù)據(jù)查詢需求旺盛,關(guān)系型數(shù)據(jù)查詢蓬勃發(fā)展,各種數(shù)據(jù)庫和SQL語言誕生!數(shù)據(jù)庫查詢效率極高,索引只能基于字段的粒度!如果要查詢字段中的一些數(shù)據(jù),只能使用like語句。逐字匹配,查詢效率不高!
這時(shí)候全文搜索才能體現(xiàn)出更強(qiáng)大的效率!
全文搜索就是將所有的數(shù)據(jù)拆分,對(duì)每個(gè)詞分別進(jìn)行索引,記錄詞的位置和頻率,然后在查詢時(shí)快速找到文檔的位置,實(shí)現(xiàn)快速查詢!
比如1,我是軍人!2、我愛你!這兩個(gè)句子將被分開并保存在一個(gè)索引文檔中以便維護(hù)。比如我的詞會(huì)保存兩次,出現(xiàn)在兩個(gè)句子里。當(dāng)搜索我的單詞時(shí),你可以搜索出這兩個(gè)句子!
例如,如下圖:
無論是淘寶,百度網(wǎng)頁等。,通過索引和保存鏈接或標(biāo)題,可以在搜索關(guān)鍵詞時(shí)選擇關(guān)鍵詞所在的標(biāo)題,按照相關(guān)度排序,最后找出所有需要的標(biāo)題進(jìn)行顯示!
全文搜索的實(shí)現(xiàn)有很多,底層的lucence,企業(yè)級(jí)的solr,elasticsearch等等!Elasticsearch由于其自然分布和方便的橫向擴(kuò)展,是restful的服務(wù)接口。受到了廣泛的關(guān)注和使用!
在了解了全文搜索的基本原理后,本文不談elasticsearch的原理、集群使用、索引分片和傳輸協(xié)議擴(kuò)展,而且由于elasticsearch是開源的,可以通過簡(jiǎn)單的配置輕松使用,不需要關(guān)注其內(nèi)部的實(shí)際情況?,F(xiàn)在,回到問題,怎樣才能搜索得更快?
1,服務(wù)器內(nèi)存要大一些,因?yàn)樗饕虞d需要大量?jī)?nèi)存,而且最大最小內(nèi)存都設(shè)置成相同的值,防止大量GC停世界!
2.設(shè)置合理的索引刷新時(shí)間。如果_interval的設(shè)置太大,就找不到索引,容易導(dǎo)致異常。如果設(shè)置太小,服務(wù)器壓力會(huì)很大!
3.禁用_全部。打開會(huì)增加份數(shù),降低查詢效率!
4.防止設(shè)置太多碎片副本,增加合并時(shí)間,影響查詢效率!
5、優(yōu)化查詢返回字段,減少內(nèi)存占用!
6.添加查詢緩存!
Elasticsearch是一種分布式搜索技術(shù),涉及到很多知識(shí)點(diǎn)。沒辦法簡(jiǎn)單介紹一下。我們將詳細(xì)討論它,并在有時(shí)間時(shí)展示一個(gè)演示。需要的同學(xué)請(qǐng)注意。。。