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

java中的啟動命令使用

 更新時間:2025年01月11日 08:55:33   作者:CC大煊  
本文詳細介紹了Java啟動參數(shù)的分類和具體用途,涵蓋了基本內(nèi)存管理、元空間管理、垃圾回收、性能調(diào)優(yōu)與診斷、JavaAgent、系統(tǒng)屬性以及應(yīng)用執(zhí)行等幾類參數(shù),通過合理配置這些參數(shù),可以顯著提升Java應(yīng)用的性能、可管理性和可調(diào)試性

1. 引言

Java啟動參數(shù)的重要性

Java啟動參數(shù)對于Java應(yīng)用程序的性能和行為具有極大的影響。通過這些參數(shù),開發(fā)者和系統(tǒng)管理員可以控制Java虛擬機(JVM)的內(nèi)存使用、垃圾回收策略、性能優(yōu)化和調(diào)試功能。合理配置這些參數(shù)可以幫助優(yōu)化應(yīng)用程序的執(zhí)行效率,減少系統(tǒng)資源的浪費,提高應(yīng)用的響應(yīng)速度和處理能力。

在面對不同的應(yīng)用場景時,例如高并發(fā)處理、大數(shù)據(jù)處理或微服務(wù)架構(gòu),合適的啟動參數(shù)設(shè)置可以顯著影響應(yīng)用的穩(wěn)定性和效率。例如,通過調(diào)整堆內(nèi)存的大小和垃圾回收策略,可以減少內(nèi)存溢出的風(fēng)險和垃圾回收引起的延遲。

此外,Java啟動參數(shù)還能幫助開發(fā)者在開發(fā)和測試階段更好地診斷和解決問題,如通過啟用詳細的垃圾回收日志來分析內(nèi)存問題,或者使用性能分析工具來檢測代碼的瓶頸。

參數(shù)分類概覽

Java啟動參數(shù)可以大致分為以下幾類:

  • 基本內(nèi)存管理參數(shù):涉及Java堆(heap)的初始化大小、最大大小以及線程堆棧大小等。
  • 元空間管理參數(shù):管理非堆內(nèi)存區(qū)域,主要用于存儲類元數(shù)據(jù)。
  • 垃圾回收參數(shù):控制垃圾收集器的選擇和行為,以及垃圾回收日志的輸出。
  • 性能調(diào)優(yōu)與診斷參數(shù):包括用于性能優(yōu)化的參數(shù),如代碼緩存大小和壓縮指針的使用,以及用于診斷的參數(shù),如堆轉(zhuǎn)儲路徑和內(nèi)存溢出時的堆轉(zhuǎn)儲。
  • Java Agent參數(shù):用于加載Java Agent,這些Agent通常用于監(jiān)控、分析和修改應(yīng)用行為。
  • 系統(tǒng)屬性參數(shù):設(shè)置系統(tǒng)級的屬性,如文件編碼和系統(tǒng)端口等。
  • 應(yīng)用執(zhí)行參數(shù):直接與應(yīng)用程序執(zhí)行相關(guān)的參數(shù),如指定運行的Jar文件。

了解這些參數(shù)的分類和具體用途,將幫助讀者更系統(tǒng)地掌握Java啟動參數(shù)的配置方法,并能根據(jù)實際需求靈活調(diào)整,以期達到最佳的應(yīng)用性能和穩(wěn)定性。

2. 基本內(nèi)存管理參數(shù)

在Java應(yīng)用中,內(nèi)存管理是保證性能和穩(wěn)定性的關(guān)鍵。

以下是幾個基本的內(nèi)存管理參數(shù),它們直接影響Java虛擬機(JVM)的內(nèi)存分配和使用。

-Xms:初始堆大小

參數(shù)-Xms用于設(shè)置JVM啟動時堆內(nèi)存的初始大小。

這個值可以幫助JVM在啟動時預(yù)分配內(nèi)存,減少運行時的內(nèi)存分配次數(shù),從而提高性能。

例如,如果預(yù)計應(yīng)用將會使用較多內(nèi)存,可以適當增大這個值以減少垃圾收集的頻率。

示例

java -Xms512m -jar application.jar

這條命令設(shè)置了JVM啟動時堆內(nèi)存的初始大小為512MB。

-Xmx:最大堆大小

參數(shù)-Xmx用于設(shè)置JVM可以使用的最大堆內(nèi)存大小。

這是JVM運行過程中可用于存儲對象的最大內(nèi)存限制,超過這個值可能會引發(fā)OutOfMemoryError

設(shè)置這個參數(shù)可以防止JVM使用過多系統(tǒng)內(nèi)存,避免影響其他程序或系統(tǒng)運行。

示例

java -Xmx1024m -jar application.jar

這條命令將JVM的最大堆內(nèi)存設(shè)置為1024MB。

-Xss:每個線程的堆棧大小

參數(shù)-Xss定義了每個線程的堆棧大小。

堆棧大小直接影響到線程可以調(diào)用的方法深度(即方法調(diào)用時的深度)。

設(shè)置過小可能會導(dǎo)致StackOverflowError,設(shè)置過大則會浪費內(nèi)存,特別是在創(chuàng)建大量線程的應(yīng)用中更需注意。

示例

java -Xss256k -jar application.jar

這條命令設(shè)置了每個線程的堆棧大小為256KB。

通過合理配置這些基本內(nèi)存管理參數(shù),開發(fā)者可以有效地管理JVM的內(nèi)存使用,優(yōu)化應(yīng)用性能,避免內(nèi)存溢出等問題。

3. 元空間管理參數(shù)

從Java 8開始,元空間(Metaspace)替代了原先的永久代(PermGen),用于存儲類的元數(shù)據(jù)。

與永久代不同,元空間使用的是本地內(nèi)存(即非堆內(nèi)存),因此對元空間的管理對于避免內(nèi)存溢出、優(yōu)化性能和確保類加載的效率至關(guān)重要。

以下是兩個常用的元空間管理參數(shù):

-XX:MetaspaceSize:元空間初始大小

此參數(shù)用于設(shè)置元空間的初始大小,即JVM啟動時分配給元空間的內(nèi)存量。

如果設(shè)置得當,可以避免應(yīng)用在啟動階段頻繁地進行內(nèi)存擴展,從而提高性能。

默認值依賴于平臺,但通常是一個相對較小的值,隨著應(yīng)用運行時類的加載,元空間可能需要動態(tài)擴展。

-XX:MaxMetaspaceSize:元空間最大大小

此參數(shù)設(shè)置元空間能夠使用的最大內(nèi)存量。限制最大元空間大小可以防止某些類型的內(nèi)存泄漏或無限制類加載導(dǎo)致消耗過多的本地內(nèi)存。

如果元空間達到此限制,JVM將會觸發(fā)垃圾回收來清理不再使用的類元數(shù)據(jù)。如果回收后空間仍然不足,JVM將會拋出OutOfMemoryError。

在配置這些參數(shù)時,需要根據(jù)應(yīng)用的類加載需求來調(diào)整。

例如,大型應(yīng)用或使用了大量動態(tài)生成類的應(yīng)用可能需要更大的元空間初始大小或最大大小。反之,對于類加載較為固定的小型應(yīng)用,較小的值可能就足夠了。調(diào)整這些參數(shù)通常需要通過監(jiān)控工具和實際運行情況來進行優(yōu)化。

4. 垃圾回收參數(shù)

垃圾回收(GC)參數(shù)是Java性能調(diào)優(yōu)中非常關(guān)鍵的一部分,它們可以幫助開發(fā)者控制和優(yōu)化垃圾收集過程,減少GC引起的延遲,并提高應(yīng)用性能。

以下是一些常用的GC參數(shù):

  • -Xloggc:<file>:此參數(shù)用于指定垃圾回收日志的輸出文件路徑。通過將GC日志輸出到文件,開發(fā)者可以更方便地對垃圾回收過程進行后續(xù)分析。例如,-Xloggc:/logs/gc.log 將GC日志輸出到指定路徑的gc.log文件中。
  • -XX:+UseG1GC:這個參數(shù)啟用G1垃圾收集器,它是一種面向服務(wù)端應(yīng)用的收集器,旨在減少GC停頓時間,同時保持良好的吞吐量。G1收集器特別適用于多核處理器和大內(nèi)存環(huán)境,能夠高效地管理大堆(heap)。
  • -XX:+PrintGCDetails:該參數(shù)用于輸出詳細的GC日志信息。啟用此選項后,日志中會包含每次GC的詳細信息,如各代的內(nèi)存空間前后大小、GC耗時等,這對于分析和調(diào)優(yōu)GC性能非常有幫助。
  • -XX:NewRatio:此參數(shù)用于設(shè)置老年代(Old Generation)與新生代(Young Generation)的內(nèi)存比例。例如,-XX:NewRatio=2 表示老年代是新生代大小的兩倍。通過調(diào)整此比例,可以根據(jù)應(yīng)用的對象存活特性優(yōu)化內(nèi)存分配和GC性能。
  • -XX:SurvivorRatio:設(shè)置新生代中Eden區(qū)與兩個Survivor區(qū)的比例。默認情況下,此比例通常設(shè)置為8,即Eden區(qū)與每個Survivor區(qū)的比例為8:1。調(diào)整此參數(shù)可以影響到短期存活對象的晉升時間,從而影響GC的效率。

通過合理配置這些參數(shù),開發(fā)者可以針對具體的應(yīng)用需求和運行環(huán)境調(diào)整JVM的垃圾回收策略,從而優(yōu)化應(yīng)用的性能和響應(yīng)速度。

5. 性能調(diào)優(yōu)與診斷參數(shù)

性能調(diào)優(yōu)與診斷參數(shù)是Java應(yīng)用管理中不可或缺的工具,它們不僅幫助開發(fā)者優(yōu)化應(yīng)用性能,還能在出現(xiàn)問題時提供必要的信息以便進行問題診斷和解決。

下面是一些常用的性能調(diào)優(yōu)與診斷相關(guān)的參數(shù):

-XX:+HeapDumpOnOutOfMemoryError

當Java虛擬機拋出OutOfMemoryError異常時,這個參數(shù)會指示JVM自動生成堆轉(zhuǎn)儲文件。

這對于后續(xù)分析內(nèi)存使用情況和定位內(nèi)存泄漏的原因非常有幫助。

-XX:HeapDumpPath

這個參數(shù)用于指定堆轉(zhuǎn)儲文件的存儲路徑。

如果不設(shè)置此參數(shù),堆轉(zhuǎn)儲文件通常會被存放在JVM的啟動目錄中,可能會導(dǎo)致存儲空間不足或管理上的不便。

-XX:+UseCompressedOops

啟用“壓縮普通對象指針”(Compressed Ordinary Object Pointers),這是一種優(yōu)化技術(shù),可以在不顯著增加檢索時間的情況下減少Java堆的內(nèi)存占用。

這通常在64位JVM上使用,尤其是堆內(nèi)存不是非常大的情況下。

-XX:InitialCodeCacheSize 和 -XX:ReservedCodeCacheSize

這兩個參數(shù)用于控制代碼緩存的初始大小和最大保留大小。

代碼緩存是存儲JVM動態(tài)生成的本地機器代碼的區(qū)域,適當調(diào)整這些參數(shù)可以提高JVM的執(zhí)行效率和響應(yīng)速度。

  • -XX:InitialCodeCacheSize:設(shè)置代碼緩存的初始大小,這個值可以根據(jù)應(yīng)用的需要進行調(diào)整。
  • -XX:ReservedCodeCacheSize:設(shè)置代碼緩存的最大保留大小,確保有足夠的空間存儲JIT編譯器編譯的代碼。

通過合理配置這些參數(shù),開發(fā)者可以有效地管理和優(yōu)化Java應(yīng)用的運行環(huán)境,提高應(yīng)用的性能并減少運行時的問題。

6. Java Agent參數(shù)

Java Agent提供了一種強大的機制,允許開發(fā)者在運行時修改應(yīng)用行為,通常用于性能監(jiān)控、審計以及其他各種運行時分析任務(wù)。

這些Agent可以在Java虛擬機(JVM)啟動時加載,或者在運行時附加到已經(jīng)運行的JVM上。

  • -javaagent:<jarpath>[=<options>]:這是最常用的參數(shù)來加載一個Java Agent。
  • 這里的<jarpath>指向包含Agent類和清單文件(Manifest file)的JAR文件。
  • 清單文件中必須包含一個Agent-Class屬性,指明哪一個類實現(xiàn)了Agent接口。
  • 可選的<options>提供了一種方式來傳遞字符串格式的參數(shù)到Agent,這些參數(shù)可以在Agent初始化時被使用。

例如,如果你有一個性能監(jiān)控工具的Agent,可能會使用以下命令來啟動你的Java應(yīng)用:

java -javaagent:/path/to/monitoring-agent.jar=options -jar your-application.jar

在這個例子中,/path/to/monitoring-agent.jar是Agent的JAR文件路徑,options是傳遞給Agent的初始化參數(shù),這些參數(shù)將根據(jù)具體的Agent實現(xiàn)而定。

使用Java Agent是一種非常靈活的方式來擴展應(yīng)用的功能,同時不需要修改應(yīng)用本身的代碼。這使得它成為在生產(chǎn)環(huán)境中進行問題診斷和性能優(yōu)化時的一個寶貴工具。

7. 系統(tǒng)屬性參數(shù)

系統(tǒng)屬性參數(shù)允許用戶在啟動Java應(yīng)用時設(shè)置或修改JVM及應(yīng)用級別的配置。

這種方式非常靈活,可以通過命令行直接傳遞參數(shù),從而影響應(yīng)用的行為或環(huán)境設(shè)置。

以下是一些常見的系統(tǒng)屬性參數(shù)示例:

-Dfile.encoding

這個參數(shù)用于設(shè)置JVM使用的默認字符集。例如,如果你的應(yīng)用需要處理特定的字符編碼,可以通過這個參數(shù)指定,如-Dfile.encoding=UTF-8確保應(yīng)用處理字符串時使用UTF-8編碼。

-Djarvis.serve.port 和 -Djarvis.admin.serve.port

這兩個參數(shù)示例顯示了如何為應(yīng)用指定自定義的配置屬性。通常,這類參數(shù)用于指定應(yīng)用服務(wù)的網(wǎng)絡(luò)端口,分別用于不同的服務(wù)或管理接口。

例如,-Djarvis.serve.port=8080-Djarvis.admin.serve.port=9090可以分別用來設(shè)置應(yīng)用服務(wù)端口和管理端口。

-Dserver.port

這是另一個常見的系統(tǒng)屬性,用于設(shè)置服務(wù)運行的端口。這個參數(shù)常見于基于Spring Boot等框架的應(yīng)用,可以通過命令行直接修改服務(wù)端口,如-Dserver.port=8000,這樣應(yīng)用就會在8000端口上運行。

系統(tǒng)屬性參數(shù)的靈活性使得它們成為調(diào)整和配置Java應(yīng)用環(huán)境的重要工具。通過這些參數(shù),開發(fā)者可以在不修改代碼的情況下,根據(jù)部署環(huán)境的需要調(diào)整應(yīng)用的行為。

8. 應(yīng)用執(zhí)行參數(shù)

應(yīng)用執(zhí)行參數(shù)是直接影響Java應(yīng)用啟動方式的參數(shù)。這些參數(shù)通常用于指定如何運行Java程序,包括運行哪個jar文件或指定主類等。

-jar

  • 該參數(shù)用于指定要運行的jar文件,它告訴JVM直接從指定的jar包中查找Main-Class清單屬性,并啟動該類的main方法。
  • 使用-jar參數(shù)時,JVM會忽略任何在命令行上指定的主類。

示例:

java -jar application.jar

在這個例子中,application.jar是包含了所有必要資源和依賴的可執(zhí)行jar文件,JVM將根據(jù)jar文件中的清單文件啟動應(yīng)用。

使用-jar參數(shù)時,還可以結(jié)合其他JVM參數(shù)來優(yōu)化性能,管理內(nèi)存,或配置系統(tǒng)屬性等。

例如,你可以在啟動jar應(yīng)用的同時設(shè)置最大堆大小和系統(tǒng)屬性:

java -Xmx1024m -Dfile.encoding=UTF-8 -jar application.jar

這條命令設(shè)置了最大堆內(nèi)存為1024MB,并且指定了字符集為UTF-8,然后啟動application.jar。

通過這些參數(shù)的組合使用,開發(fā)者可以靈活地控制Java應(yīng)用的運行環(huán)境和行為,以適應(yīng)不同的運行時需求和部署環(huán)境。

9. 結(jié)論

在本文中,我們詳細探討了Java啟動命令中常用的幾類參數(shù),包括內(nèi)存管理、元空間管理、垃圾回收日志、Java Agent、系統(tǒng)屬性以及應(yīng)用執(zhí)行參數(shù)。

每一類參數(shù)都有其獨特的作用和配置方式,正確的使用這些參數(shù)可以顯著提升Java應(yīng)用的性能、可管理性和可調(diào)試性。

最佳實踐

  1. 內(nèi)存和性能優(yōu)化:合理配置-Xms-Xmx參數(shù)來優(yōu)化JVM的啟動和最大內(nèi)存。避免內(nèi)存過小導(dǎo)致頻繁的垃圾回收,同時也避免內(nèi)存過大導(dǎo)致資源浪費。
  2. 垃圾回收策略選擇:根據(jù)應(yīng)用的需求選擇合適的垃圾回收器,如G1對于需要低停頓時間的應(yīng)用更為適合。
  3. 使用Java Agent進行監(jiān)控:合理利用Java Agent進行應(yīng)用性能監(jiān)控和問題診斷,但需注意其對性能的潛在影響。
  4. 系統(tǒng)屬性的靈活應(yīng)用:通過系統(tǒng)屬性參數(shù)傳遞配置,提高應(yīng)用的可配置性,使其更容易適應(yīng)不同的部署環(huán)境。
  5. 明確應(yīng)用執(zhí)行參數(shù):使用-jar等參數(shù)明確指定應(yīng)用的啟動方式和依賴,確保應(yīng)用的正確運行。

調(diào)用讀者實際測試和優(yōu)化

理論和實踐總是相輔相成的。我們鼓勵讀者不僅僅在開發(fā)環(huán)境中應(yīng)用這些參數(shù),更重要的是在生產(chǎn)環(huán)境中進行實際的測試和優(yōu)化。每個應(yīng)用的實際表現(xiàn)可能因為所處的硬件、網(wǎng)絡(luò)以及其他外部條件的不同而有所差異。

  • 測試:在更改任何參數(shù)后,進行全面的測試,包括性能測試和穩(wěn)定性測試,確保新的配置不會引入未預(yù)見的問題。
  • 監(jiān)控:利用監(jiān)控工具持續(xù)觀察應(yīng)用在生產(chǎn)環(huán)境中的表現(xiàn),特別是內(nèi)存使用和垃圾回收行為。
  • 反饋循環(huán):根據(jù)監(jiān)控結(jié)果和用戶反饋調(diào)整參數(shù)配置,優(yōu)化應(yīng)用性能。

通過不斷的測試、監(jiān)控和優(yōu)化,可以逐步深入了解各項參數(shù)對應(yīng)用性能的具體影響,從而使Java應(yīng)用達到最佳的運行狀態(tài)。

實戰(zhàn)示例

java
-Xms4096m
-Xmx8192m
-XX:MetaspaceSize=128m
-XX:MaxMetaspaceSize=512m
-Xloggc:/home/my-service/tsf_apm/monitor/jvm-metrics/gclog.log
-javaagent:/home/my-service/TencentCloudJvmMonitor-1.1.1-RELEASE.jar=hascontroller=true
-Dfile.encoding=utf-8
-Djarvis.serve.port=8081
-Djarvis.admin.serve.port=9081
-Dserver.port=80
-jar
my-service.jar

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring cloud學(xué)習(xí)教程之config修改配置詳解

    spring cloud學(xué)習(xí)教程之config修改配置詳解

    這篇文章主要給大家介紹了關(guān)于spring cloud學(xué)習(xí)教程之config修改配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • MyBatisPlus 查詢selectOne方法實現(xiàn)

    MyBatisPlus 查詢selectOne方法實現(xiàn)

    本文主要介紹了MyBatisPlus 查詢selectOne方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

    使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程

    本文給大家分享使用Spring Boot實現(xiàn)操作數(shù)據(jù)庫的接口的過程,包括springboot原理解析及實例代碼詳解,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • 在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫

    在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫

    這篇文章主要介紹了在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫的方法,并通過示例展示了其存儲過程以及基本SQL語句的應(yīng)用,需要的朋友可以參考下
    2015-12-12
  • Java定時任務(wù)schedule和scheduleAtFixedRate的異同

    Java定時任務(wù)schedule和scheduleAtFixedRate的異同

    本文主要介紹了Java定時任務(wù)schedule和scheduleAtFixedRate的異同,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java面向?qū)ο笕馕鲋畉his關(guān)鍵字+構(gòu)造方法+標準JavaBean

    Java面向?qū)ο笕馕鲋畉his關(guān)鍵字+構(gòu)造方法+標準JavaBean

    本文介紹了Java面向?qū)ο蟮母呒墐?nèi)容,包括無參構(gòu)造方法和帶參構(gòu)造方法,標準JavaBean類是企業(yè)開發(fā)中用于封裝數(shù)據(jù)的規(guī)范類,必須遵循特定的命名和方法規(guī)范,通過本文學(xué)習(xí),讀者可以掌握這些關(guān)鍵概念并應(yīng)用到實際開發(fā)中,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • spring結(jié)合struts的代碼詳解

    spring結(jié)合struts的代碼詳解

    這篇文章主要介紹了spring結(jié)合struts的代碼詳解,需要的朋友可以參考下
    2017-09-09
  • java 實現(xiàn)websocket的兩種方式實例詳解

    java 實現(xiàn)websocket的兩種方式實例詳解

    這篇文章主要介紹了java 實現(xiàn)websocket的兩種方式實例詳解,一種使用tomcat的websocket實現(xiàn),一種使用spring的websocket,本文通過代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • springboot 接口返回字符串帶引號的問題解決

    springboot 接口返回字符串帶引號的問題解決

    本文主要介紹了springboot 接口返回字符串帶引號的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java實現(xiàn)學(xué)生信息管理界面

    Java實現(xiàn)學(xué)生信息管理界面

    這篇文章主要為大家詳細介紹了Java實現(xiàn)學(xué)生信息管理界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評論

思茅市| 巴林右旗| 渝中区| 新龙县| 固安县| 泰来县| 平陆县| 南京市| 连城县| 涿州市| 巫山县| 突泉县| 永安市| 修武县| 金乡县| 黎川县| 望城县| 通海县| 阜新| 县级市| 平泉县| 南通市| 湖南省| 苗栗市| 天祝| 徐州市| 姜堰市| 五家渠市| 鹤壁市| 洪江市| 重庆市| 绥化市| 苗栗县| 广昌县| 玉龙| 上栗县| 彰武县| 峨眉山市| 高青县| 江油市| 新宾|