導航:首頁 > 源碼編譯 > 阿里巴巴g1源碼分析

阿里巴巴g1源碼分析

發布時間:2023-08-18 10:05:11

① 阿里巴巴資深java工程師什麼水平

你好,如阿里網路騰訊等互聯網大廠的工程師,資深(架構師水平)工程師是非常有實力的。

以阿里為例:

1、阿里工程師崗位職級

阿里巴巴集團採用雙序列職業發展體系:

一套體系是專家路線【P序列=技術崗】,程序員、工程師,某一個專業領域的人才,一共分為14級,從P1到P14,目前校招最低從P4開始。

一套體系是M路線,即管理者路線【M序列=管理崗】,從M1到M10。

考核因素是上一年的績效分數+直屬領導的打分+晉升委員會打分,這里的委員會一般由直屬領導+合作方的高管+懂業務的HRG組成。HRG:HR多面手,base在業務下面,在阿里話語權比別的互聯網HR高。

晉升標准:績效滿足3.75、主管提名、技術答辯通過。


P8架構師作為阿里「IT架構靈魂人物」的角色,他們不僅做著架構師的本職工作,還同時做程序開發,寫核心代碼的工作。另外,架構師依舊是技術高手,編程能力依然是一流的。

但根據當前的市場需求,互聯網大廠們對於普通Java開發人才需求逐年銳減,而對互聯網架構師人才的需求招聘量已經上升到50%,因此薪資更是不可同日而語。

對於想學習互聯網架構師的同學來說,北大青鳥、課工場等優秀品牌都是不錯的選擇。課程根據招聘需求制定,包含全部分布式微服務技術,對標阿里P8級別架構師。



希望我的回答對你有所幫助!

② 阿里sentinel源碼解析

sentinel是阿里巴巴開源的流量整形(限流、熔斷)框架,目前在github擁有15k+的star,sentinel以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

我們以sentinel的主流程入手,分析sentinel是怎麼搜集流量指標,完成流量整形的。

首先我們先看一個sentinel的簡單使用demo,只需要調用SphU.entry獲取到entry,然後在完成業務方法之後調用entry.exit即可。

SphU.entry會調用Env.sph.entry,將name和流量流向封裝成StringResourceWrapper,然後繼續調用entry處理。

進入CtSph的entry方法,最終來到entryWithPriority,調用InternalContextUtil.internalEnter初始化ThreadLocal的Context,然後調用lookProcessChain初始化責任鏈,最終調用chain.entry進入責任鏈進行處理。

InternalContextUtil.internalEnter會調用trueEnter方法,主要是生成DefaultNode到contextNameNodeMap,然後生成Context設置到contextHolder的過程。

lookProcessChain已經做過優化,支持spi載入自定義的責任鏈bulider,如果沒有定義則使用默認的DefaultSlotChainBuilder進行載入。默認載入的slot和順序可見鎮樓圖,不再細說。

最後來到重頭戲chain.entry進入責任鏈進行處理,下面會按照順序分別對每個處理器進行分析。
首先來到NodeSelectorSlot,主要是獲取到name對應的DefaultNode並緩存起來,設置為context的當前節點,然後通知下一個節點。

下一個節點是ClusterBuilderSlot,繼續對DefaultNode設置ClusterNode與OriginNode,然後通知下一節點。

下一個節點是LogSlot,只是單純的列印日誌,不再細說。

下一個節點是StatisticSlot,是一個後置節點,先通知下一個節點處理完後,
1.如果沒有報錯,則對node、clusterNode、originNode、ENTRY_NODE的線程數、通過請求數進行增加。
2.如果報錯是PriorityWaitException,則只對線程數進行增加。
3.如果報錯是BlockException,設置報錯到node,然後對阻擋請求數進行增加。
4.如果是其他報錯,設置報錯到node即可。

下一個節點是FlowSlot,這個節點就是重要的限流處理節點,進入此節點是調用checker.checkFlow進行限流處理。

來到FlowRuleChecker的checkFlow方法,調用ruleProvider.apply獲取到資源對應的FlowRule列表,然後遍歷FlowRule調用canPassCheck校驗限流規則。

canPassCheck會根據rule的限流模式,選擇集群限流或者本地限流,這里分別作出分析。

passLocalCheck是本地限流的入口,首先會調用選出限流的node,然後調用canPass進行校驗。

會根據以下規則選中node。
1.strategy是STRATEGY_DIRECT。
1.1.limitApp不是other和default,並且等於orgin時,選擇originNode。
1.2.limitApp是other,選擇originNode。
1.3.limitApp是default,選擇clusterNode。
2.strategy是STRATEGY_RELATE,選擇clusterNode。
3.strategy是STRATEGY_CHAIN,選擇node。

選擇好對應的node後就是調用canPass校驗限流規則,目前sentinel有三種本地限流規則:普通限流、勻速限流、冷啟動限流。

普通限流的實現是DefaultController,就是統計當前的線程數或者qps加上需要通過的數量有沒有大於限定值,小於等於則直接通過,否則阻擋。

勻速限流的實現是RateLimiterController,使用了AtomicLong保證了latestPassedTime的原子增長,因此停頓的時間是根據latestPassedTime-currentTime計算出來,得到一個勻速的睡眠時間。

冷啟動限流的實現是WarmUpController,是sentinel中最難懂的限流方式,其實不太需要關注這些復雜公式的計算,也可以得出冷啟動的限流思路:
1.當qps已經達到溫熱狀態時,按照正常的添加令牌消耗令牌即可。
2.當qps處於過冷狀態時,會添加令牌使得演算法繼續降溫。
3.當qps逐漸回升,大於過冷的邊界qps值時,不再添加令牌,慢慢消耗令牌使得逐漸增大單位時間可通過的請求數,讓演算法繼續回溫。
總結出一點,可通過的請求數跟令牌桶剩餘令牌數量成反比,以達到冷啟動的作用。

接下來是集群限流,passClusterCheck是集群限流的入口,會根據flowId調用clusterSerivce獲取指定數量的token,然後根據其結果判斷是否通過、睡眠、降級到本地限流、阻擋。

接下來看一下ClusterService的處理,會根據ruleId獲取到對應的FlowRule,然後調用ClusterFlowChecker.acquireClusterToken獲取結果返回。ClusterFlowChecker.acquireClusterToken的處理方式跟普通限流是一樣的,只是會將集群的請求都集中在一個service中處理,來達到集群限流的效果,不再細說。

FlowSlot的下一個節點是DegradeSlot,是熔斷處理器,進入時會調用performChecking,進而獲取到CircuitBreaker列表,然後調用其tryPass校驗是否熔斷。

來到AbstractCircuitBreaker的tryPass方法,主要是判斷熔斷器狀態,如果是close直接放行,如果是open則會校驗是否到達開啟halfopen的時間,如果成功將狀態cas成halfopen則繼續放行,其他情況都是阻攔。

那怎麼將熔斷器的狀態從close變成open呢?怎麼將halfopen變成close或者open呢?sentinel由兩種熔斷器:錯誤數熔斷器ExceptionCircuitBreaker、響應時間熔斷器ResponseTimeCircuitBreaker,都分析一遍。
當業務方法報錯時會調用Tracer.traceEntry將報錯設置到entry上。

當調用entry.exit時,會隨著責任鏈來到DegradeSlot的exit方法,會遍歷熔斷器列表調用其onRequestComplete方法。

ExceptionCircuitBreaker的onRequestComplete會記錄錯誤數和總請求數,然後調用繼續處理。
1.當前狀態是open時,不應該由熔斷器底層去轉換狀態,直接退出。
2.當前狀態是halfopen時,如果沒有報錯,則將halfopen變成close,否則將halfopen變成open。
3.當前狀態時close時,則根據是否總請求達到了最低請求數,如果達到了話再比較錯誤數/錯誤比例是否大於限定值,如果大於則直接轉換成open。

ExceptionCircuitBreaker的onRequestComplete會記錄慢響應數和總請求數,然後調用繼續處理。
1.當前狀態是open時,不應該由熔斷器底層去轉換狀態,直接退出。
2.當前狀態是halfopen時,如果當前響應時間小於限定值,則將halfopen變成close,否則將halfopen變成open。
3.當前狀態時close時,則根據是否總請求達到了最低請求數,如果達到了話再比較慢請求數/慢請求比例是否大於限定值,如果大於則直接轉換成open。

下一個節點是AuthoritySlot,許可權控制器,這個控制器就是看當前origin是否被允許進入請求,不允許則報錯,不再細說。

終於來到最後一個節點SystemSlot了,此節點是自適應處理器,主要是根據系統自身負載(qps、最大線程數、最高響應時間、cpu使用率、系統bbr)來判斷請求是否能夠通過,保證系統處於一個能穩定處理請求的安全狀態。

尤其值得一提的是bbr演算法,作者參考了tcp bbr的設計,通過最大的qps和最小的響應時間動態計算出可進入的線程數,而不是一個粗暴的固定可進入的線程數,為什麼能通過這兩個值就能計算出可進入的線程數?可以網上搜索一下tcp bbr演算法的解析,十分巧妙,不再細說。

③ 跪求低代碼開發有哪些

1、宜搭——阿里巴巴
宜搭是阿里巴巴自研的低代碼應用搭建平台,可極大提高開發效率。於2019年3月上線,用戶可以在可視化界面上以拖拉拽的方式編輯和配置頁面、表單和流程,並一鍵發布到PC和手機端。
2、藍凌——低代碼平台 藍凌低代碼開發平台,大幅降低企業應用開發門檻,簡單拖拽即可快速實現應用模塊設計,隨需而建,隨需而變!引用前端開發框架作為設計基礎,同步生成前端代碼,支持實時預覽、快速部署,讓業務實現更簡單,較傳統開發方式效率提升10倍。
3、微搭——騰訊
騰訊雲微搭低代碼以雲開發作為底層支撐,通過行業化模板、拖拽式組件和可視化配置快速構建多端應用(小程序、H5 、PC Web 應用等),免去了代碼編寫工作,基於騰訊的生態鏈,它可以集成企業微信、鏈接騰訊SaaS生態、快速搭建小程序。

4、氚雲——奧哲
獲阿里戰投,背靠阿里強勢發展,釘釘四星級定製服務商,提供表單、流程引擎,報表等功能。 積木式應用搭建,同時具備代碼開發和外部系統集成能力。 與釘釘集成,支持PC端與移動端使用。這些網路都能找到。

④ 《深入理解SPARK核心思想與源碼分析》epub下載在線閱讀,求百度網盤雲資源

《深入理解SPARK》(耿嘉安)電子書網盤下載免費在線閱讀

資源鏈接:

鏈接:

提取碼:oeso

書名:深入理解SPARK

作者:耿嘉安

豆瓣評分:7.2

出版社:機械工業出版社

出版年份:2016-1-1

頁數:469

內容簡介:

《深入理解SPARK:核心思想與源碼分析》結合大量圖和示例,對Spark的架構、部署模式和工作模塊的設計理念、實現源碼與使用技巧進行了深入的剖析與解讀。

《深入理解SPARK:核心思想與源碼分析》一書對Spark1.2.0版本的源代碼進行了全面而深入的分析,旨在為Spark的優化、定製和擴展提供原理性的指導。阿里巴巴集團專家鼎力推薦、阿里巴巴資深Java開發和大數據專家撰寫。

本書分為三篇:

准備篇(第1~2章),介紹了Spark的環境搭建、設計理念與基本架構,幫助讀者了解一些背景知識。

核心設計篇(第3~7章),著重講解SparkContext的初始化、存儲體系、任務提交與執行、計算引擎及部署模式的原理和源碼分析。通過這部分的內容,讀者可以通過源碼剖析更加深入理解Spark的核心設計與實現,以便在實際使用中能夠快速解決線上問題並對性能進行調優。

擴展篇(第8~11章),主要講解基於Spark核心的各種擴展及應用,包括SQL處理引擎、Hive處理、流式計算框架Spark Streaming、圖計算框架GraphX、機器學習庫MLlib等內容。通過閱讀這部分內容,讀者可以擴展實際項目中對Spark的應用場景,讓Spark煥發活力。

作者簡介:

耿嘉安,10年IT行業相關經驗。就職於阿里巴巴商家業務事業部,任資深Java工程師,專注於開源和大數據領域,目前與小夥伴們基於ODPS構建阿里的大數據商業解決方案——御膳房。在大量的工作實踐中,對J2EE、JVM、Tomcat、Spring、Hadoop、Spark、MySQL、Redis都有深入研究,尤其喜歡剖析開源項目的源碼實現。早期從事J2EE企業級應用開發,對Java相關技術有獨到見解。業余時間喜歡研究中國古代歷史,古詩詞,旅遊,足球等。

⑤ 《深入理解spark核心思想及源碼分析》pdf下載在線閱讀全文,求百度網盤雲資源

《深入理解spark核心思想及源碼分析》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1iOq9-MrepVdWcIrbALPMPg

?pwd=df15 提取碼:df15
簡介:本書對Spark源代碼進行了全面而深入的分析,旨在為Spark的優化、定製和擴展提供原理性的指導。阿里巴巴集團專家鼎力推薦,阿里巴巴資深Java開發和大數據專家撰寫,Spark以其先進的設計理念,迅速成為社區的熱門項目


⑥ 關於Spring Cloud Alibaba,看這篇文章就夠了!(附教程資料)

首先我們需要了解一下Spring Cloud,然後再來了解Spring Cloud Alibaba;

源自官方描述:

Spring Cloud為開發人員提供了一些工具用來快速構建分布式系統中的一些常見模式和解決一些常見問題(例如配置管理、服務發現、斷路器、智能路由、微代理、控制匯流排、一次性令牌、全局鎖、領導選舉、分布式會話、群集狀態)。分布式系統的協調導致了很多樣板式的代碼(很多固定套路的代碼),使用Spring Cloud開發人員可以快速建立實現這些模式的服務和應用程序。它們在任何分布式環境中都能很好地運行,包括開發人員自己的筆記本電腦、裸機數據中心和雲計算等託管平台;

Spring Cloud為分布式系統開發的典型應用場景提供良好的開箱即用的功能:

Spring Cloud Alibaba是Spring Cloud下的一個子項目,Spring Cloud Alibaba為分布式應用程序開發提供了一站式解決方案,它包含開發分布式應用程序所需的所有組件,使您可以輕松地使用Spring Cloud開發應用程序,使用Spring Cloud Alibaba,您只需要添加一些註解和少量配置即可將Spring Cloud應用程序連接到Alibaba的分布式解決方案,並使用Alibaba中間件構建分布式應用程序系統;

Spring Cloud Alibaba 是阿里巴巴開源中間件跟 Spring Cloud 體系的融合:

動力節點的Spring Cloud Alibaba學習教程,將帶你深入掌握基於Spring Cloud Alibaba技術棧的微服務開發技術,包括nacos、sentinel、seata、gateway、skywalking等,培養獨立進行企業微服務項目架構的能力;

Spring Cloud Alibaba視頻教程

https://www.bilibili.com/video/BV1nK4y

Spring Cloud Alibaba資料下載

http://www.bjpowernode.com/?toutiao

•001.視頻導讀

•002.Spring家族產品梳理

•003.What is Spring-Cloud-Alibaba?

•004.Nacos運行環境部署

•005.向Nacos注冊中心注冊服務

•006.從Nacos發現服務並負載均衡調用

•007.從Nacos發現服務並負載均衡調用

•008.Nacos客戶端信息緩存

•009.Nacos客戶端信息緩存

•010.Nacos Config配置中心啟動讀取外部配置

•011.Nacos Config配置中心自動刷新

•012.Nacos Config配置中心yaml配置

•013.Nacos Config配置中心多環境配置

•014.問答交流

•015.內容回顧-配置中心數據模型

•016.配置中心三層結構數據配置隔離

•017.配置中心三層結構數據配置隔離

•018.配置版本回滾-服務注冊分組

•019.Nacos管控台用戶許可權管理

•020.Nacos數據持久化

•021.Nacos數據持久化

•022.Nacos集群環境部署

•023.Nacos集群環境測試

•024.Nacos集群統一入口Nginx

•025.快速回顧

•026.RestTemplate無參數Get調用返回String

•027.RestTemplate無參數Get調用返回User

•028.RestTemplate有參數Get調用返回User

•029.RestTemplate有參數Get調用返回User

•030.RestTemplate有參數Post調用返回User

•031.RestTemplate有參數Post調用返回User

•032.RestTemplate傳輸User對象參數Post調用返回User

•033.RestTemplate傳輸JSON參數Post調用返回User

•034.RestTemplate有參數Put調用

•035.RestTemplate有參數Delete調用

•036.RestTemplate方法調用梳理總結

•037.RestTemplate結合Ribbon實現負載均衡

•038.RestTemplate結合Ribbon實現負載均衡

•039.Ribbon負載均衡實現策略

•040.自定義Ribbon負載均衡實現策略

•041.更改Ribbon負載均衡實現策略

•042.Ribbon的核心介面組成

•043.Ribbon負載均衡策略個性化配置

•044.Ribbon結合Nacos實現權重負載均衡策略

•045.Ribbon結合Nacos負載均衡策優先調用同名集群

•046.Ribbon結合Nacos基於版本負載均衡策略

•047.Ribbon結合Nacos基於命名空間負載均衡策略

•048.What is Feign?

•049.Spring Cloud Alibaba基於Feign的遠程調用

•050.Spring Cloud Alibaba基於Feign+Ribbon負載均衡遠程調用

•051.Spring Cloud Alibaba基於Feign的相關配置

•052.脫離Ribbon的Feign的遠程調用

•054.微服務的級聯故障服務雪崩

•055.Spring Cloud Alibaba集成Sentinel

•056.Spring Cloud Alibaba基於Sentinel管理後台數據測試

•057.Spring Cloud Alibaba基於Sentinel實現限流

•058.Spring Cloud Alibaba基於Sentinel實現限流自定義返回結果

•059.Spring Cloud Alibaba基於Sentinel實現限流自定義跳轉頁面

•060.Spring Cloud Alibaba基於Sentinel線程數限流

•061.Spring Cloud Alibaba基於Sentinel資源關聯限流

•062.Spring Cloud Alibaba基於Sentinel流控規則和流控效果

•063.問答交流

•064.快速回顧和演示環境預備

•065.Spring Cloud Alibaba Sentinel 服務降級RT

•066.Spring Cloud Alibaba Sentinel 服務降級異常比例和異常數

•067.Spring Cloud Alibaba Sentinel 熱點參數規則

•068.Spring Cloud Alibaba Sentinel 熱點參數規則小細節

•069.Spring Cloud Alibaba Sentinel 系統保護規則

•070.Spring Cloud Alibaba Sentinel 授權規則

•071.Spring Cloud Alibaba Sentinel Dashboard控制台通信原理

•072.Spring Cloud Alibaba Sentinel 對Controller請求url埋點

•073.Spring Cloud Alibaba Sentinel 手寫代碼實現埋點

•074.Spring Cloud Alibaba Sentinel 採用註解實現埋點

•075.Spring Cloud Alibaba Sentinel 對RestTemplate流控和熔斷

•076.Spring Cloud Alibaba Sentinel 對Feign流控和熔斷

•077.問答交流

•078.Sentinel規則持久化-拉模式持久化到本地文件

•079.Sentinel規則持久化-拉模式持久化到本地文件

•080.Sentinel規則持久化-推模式持久化到Nacos

•081.Sentinel規則持久化-推模式持久化到Nacos

•082.Spring Cloud Gateway 網關功能特性

•083.Spring Cloud Gateway 網關搭建

•084.Spring Cloud Gateway 網關服務調用

•085.Spring Cloud Gateway 網關謂詞

•086.Spring Cloud Gateway 網關謂詞

•087.Spring Cloud Gateway 網關謂詞

•088.Spring Cloud Gateway 網關過濾器

•089.Spring Cloud Gateway 問答交流

•090.Spring Cloud Gateway自定義謂詞

•091.Spring Cloud Gateway自定義謂詞

•092.Spring Cloud Gateway自定義謂詞不匹配404頁面

•093.Spring Cloud Gateway自定義過濾器

•094.Spring Cloud Gateway全局過濾器

•095.Spring Cloud Gateway自定義全局過濾器

•096.Spring Cloud Gateway集成Ribbon實現負載均衡

•097.Spring Cloud Gateway集成Sentinel限流

•098.Spring Cloud Gateway集成Sentinel限流自定義錯誤頁

•099.Spring Cloud Gateway集成Sentinel規則持久化到文件

•100.Spring Cloud Gateway集成Sentinel規則持久化到Nacos

•101.Spring Cloud Gateway內部執行流程源碼分析

•102.Spring Cloud Gateway小結

•103.快速回顧

•104.Spring Cloud Gateway跨域CORS請求

•105.Spring Cloud Gateway跨域CORS請求

•106.What is SkyWalking?

•107.Skywalking運行環境部署

•108.SkyWalking Agent對微服務的鏈路追蹤

•109.SkyWalking Agent對微服務鏈路追蹤

•110.SkyWalking Agent加入IDEA中對微服務鏈路追蹤

•111.SkyWalking 監控告警通知

•112.SkyWalking 監控告警通知

•113.SkyWalking 微服務鏈路追蹤數據持久化MySQL

•114.SkyWalking 問答交流

•115.Skywalking持久化跟蹤數據elasticsearch

•116.Skywalking持久化跟蹤數據elasticsearch

•117.Skywalking對多個跨服務的鏈路跟蹤

•118.Skywalking對多個跨服務的鏈路跟蹤

•119.Skywalking自定義鏈路跟蹤

•120.Skywalking集成logback輸出traceId日誌

•121.Skywalking UI界面-儀表盤

•122.Skywalking UI界面-拓撲圖-追蹤-性能剖析-告警

•123.Skywalking 基於nacos集群

•124.Skywalking 基於nacos集群

•125.Skywalking 基於nacos集群

•126.Skywalking 問答交流

•127.What is Seata?

•128.Seata分布式事務生命周期

•129.Seata TC Server運行環境部署

•130.Seata基於AT事務模式單體應用多數據源分布式事務

•131.Seata基於AT事務模式單體應用多數據源分布式事務

•132.Seata基於AT事務模式單體應用多數據源分布式事務

•133.Seata基於AT事務模式多個微服務分布式事務

•134.Seata基於AT事務模式多個微服務分布式事務

•135.Seata基於AT事務模式多個微服務分布式事務

•136.Seata基於AT事務模式執行機制

•137.Seata AT事務模式

•138.Seata AT事務模式寫數據隔離

•139.Seata AT事務模式寫數據隔離

•140.Seata AT事務模式讀數據隔離

•141.Seata AT事務模式讀數據隔離

•142.Seata TC Server集群環境部署

•143.Seata TC Server集群環境部署

•144.Seata TC Server集群環境集成測試

•145.Seata TC Server集群環境集成測試

•146.Seata TCC事務模式的運行機制

•147.Seata TCC事務模式SpringBoot單體應用案例

•148.Seata TCC事務模式SpringBoot單體應用案例

•149.Seata TCC事務模式SpringCloudAlibab微服務應用案例

•150.Seata TCC事務模式SpringCloudAlibab微服務應用案例

•151.What is Spring Cloud Stream

•152.Spring Cloud Stream的核心概念

•153.Spring Cloud Stream集成RocketMQ配置

•154.Spring Cloud Stream集成RocketMQ發送消息

•155.Spring Cloud Stream集成RocketMQ接收消息

•156.Spring Cloud Stream集成RocketMQ監聽接收消息

•157.Spring Cloud Stream集成RocketMQ多種發送消息方式

•158.Spring Cloud Stream Starter代碼分析

•159.Spring Cloud Stream集成RocketMQ發送事務消息

•160.Spring Cloud Stream集成RocketMQ對象標簽消息

•161.Spring Cloud Stream問答交流

閱讀全文

與阿里巴巴g1源碼分析相關的資料

熱點內容
at89c51編程器 瀏覽:341
項目經理叫醒程序員 瀏覽:342
autocad旋轉命令 瀏覽:660
手機版wpsoffice怎麼打包文件夾 瀏覽:579
在成都學車用什麼app 瀏覽:818
grep命令管道 瀏覽:426
java修改重啟 瀏覽:567
單片機供電方案 瀏覽:770
airpodspro一代怎麼連接安卓 瀏覽:218
豌豆莢app上有什麼游戲 瀏覽:283
公路商店app標簽選什麼 瀏覽:338
linuxoracle命令行登錄 瀏覽:227
android深度休眠 瀏覽:173
php微信開發例子 瀏覽:845
醫得app登錄密碼是什麼 瀏覽:142
spring開發伺服器地址 瀏覽:411
伺服器上如何查看伺服器的埠 瀏覽:678
單片機伺服器編譯 瀏覽:770
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:956