紅燈也可以掉頭?老司機都會犯傻!

3禁左即是禁止掉頭左轉與掉頭是有一定關係的,因為大多數情況下掉頭需要佔用左轉車道,所以禁止左轉意味着不能掉頭,除非該路口除了有“禁止左轉”的標誌外,還同時有“允許掉頭”的標誌,則可掉頭。下面這些情況可以掉頭1路口有掉頭標誌的可掉頭按照信號燈的指示進行掉頭,如果沒有信號燈,則根據路況有左轉標誌的,在不影響其他車輛通行或阻礙行人的情況進行掉頭,在這裏得提醒一下,有些掉頭車道是在最右側的。

今天小編開心的開着五菱宏光去兜風,準備右轉的時候在一個紅燈路口停了下來,後方的車輛不停的按着喇叭來催前面第一輛車輛,看來又是一個新手,不知道沒方向指示的紅燈是允許掉頭的。

但是今天我們討論的是紅燈能否掉頭的問題,有禁止標誌的路口大夥都看得懂,但是沒明確指示的就不一定了,一起來學習一下吧,剛拿到駕照的朋友再也不擔心給人家嗶嗶的催個不停了。

車輛掉頭規定

一開始我們先來看一下違章掉頭將會受到什麼樣的處罰,駕駛機動車違反禁令標誌、禁止、標線指示的,將一次記3分,部分地區還將罰200元。

禁止掉頭的九種情況

1

斑馬線處禁止掉頭

有些道路上設有斑馬線,雖然這一塊地方沒有明確禁止掉頭標識,但是機動車是不允許在斑馬線上掉頭的,就算在允許掉頭的路口,也要越過斑馬線才可以掉頭。

2

黃色實線禁止掉頭

在行至無“禁止掉頭”標誌的路口,是允許掉頭的,但是要注意道路中心線的虛實,如果是單黃實線或者雙黃實線都是禁止掉頭的。

3

禁左即是禁止掉頭

左轉與掉頭是有一定關係的,因為大多數情況下掉頭需要佔用左轉車道,所以禁止左轉意味着不能掉頭,除非該路口除了有“禁止左轉”的標誌外,還同時有“允許掉頭”的標誌,則可掉頭。

下面這些情況可以掉頭

1

路口有掉頭標誌的可掉頭

按照信號燈的指示進行掉頭,如果沒有信號燈,則根據路況有左轉標誌的,在不影響其他車輛通行或阻礙行人的情況進行掉頭,在這裏得提醒一下,有些掉頭車道是在最右側的。

2

黃色網格線可掉頭

黃色網格線大家可能都很清楚,就是嚴禁停車的意思,但在該區域內,只要沒有設置中間隔離護欄,是可以掉頭的,等同於“允許掉頭”的意思。

3

黃色虛實線可掉頭

如果是一虛一實的黃色線,是可以掉頭的,虛線一側車輛可向實線一側通行,實線一側的車輛是不允許向虛線一邊通行的。

總結:考試背得滾瓜爛熟的交規一畢業就給回教練了,加上一些馬路上交通標支模糊指引不明確,很容易造成新手犯錯,還會被後面車輛“嗶”個不停,希望通過這篇文章學習后,大家可以對掉頭的情況了如指掌。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※別再煩惱如何寫文案,掌握八大原則!

網頁設計最專業,超強功能平台可客製化

※回頭車貨運收費標準

這個配置能“防出軌” 15萬選這些家用車最放心

車身尺寸為4675*1780*1500mm,軸距達到了2710mm,乘坐空間上是比較寬敞的,加上柔軟的座椅,舒適性表現出色。動力方面,提供了1。2T和1。6T兩款發動機可選,匹配5擋手動或者6擋手自一體變速器,沉穩線性的油門調校讓動力非常容易掌控,動力總體表現出色。

隨着上個月的“超級丹”出軌事件后

辛辛苦苦塑造的男神形象毀於一旦

當然,更重要的是有媳婦的人被看得更緊了

上街口買串魚蛋都要向老婆申請

當然這隻是調侃一下

畢竟出軌並不是什麼好事情

但是隨着科技的發展

一種叫“車道偏離預警系統”的東西出現了

裝配在汽車上能有效提升行駛安全性

其工作原理是這樣的:在駕駛員未打轉向燈的情況下,電腦檢測到車輛偏離原車道之後,發出警報,以方向盤震動、發出警示音提醒等多種途徑提醒駕駛員,讓駕駛員及時糾正放向,有效減小事故的發生,哪些車上都有這種配置了,以下幾款15萬左右的合資車就有了。

北京現代-領動

指導價:9.98-15.18萬

一說起韓國品牌,就不得不提那大膽設計的外觀了,領動的設計是比較激進的,視覺衝擊力極強,狹長的大燈造型和碩大的六邊形中網給人留下很深刻的印象;純黑的內飾搭配紅色縫線整體感覺非常運動,中控液晶屏幕支持Carplay和CarLife功能,配置上很豐富,旗艦型車型上甚至裝備了主動安全系統。

2700mm的軸距為其乘坐空間提供了保證,462L的後備箱容積和可4/6比例放倒的後排座椅都能滿足日常使用的需求;其中1.4T車型採用了缸內直噴技術,最大功率為130馬力,搭配7速雙離合變速箱,動力的輸出也相對線性,對於渦輪遲滯的控制很好,幾乎感覺不到什麼遲滯現象。

東風雪鐵龍-雪鐵龍C4L

指導價:13.19-18.99萬

新款C4L的前臉變化是很明顯的,採用了上下橫貫式的進氣格柵,從雙立人車標延伸出來的鍍鉻飾條融入大燈內,看起來相當科幻前衛;內飾的變化卻沒外觀來的那麼強烈,與現款相差無幾,一些細節和配置上的升級更人性化了,电子手剎和全新樣式的換擋桿,操作起來更加方便順手了。

車身尺寸為4675*1780*1500mm,軸距達到了2710mm,乘坐空間上是比較寬敞的,加上柔軟的座椅,舒適性表現出色;動力方面,提供了1.2T和1.6T兩款發動機可選,匹配5擋手動或者6擋手自一體變速器,沉穩線性的油門調校讓動力非常容易掌控,動力總體表現出色。

東風本田-思域

指導價:11.59-16.99萬

思域整車採用全新的家族式設計語言打造,相比老款車型更具肌肉感,更多曲麵線條的運用,讓它在外觀方面更加飽滿立體,運動氣息很濃厚;內飾也是一改以往本田的風格,階梯狀設計的中控台錯落有致,大量的軟質材料覆蓋件也提高了不少檔次感,中央液晶儀錶盤功能豐富,显示效果出色。

2700mm的軸距使得新思域的空間有所改善,乘坐空間令人滿意,儲物空間也是比較多,半封閉的中央扶手箱是其中的亮點;1.5T發動機最大功率177馬力,搭配CVT變速器,起步輕盈暢快,動力輸出一氣呵成,渦輪介入感極其輕微,給人加速很線性的體驗,可以說這代思域迎來了脫胎換骨的一代。

總結:三款車的類型各有特色,適合的人群也更廣,配置豐富外觀帥氣的領動,底盤沉穩操控感好的雪鐵龍C4L,動力強勁高顏值的思域,到底哪個才是你的菜!本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※回頭車貨運收費標準

網頁設計最專業,超強功能平台可客製化

※別再煩惱如何寫文案,掌握八大原則!

這台車日行1200公里 連外國人都驚訝

上汽大通的海外市場表現澳新市場作為上汽大通的第一大海外市場,而且也是唯一獲得大批量歐洲政府採購、唯一進入歐洲國家政府執法機構的中國品牌,同時,在澳洲也成為了銷量第一的中國汽車品牌,在1-9月,上汽大通在澳新市場的銷量達到1791台,同比去年銷量增長了90。

一份值得學習的敬業

戴夫已經在陶朗加(新西蘭北島北部港市)生活了40多年,而對於工作,他說是一種享受,還必不想退休,每天工作的開始先從家中出發,北上漢密爾頓裝貨、再到北邊的奧克蘭進行卸貨和裝報,然後返回陶朗加換乘後半夜的司機繼續南下吉斯伯恩完成《先驅報》的送遞並返回家中。

戴夫從1986年開始從事送遞業務,一直從事報紙信件投遞的工作,30年送遞工作已經累計送達4000萬份貨物。

6年前,戴夫就為新西蘭的第一大報社《先驅報》(日報,日發行量15萬份)進行送貨,這條線路一年下來需要跑45萬公里,從第一次駕駛上汽大通的V80已經有2年多了,不到3年的時間里,前兩周破一百萬公里總行駛里程(三台V80里程合計)。

目前一共有5個司機,實行輪班制,負責陶朗加到漢密爾頓、奧克蘭再南下吉斯伯恩,並最後返回陶朗加約1200公里里程的線路,除了聖誕和復活節,工作風雨無阻,實行做三天休息三天的交替輪班制度,對於已經到了退休年齡的戴夫,還沒有考慮退休必很享受這份工作,會一直開下去。

上汽大通的海外市場表現

澳新市場作為上汽大通的第一大海外市場,而且也是唯一獲得大批量歐洲政府採購、唯一進入歐洲國家政府執法機構的中國品牌,同時,在澳洲也成為了銷量第一的中國汽車品牌,在1-9月,上汽大通在澳新市場的銷量達到1791台,同比去年銷量增長了90.9%,作為上汽大通的第一大海外市場,澳新市場的銷量佔據了上汽大通整個海外銷量的30%。

上汽在澳洲市場的大熱和良好的聲譽,其最根本的原因還是自身產品的性價比高,更合理的市場價,更合理的豐富的配置及良好的安全性和耐用性,都是讓它在市場立足必越來越強的原因,雖然大通進入澳州市場不久,但勢頭穩步上升,可見上汽集團的全球化戰略正初見成效,接下來,上汽大通還將向澳新市場導入一系列新品。包括純電動寬體輕客EV80、中高端皮卡、中大型SUV D90等,隨着新品投放,期待上汽大通如何將代表中國汽車,成為歐美日韓車系之外的又一股強大力量,不僅使中國汽車在澳新市場崛起,並且希望為澳新消費者帶來更多更優秀的產品和服務。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

南投搬家公司費用需注意的眉眉角角,別等搬了再說!

※教你寫出一流的銷售文案?

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

機油怎麼分好壞?教授親自帶你到歐洲看機油研發過程

實測:在發動機測試實里我們看到各種不同的發動機,所有機油在路試之前都要在這裏分別進行100小時高溫測試、冷機潤滑性能測試、模擬實際使用情況長測,以及整車測試等。在探訪過程中我們還發現了送測的日產雷諾新1。6T機器,整車合作廠家會把最新的發動機送來研發中心,因應發動機的特性開發專用機油並加以改進,所以所謂品牌專用機油和市場上買到的還真是有區別。

說起汽車機油,相信大家都知道每次保養時需要更換,但不同機油之間的差別,好像一般用家不會太在意。比較資深的老司機會知道機油有合成、礦物油之分,也知道機油有不同標號、等級之分,但怎麼選擇一款最適合自己愛車的機油,一款好機油的技術含量有多高,你又知道多少?

在出發前,我們先掃一下盲。

發動機裏面有無數金屬部件在運動,運動過程中會產生摩擦,就好像人的關節一樣,使用了不良或是不合適的機油,發動機就好像得了關節炎一樣,運動不順暢,久而久之,甚至會得大病。

機油具有潤滑、清潔、冷卻、密封、減磨、防鏽 的功能。因此選擇機油是不能馬虎的。

Jacky 此次特意飛往來自法國的品牌—道達爾的集團總部参觀學習,給大家窺探一款優異的機油的研發過程。

什麼?只聽過殼牌、美孚、嘉實多?那你就Out 了!

道達爾是世界第四大石油天然氣公司,業務遍及130多個國家。

在汽車賽事方面,道達爾一直活躍於國內外頂級賽車運動的賽場上,在頂級的賽車運動場上始終能看到道達爾的身影,如一級方程式錦標賽(F1)、世界拉力錦標賽(WRC)、世界耐力錦標賽(WEC)、以及勒芒24小時耐力賽、達喀爾拉力賽(Dakar)。

亞洲勒芒系列賽事(ALMS)、世界房車錦標賽(WTCC)、中國越野拉力賽(CGR)、絲綢之路拉力賽(Silk Way Rally)等其它著名賽事。通過這些頂級賽事,道達爾的產品性能(潤滑油和燃油)在非常嚴苛的環境下都得到了驗證。

到底一款優良的機油是怎樣研發的呢?第一站我們來到了位於里昂近郊的道達爾Soliaze研發中心。

在這裏每年有超過1200種不同特性的潤滑油誕生。

機油研發分為調配、試驗、分析、實測幾個重要步驟:

調配:因應不同的訴求,加入不同的添加劑來達到相應的效果,你所使用的機油和F1車隊使用的機油都是在同一個實驗室由同一幫工程師調配出來的。

試驗:調和好的機油會送到實驗室進行高溫、低溫、各種耐久測試,這裏的溫度控制精度必須達到小數點后2位,因為實驗室屬於整個生產流程的最頂端,不能允許有任何誤差。在這裏我們也看到了標緻和雷諾的廠家機油測試標準,比一般的歐標和美標都要更嚴格一些。

實測:在發動機測試實里我們看到各種不同的發動機,所有機油在路試之前都要在這裏分別進行100小時高溫測試、冷機潤滑性能測試、模擬實際使用情況長測,以及整車測試等。在探訪過程中我們還發現了送測的日產雷諾新1.6T機器,整車合作廠家會把最新的發動機送來研發中心,因應發動機的特性開發專用機油並加以改進,所以所謂品牌專用機油和市場上買到的還真是有區別。

在巴黎車展上,我們看到了道達爾贊助的雷諾F1賽車、標緻3008 DKR 賽車和208WRX 賽車,在208 WRX 的宣傳片上我甚至看到添加道達爾快馳潤滑油的片段,所以我很好奇到底賽用機油跟我們民用機油的相似度有多少。

為此我特意來到了道達爾集團位於巴黎的總公司,和他們的拉力和耐力賽經理聊了一下。

道達爾多年來积極支持各大國際知名賽事,如世界房車錦標賽WTCC、世界耐力錦標賽WEC、世界拉力錦標賽WRC,一級方程式比賽F1等等,併為贊助車隊提供高品質的潤滑油產品和技術支持。

這些參賽車輛在運行過程中擁有非常高的轉速,這樣的環境對賽車發動機及潤滑油都有着嚴苛的考驗,所以賽車用油或多或少都與民用油有所不同,尤其是像F1這樣對速度要求十分高的賽事,所需的機油和民用油差別則更大,但在賽事嚴苛的使用環境中,機油可以得到深度的測試,賽後進行樣本分析,再把數據應用到民用產品當中。

和賽事中純性能取向不同,一款良好的民用機油應該具備以下特性,我們可以拿道達爾快馳9000 5W-40汽車潤滑油舉個例子:

它有哪些特性呢?:

1、全合成產品,性能穩定可本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※回頭車貨運收費標準

網頁設計最專業,超強功能平台可客製化

※別再煩惱如何寫文案,掌握八大原則!

神仙也難救! Segway 7月15日停產

摘錄自2020年6月24日自由財經報導

曾經風靡一時、被視為會改變人類社會的創新科技Segway(賽格威)電動平衡車,將於今年7月15日起終止開發。

根據統計,在Segway推出近20年期間,總共只賣出14萬台,產品大多被用作安全人員的巡邏和遊客遊覽的代步工具。

因 Segway的設計獨特,使它看起來極具科技感,各國交通監理單位卻無法給予它明確定位。在美國有將近一半的地區,禁止Segway行駛於人行道上;在歐洲則被視為動力車輛,許多國家禁止它在公共道路上行駛。台灣對於 Segway則沒有分類,但基本上是不允許在道路上行駛。

生活環境
能源轉型
國際新聞
電動概念車
交通運輸

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※別再煩惱如何寫文案,掌握八大原則!

網頁設計最專業,超強功能平台可客製化

※回頭車貨運收費標準

小師妹學JavaIO之:Buffer和Buff

目錄

  • 簡介
  • Buffer是什麼
  • Buffer進階
  • 創建Buffer
  • Direct VS non-Direct
  • Buffer的日常操作
    • 向Buffer寫數據
    • 從Buffer讀數據
    • rewind Buffer
    • Compact Buffer
    • duplicate Buffer
  • 總結

簡介

小師妹在學習NIO的路上越走越遠,唯一能夠幫到她的就是在她需要的時候給她以全力的支持。什麼都不說了,今天介紹的是NIO的基礎Buffer。老鐵給我上個Buff。

Buffer是什麼

小師妹:F師兄,這個Buffer是我們縱橫王者峽谷中那句:老鐵給我加個Buff的意思嗎?

當然不是了,此Buffer非彼Buff,Buffer是NIO的基礎,沒有Buffer就沒有NIO,沒有Buffer就沒有今天的java。

因為NIO是按Block來讀取數據的,這個一個Block就可以看做是一個Buffer。我們在Buffer中存儲要讀取的數據和要寫入的數據,通過Buffer來提高讀取和寫入的效率。

更多精彩內容且看:

  • 區塊鏈從入門到放棄系列教程-涵蓋密碼學,超級賬本,以太坊,Libra,比特幣等持續更新
  • Spring Boot 2.X系列教程:七天從無到有掌握Spring Boot-持續更新
  • Spring 5.X系列教程:滿足你對Spring5的一切想象-持續更新
  • java程序員從小工到專家成神之路(2020版)-持續更新中,附詳細文章教程

更多內容請訪問www.flydean.com

還記得java對象的底層存儲單位是什麼嗎?

小師妹:這個我知道,java對象的底層存儲單位是字節Byte。

對,我們看下Buffer的繼承圖:

Buffer是一個接口,它下面有諸多實現,包括最基本的ByteBuffer和其他的基本類型封裝的其他Buffer。

小師妹:F師兄,有ByteBuffer不就夠了嗎?還要其他的類型Buffer做什麼?

小師妹,山珍再好,也有吃膩的時候,偶爾也要換個蘿蔔白菜啥的,你以為乾隆下江南都幹了些啥?

ByteBuffer雖然好用,但是它畢竟是最小的單位,在它之上我們還有Char,int,Double,Short等等基礎類型,為了簡單起見,我們也給他們都搞一套Buffer。

Buffer進階

小師妹:F師兄,既然Buffer是這些基礎類型的集合,為什麼不直接用結合來表示呢?給他們封裝成一個對象,好像有點多餘。

我們既然在面向對象的世界,從表面來看自然是使用Object比較合乎情理,從底層的本質上看,這些封裝的Buffer包含了一些額外的元數據信息,並且還提供了一些意想不到的功能。

上圖列出了Buffer中的幾個關鍵的概念,分別是Capacity,Limit,Position和Mark。Buffer底層的本質是數組,我們以ByteBuffer為例,它的底層是:

final byte[] hb; 
  • Capacity表示的是該Buffer能夠承載元素的最大數目,這個是在Buffer創建初期就設置的,不可以被改變。
  • Limit表示的Buffer中可以被訪問的元素個數,也就是說Buffer中存活的元素個數。
  • Position表示的是下一個可以被訪問元素的index,可以通過put和get方法進行自動更新。
  • Mark表示的是歷史index,當我們調用mark方法的時候,會把設置Mark為當前的position,通過調用reset方法把Mark的值恢復到position中。

創建Buffer

小師妹:F師兄呀,這麼多Buffer創建起來是不是很麻煩?有沒有什麼快捷的使用辦法?

一般來說創建Buffer有兩種方法,一種叫做allocate,一種叫做wrap。

public void createBuffer(){
        IntBuffer intBuffer= IntBuffer.allocate(10);
        log.info("{}",intBuffer);
        log.info("{}",intBuffer.hasArray());
        int[] intArray=new int[10];
        IntBuffer intBuffer2= IntBuffer.wrap(intArray);
        log.info("{}",intBuffer2);
        IntBuffer intBuffer3= IntBuffer.wrap(intArray,2,5);
        log.info("{}",intBuffer3);
        intBuffer3.clear();
        log.info("{}",intBuffer3);
        log.info("{}",intBuffer3.hasArray());
    }

allocate可以為Buffer分配一個空間,wrap同樣為Buffer分配一個空間,不同的是這個空間背後的數組是自定義的,wrap還支持三個參數的方法,後面兩個參數分別是offset和length。

INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=0 lim=10 cap=10]
INFO com.flydean.BufferUsage - true
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=0 lim=10 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=2 lim=7 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=0 lim=10 cap=10]
INFO com.flydean.BufferUsage - true

hasArray用來判斷該Buffer的底層是不是數組實現的,可以看到,不管是wrap還是allocate,其底層都是數組。

需要注意的一點,最後,我們調用了clear方法,clear方法調用之後,我們發現Buffer的position和limit都被重置了。這說明wrap的三個參數方法設定的只是初始值,可以被重置。

Direct VS non-Direct

小師妹:F師兄,你說了兩種創建Buffer的方法,但是兩種Buffer的後台都是數組,難道還有非數組的Buffer嗎?

自然是有的,但是只有ByteBuffer有。ByteBuffer有一個allocateDirect方法,可以分配Direct Buffer。

小師妹:Direct和非Direct有什麼區別呢?

Direct Buffer就是說,不需要在用戶空間再複製拷貝一份數據,直接在虛擬地址映射空間中進行操作。這叫Direct。這樣做的好處就是快。缺點就是在分配和銷毀的時候會佔用更多的資源,並且因為Direct Buffer不在用戶空間之內,所以也不受垃圾回收機制的管轄。

所以通常來說只有在數據量比較大,生命周期比較長的數據來使用Direct Buffer。

看下代碼:

public void createByteBuffer() throws IOException {
        ByteBuffer byteBuffer= ByteBuffer.allocateDirect(10);
        log.info("{}",byteBuffer);
        log.info("{}",byteBuffer.hasArray());
        log.info("{}",byteBuffer.isDirect());

        try (RandomAccessFile aFile = new RandomAccessFile("src/main/resources/www.flydean.com", "r");
             FileChannel inChannel = aFile.getChannel()) {
            MappedByteBuffer buffer = inChannel.map(FileChannel.MapMode.READ_ONLY, 0, inChannel.size());
            log.info("{}",buffer);
            log.info("{}",buffer.hasArray());
            log.info("{}",buffer.isDirect());
        }
    }

除了allocateDirect,使用FileChannel的map方法也可以得到一個Direct的MappedByteBuffer。

上面的例子輸出結果:

INFO com.flydean.BufferUsage - java.nio.DirectByteBuffer[pos=0 lim=10 cap=10]
INFO com.flydean.BufferUsage - false
INFO com.flydean.BufferUsage - true
INFO com.flydean.BufferUsage - java.nio.DirectByteBufferR[pos=0 lim=0 cap=0]
INFO com.flydean.BufferUsage - false
INFO com.flydean.BufferUsage - true

Buffer的日常操作

小師妹:F師兄,看起來Buffer確實有那麼一點複雜,那麼Buffer都有哪些操作呢?

Buffer的操作有很多,下面我們一一來講解。

向Buffer寫數據

向Buffer寫數據可以調用Buffer的put方法:

public void putBuffer(){
        IntBuffer intBuffer= IntBuffer.allocate(10);
        intBuffer.put(1).put(2).put(3);
        log.info("{}",intBuffer.array());
        intBuffer.put(0,4);
        log.info("{}",intBuffer.array());
    }

因為put方法返回的還是一個IntBuffer類,所以Buffer的put方法可以像Stream那樣連寫。

同時,我們還可以指定put在什麼位置。上面的代碼輸出:

INFO com.flydean.BufferUsage - [1, 2, 3, 0, 0, 0, 0, 0, 0, 0]
INFO com.flydean.BufferUsage - [4, 2, 3, 0, 0, 0, 0, 0, 0, 0]

從Buffer讀數據

讀數據使用get方法,但是在get方法之前我們需要調用flip方法。

flip方法是做什麼用的呢?上面講到Buffer有個position和limit字段,position會隨着get或者put的方法自動指向後面一個元素,而limit表示的是該Buffer中有多少可用元素。

如果我們要讀取Buffer的值則會從positon開始到limit結束:

public void getBuffer(){
        IntBuffer intBuffer= IntBuffer.allocate(10);
        intBuffer.put(1).put(2).put(3);
        intBuffer.flip();
        while (intBuffer.hasRemaining()) {
            log.info("{}",intBuffer.get());
        }
        intBuffer.clear();
    }

可以通過hasRemaining來判斷是否還有下一個元素。通過調用clear來清除Buffer,以供下次使用。

rewind Buffer

rewind和flip很類似,不同之處在於rewind不會改變limit的值,只會將position重置為0。

public void rewindBuffer(){
        IntBuffer intBuffer= IntBuffer.allocate(10);
        intBuffer.put(1).put(2).put(3);
        log.info("{}",intBuffer);
        intBuffer.rewind();
        log.info("{}",intBuffer);
    }

上面的結果輸出:

INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=3 lim=10 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=0 lim=10 cap=10]

Compact Buffer

Buffer還有一個compact方法,顧名思義compact就是壓縮的意思,就是把Buffer從當前position到limit的值賦值到position為0的位置:

public void useCompact(){
        IntBuffer intBuffer= IntBuffer.allocate(10);
        intBuffer.put(1).put(2).put(3);
        intBuffer.flip();
        log.info("{}",intBuffer);
        intBuffer.get();
        intBuffer.compact();
        log.info("{}",intBuffer);
        log.info("{}",intBuffer.array());
    }

上面代碼輸出:

INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=0 lim=3 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=2 lim=10 cap=10]
INFO com.flydean.BufferUsage - [2, 3, 3, 0, 0, 0, 0, 0, 0, 0]

duplicate Buffer

最後我們講一下複製Buffer,有三種方法,duplicate,asReadOnlyBuffer,和slice。

duplicate就是拷貝原Buffer的position,limit和mark,它和原Buffer是共享原始數據的。所以修改了duplicate之後的Buffer也會同時修改原Buffer。

如果用asReadOnlyBuffer就不允許拷貝之後的Buffer進行修改。

slice也是readOnly的,不過它拷貝的是從原Buffer的position到limit-position之間的部分。

public void duplicateBuffer(){
        IntBuffer intBuffer= IntBuffer.allocate(10);
        intBuffer.put(1).put(2).put(3);
        log.info("{}",intBuffer);
        IntBuffer duplicateBuffer=intBuffer.duplicate();
        log.info("{}",duplicateBuffer);
        IntBuffer readOnlyBuffer=intBuffer.asReadOnlyBuffer();
        log.info("{}",readOnlyBuffer);
        IntBuffer sliceBuffer=intBuffer.slice();
        log.info("{}",sliceBuffer);
    }

輸出結果:

INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=3 lim=10 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=3 lim=10 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBufferR[pos=3 lim=10 cap=10]
INFO com.flydean.BufferUsage - java.nio.HeapIntBuffer[pos=0 lim=7 cap=7]

總結

今天給小師妹介紹了Buffer的原理和基本操作。

本文的例子https://github.com/ddean2009/learn-java-io-nio

本文作者:flydean程序那些事

本文鏈接:http://www.flydean.com/java-io-nio-buffer/

本文來源:flydean的博客

歡迎關注我的公眾號:程序那些事,更多精彩等着您!

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※回頭車貨運收費標準

網頁設計最專業,超強功能平台可客製化

※別再煩惱如何寫文案,掌握八大原則!

Spark Streaming,Flink,Storm,Kafka Streams,Samza:如何選擇流處理框架

根據最新的統計显示,僅在過去的兩年中,當今世界上90%的數據都是在新產生的,每天創建2.5萬億字節的數據,並且隨着新設備,傳感器和技術的出現,數據增長速度可能會進一步加快。
從技術上講,這意味着我們的大數據處理將變得更加複雜且更具挑戰性。而且,許多用例(例如,移動應用廣告,欺詐檢測,出租車預訂,病人監護等)都需要在數據到達時進行實時數據處理,以便做出快速可行的決策。這就是為什麼分佈式流處理在大數據世界中變得非常流行的原因。

如今,有許多可用的開源流框架。有趣的是,幾乎所有它們都是相當新的,僅在最近幾年才開發出來。因此,對於新手來說,很容易混淆流框架之間的理解和區分。在本文中,我將首先大致討論流處理的類型和方面,然後比較最受歡迎的開源流框架:Flink,SparkStreaming,Storm,KafkaStream。我將嘗試(簡要地)解釋它們的工作原理,它們的用例,優勢,局限性,異同。

什麼是流/流處理:

流處理的最優雅的定義是:一種數據處理引擎,其設計時考慮了無限的數據集。

與批處理不同,批處理以工作中的開始和結束為界,而工作是在處理有限數據之後完成的,而流處理則是指連續不斷地處理天,月,年和永久到來的無邊界數據。因此,流媒體應用程序始終需要啟動和運行,因此難以實現且難以維護。

流處理的重要方面:

為了理解任何Streaming框架的優點和局限性,我們應該了解與Stream處理相關的一些重要特徵和術語:

  • 交付保證
    這意味着無論如何,流引擎中的特定傳入記錄都將得到處理的保證。可以是at least once(至少一次)(即使發生故障也至少處理一次),at most once : 至多一次(如果發生故障則可能不處理)或Exactly-once(即使失敗在這種情況下也只能處理一次))。顯然,只處理一次是最好的,但是很難在分佈式系統中實現,並且需要權衡性能。
  • 容錯:
    如果發生諸如節點故障,網絡故障等故障,框架應該能夠恢復,並且應該從其離開的位置開始重新處理。這是通過不時檢查流向某些持久性存儲的狀態來實現的。例如,從Kafka獲取記錄並對其進行處理后,將Kafka檢查點偏移給Zookeeper。
  • 狀態管理:在有狀態處理需求的情況下,我們需要保持某種狀態(例如,記錄中每個不重複單詞的計數),框架應該能夠提供某種機制來保存和更新狀態信息。
  • 性能
    這包括延遲(可以多久處理一條記錄),吞吐量(每秒處理的記錄數)和可伸縮性。延遲應盡可能小,而吞吐量應盡可能大。很難同時獲得兩者。
  • 高級功能:事件時間處理,水印,窗口化
    如果流處理要求很複雜這些是必需的功能。例如,根據在源中生成記錄的時間來處理記錄(事件時間處理)。
  • 成熟度:從採用的角度來看很重要,如果框架已經過大公司的驗證和大規模測試,那就太好了。更有可能獲得良好的社區支持並在堆棧溢出方面提供幫助。

流處理的兩種類型:

現在了解了我們剛剛討論的術語,現在很容易理解,有兩種方法可以實現Streaming框架:

原生流處理
這意味着每條到達的記錄都會在到達后立即處理,而無需等待其他記錄。有一些連續運行的過程(根據框架,我們稱之為操作員/任務/螺栓),這些過程將永遠運行,每條記錄都將通過這些過程進行處理。示例:Storm,Flink,Kafka Streams,Samza。

微批處理
也稱為快速批處理。這意味着每隔幾秒鐘就會將傳入的記錄分批處理,然後以單個小批處理的方式處理,延遲幾秒鐘。例如:Spark Streaming, Storm-Trident。

兩種方法都有其優點和缺點。
原生流傳輸感覺很自然,因為每條記錄都會在到達記錄后立即進行處理,從而使框架能夠實現最小的延遲。但這也意味着在不影響吞吐量的情況下很難實現容錯,因為對於每條記錄,我們都需要在處理後跟蹤和檢查點。而且,狀態管理很容易,因為有長時間運行的進程可以輕鬆維護所需的狀態。

另一方面,微批處理則完全相反。容錯是免費提供的,因為它本質上是一個批處理,吞吐量也很高,因為處理和檢查點將在一組記錄中一次性完成。但這會花費一定的等待時間,並且感覺不自然。高效的狀態管理也將是維持的挑戰。

流框架對比:

Storm :

Storm是流處理世界的強者。它是最古老的開源流框架,也是最成熟和可靠的框架之一。這是真正的流傳輸,適合基於簡單事件的用例。

優點

  • 極低的延遲,真正的流,成熟和高吞吐量
  • 非常適合簡單的流媒體用例

缺點

  • 沒有狀態管理
  • 沒有高級功能,例如事件時間處理,聚合,開窗,會話,水印等
  • 一次保證

Spark Streaming :

Spark已成為批處理中hadoop的真正繼任者,並且是第一個完全支持Lambda架構的框架(在該框架中,實現了批處理和流傳輸;實現了正確性的批處理;實現了流傳輸的速度)。它非常受歡迎,成熟並被廣泛採用。Spark Streaming是隨Spark免費提供的,它使用微批處理進行流媒體處理。在2.0版本之前,Spark Streaming有一些嚴重的性能限制,但是在新版本2.0+中,它被稱為結構化流,並具有許多良好的功能,例如自定義內存管理(類似flink),水印,事件時間處理支持等。另外,結構化流媒體更加抽象,在2.3.0版本以後,可以選擇在微批量和連續流媒體模式之間進行切換。連續流模式有望帶來像Storm和Flink這樣的子延遲,但是它仍處於起步階段,操作上有很多限制。

優點

  • 支持Lambda架構,Spark免費提供
  • 高吞吐量,適用於不需要亞延遲的許多使用情況
  • 由於微批量性質,默認情況下具有容錯能力
  • 簡單易用的高級API
  • 龐大的社區和积極的改進
  • 恰好一次

缺點

  • 不是真正的流,不適合低延遲要求

  • 要調整的參數太多。很難做到正確。

  • 天生無國籍

  • 在許多高級功能方面落後於Flink

Flink :

Flink也來自類似Spark這樣的學術背景。Spark來自加州大學伯克利分校,而Flink來自柏林工業大學。像Spark一樣,它也支持Lambda架構。但是實現與Spark完全相反。雖然Spark本質上是一個批處理,其中Spark流是微批處理,並且是Spark Batch的特例,但Flink本質上是一個真正的流引擎,將批處理視為帶邊界數據流的特例。儘管這兩個框架中的API都是相似的,但是它們在實現上沒有任何相似性。在Flink中,諸如map,filter,reduce等的每個函數都實現為長時間運行的運算符(類似於Storm中的Bolt)

Flink看起來像是Storm的真正繼承者,就像Spark批量繼承了hadoop一樣。

優點

  • 開源流媒體領域創新的領導者
  • 具有所有高級功能(例如事件時間處理,水印等)的第一個True流框架
  • 低延遲,高吞吐量,可根據要求進行配置
  • 自動調整,無需調整太多參數
  • 恰好一次
  • 被Uber,阿里巴巴等大型公司廣泛接受。

缺點

  • 起步較晚,最初缺乏採用

  • 社區不如Spark大,但現在正在快速發展

Kafka Streams :

與其他流框架不同,Kafka Streams是一個輕量級的庫。對於從Kafka流式傳輸數據,進行轉換然後發送回kafka很有用。我們可以將其理解為類似於Java Executor服務線程池的庫,但具有對Kafka的內置支持。它可以與任何應用程序很好地集成,並且可以立即使用。

由於其重量輕的特性,可用於微服務類型的體繫結構。Flink在性能方面沒有匹配之處,而且不需要運行單獨的集群,非常方便並且易於部署和開始工作。

Kafka Streams的一個主要優點是它的處理是完全精確的端到端。可能是因為來源和目的地均為Kafka以及從2017年6月左右發布的Kafka 0.11版本開始,僅支持一次。要啟用此功能,我們只需要啟用一個標誌即可使用。

優點

  • 重量很輕的庫,適合微服務,IOT應用
  • 不需要專用集群
  • 繼承卡夫卡的所有優良特性
  • 支持流連接,內部使用rocksDb維護狀態。
  • 恰好一次(從Kafka 0.11開始)。

缺點

  • 與卡夫卡緊密結合,在沒有卡夫卡的情況下無法使用
  • 嬰兒期還很新,尚待大公司測試
  • 不適用於繁重的工作,例如Spark Streaming,Flink。

Samza :

簡短介紹一下Samza。(Samza)看上去就像是(Kafka Streams)。有很多相似之處。這兩個框架都是由同一位開發人員開發的,這些開發人員在LinkedIn上實現了Samza,然後在他們創建Kafka Streams的地方成立了Confluent。這兩種技術都與Kafka緊密結合,從Kafka獲取原始數據,然後將處理后的數據放回Kafka。使用相同的Kafka Log哲學。Samza是Kafka Streams的縮放版本。Kafka Streams是一個用於微服務的庫,而Samza是在Yarn上運行的完整框架集群處理。
優點 :

  • 使用rocksDb和kafka日誌可以很好地維護大量信息狀態(適合於連接流的用例)。
  • 使用Kafka屬性的容錯和高性能
  • 如果已在處理管道中使用Yarn和Kafka,則要考慮的選項之一。
  • 低延遲,高吞吐量,成熟並經過大規模測試

缺點:

  • 與Kafka和Yarn緊密結合。如果這些都不在您的處理管道中,則不容易使用。
  • 至少一次加工保證。我不確定它是否像Kafka 0.11之後的Kafka Streams現在完全支持一次
  • 缺少高級流功能,例如水印,會話,觸發器等

流框架比較:

我們只能將技術與類似產品進行比較。儘管Storm,Kafka Streams和Samza現在對於更簡單的用例很有用,但具有最新功能的重量級產品之間的真正競爭顯而易見:Spark vs Flink

當我們談論比較時,我們通常會問:給我看数字

基準測試是僅當第三方進行比較時比較的好方法。

例如,但這是在Spark Streaming 2.0之前的某個時期,當時它受RDD的限制。
現在,隨着Structured Streaming 2.0版本的發布,Spark Streaming試圖趕上很多潮流,而且似乎還會面臨艱巨的挑戰。

最近,基準測試已成為Spark和Flink之間的一場激烈爭吵。

最好不要相信這些天的基準測試,因為即使很小的調整也可以完全改變数字。沒有什麼比決定之前嘗試和測試自己更好。
到目前為止,很明顯,Flink在流分析領域處於領先地位,它具有大多數所需的方面,例如精確一次,吞吐量,延遲,狀態管理,容錯,高級功能等。

Flink的一個重要問題是成熟度和採用水平,直到一段時間之前,但是現在像Uber,Alibaba,CapitalOne這樣的公司正在大規模使用Flink流傳輸,證明了Flink Streaming的潛力。

最近,Uber開源了其最新的流分析框架AthenaX,該框架基於Flink引擎構建。

如果您已經注意到,需要注意的重要一點是,所有支持狀態管理的原生流框架(例如Flink,Kafka Streams,Samza)在內部都使用RocksDb。RocksDb從某種意義上說是獨一無二的,它在每個節點上本地保持持久狀態,並且性能很高。它已成為新流系統的關鍵部分。

如何選擇最佳的流媒體框架:

這是最重要的部分。誠實的答案是:這取決於 :

必須牢記,對於每個用例,沒有一個單一的處理框架可以成為萬靈丹。每個框架都有其優點和局限性。儘管如此,根據一些經驗,他們仍然會分享一些有助於做出決定的建議:

  1. 取決於用例:
    如果用例很簡單,那麼如果學習和實現起來很複雜,則無需尋求最新,最好的框架。在很大程度上取決於我們願意投資多少來換取我們想要的回報。例如,如果它是基於事件的簡單IOT事件警報系統,那麼Storm或Kafka Streams非常適合使用。
  2. 未來考慮因素:
    同時,我們還需要對未來可能的用例進行自覺考慮。將來可能會出現對諸如事件時間處理,聚合,流加入等高級功能的需求嗎?如果答案是肯定的,則最好繼續使用高級流框架(例如Spark Streaming或Flink)。一旦對一項技術進行了投資和實施,其變更的困難和巨大成本將在以後改變。例如,在之前的公司中,從過去的兩年開始,Storm管道就已經啟動並運行,並且在要求統一輸入事件並僅報告唯一事件之前,它一直運行良好。現在,這需要狀態管理,而Storm本身並不支持這種狀態管理。雖然我使用基於時間的內存哈希表實現,但是在重啟時狀態會消失是有限制的。
  3. 我要提出的觀點是,如果我們嘗試自行實現框架未明確提供的某些內容,則勢必會遇到未知問題。
  4. 現有技術堆棧:
    另一重要點是考慮現有技術堆棧。如果現有堆棧的首尾相連是Kafka,則Kafka Streams或Samza可能更容易安裝。同樣,如果處理管道基於Lambda架構,並且Spark Ba​​tch或Flink Batch已經到位,則考慮使用Spark Streaming或Flink Streaming是有意義的。例如,在我以前的項目中,我已經在管道中添加了Spark Ba​​tch,因此,當流需求到來時,選擇需要幾乎相同的技能和代碼庫的Spark Streaming非常容易。

簡而言之,如果我們很好地了解框架的優點和局限性以及用例,那麼選擇或至少過濾掉可用的選項就更加容易。最後,一旦選擇了幾個選項。畢竟每個人都有不同的選擇。

Streaming的發展速度如此之快,以至於在信息方面,此帖子可能在幾年後已經過時。目前,Spark和Flink在開發方面是領先的重量級人物,但仍有一些新手可以加入比賽。Apache Apex是其中之一。還有一些我沒有介紹的專有流解決方案,例如Google Dataflow。我的這篇文章的目的是幫助剛接觸流技術的人以最少的術語理解流技術的一些核心概念,以及流行的開源流框架的優點,局限性和用例。希望該文章對您有所幫助。

更多實時數據分析相關博文與科技資訊,歡迎關注 “實時流式計算”

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

南投搬家公司費用需注意的眉眉角角,別等搬了再說!

※教你寫出一流的銷售文案?

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

Jmeter(八) – 從入門到精通 – JMeter配置元件(詳解教程)

1.簡介

JMeter配置元件可以用來初始化默認值和變量,讀取文件數據,設置公共請求參數,賦予變量值等,以便後續採樣器使用。將在其作用域的初始化階段處理。配置元件(Config Element)提供對靜態數據配置的支持,可以為取樣器設置默認值和變量。

首先我們來看一下JMeter的配置元件,路徑:添加-配置元件;我們可以清楚地看到JMeter5中共有19個配置元件,如下圖所示:

如果上圖您看得不是很清楚的話,宏哥總結了一個思維導圖,關於JMeter5的配置元件類型,如下圖所示:

 通過以上的了解,我們對配置元件有了一個大致的了解和認識。下面宏哥就給小夥伴或則童鞋們分享講解一些通常在工作中會用到的配置元件。

 2.常用配置元件詳解

  這一小節,宏哥就由上而下地詳細地講解一下常用的配置元件。

2.1CSV Data Set Config

1、我們先來看看這個CSV Data Set Config長得是啥樣子,如下圖所示:

 2、參數詳解及說明,如下錶所示:

參 數 描 述 是否必填
Name 腳本中显示的這個元件的描述性名稱
Filename 待讀取文件的名稱。可以寫入絕對路徑,也可以寫入相對路徑(相對於bin目錄),如果直接寫文件名,則該文件要放在bin目錄中。對於分佈式測試,主機和遠程機中相應目錄下應該有相同的CSV文件
File Encoding 文件讀取時的編碼格式,不填則使用操作系統的編碼格式
Ignore first line 是否忽略首行,如果csv文件中沒有表頭,則選擇false
Variable Names 變量名列表,多個變量名之間必須用分隔符分隔。如果該項為空,則文件首行會被讀取並解析為列名列表
Delimiter 參數分隔符,將一行數據分隔成多個變量,默認為逗號,也可以使用“\t”。如果一行數據分隔后的值比Vairable Names中定義的變量少,這些變量將保留以前的值(如果有值的話)
Allow quoted data? 是否允許變量使用雙引號,允許的話,變量將可以括在雙引號內,並且這些變量名可以包含分隔符
Recycle on EOF? 是否循環讀取csv文件內容,達到文件結尾后,是否從文件開始循環重新讀取;默認為 true
Stop thread on EOF? 是否循環讀取csv文件內容,達到文件結尾后,線程是否該終止;默認為 true
Recycle on EOF? 當Recycle on EOF為False時,停止線程,當Recycle on EOF為True時,此項無意義,默認為 false
Sharing mode 1、All threads(默認):一個線程組內,各個線程(用戶)唯一順序取值;2、current thread:一個線程組內,各個線程(用戶)各自順序取值;3、線程組各自獨立,但每個線程組內各個線程(用戶)唯一順序取值;

 3、Recycle on EOF 和Stop thread on EOF的關係:

當Recycle on EOF 選擇true時,Stop thread on EOF選擇true和false無任何意義,因為既然前面已經設置了文件是不停的循環讀取,後面的控制stop就相當於失效;
當Recycle on EOF 選擇false時,Stop thread on EOF選擇true,則當線程數超過文件里的參數的個數時,實際請求數為參數的個數;
當Recycle on EOF 選擇false時,Stop thread on EOF選擇flase,當線程數超過文件里參數的個數時,實際請求次數為線程數,但當線程數超過參數次數時,由於沒有參數,所以結果仍然是失敗的。
4、Sharing mode:如果希望每個線程擁有自己獨立的值集合,那麼就需要創建一系列數據文件,為每個線程準備一個數據文件,如test1.csv、test2.csv等,使用文件名test${__threadNum}.csv,並將“sharing mode”設置為”Current thread”

All threads:文件在所有線程間共享。

Identifier:所有線程共享相同的標識,共享相同的文件。如有4個線程組,測試人員可以使用一個通用ID,以便在兩個或多個線程組之間共享文件。

Current thread:每個文件會針對每個線程單獨打開。

Current thread group:每個文件會針對每個線程組打開一次。

2.2HTTP Header Manager

支持用戶添加或者重寫HTTP請求頭。JMeter支持多個信息頭管理器。多個信息頭條目合併成一個信息頭列表,跟隨http請求一併提交到服務端。

注意:敲黑板,敲腦殼!!!

(1)當有多個信息頭管理器,且不同的管理器內有名稱相同的信息頭條目存在時,順序靠前的管理器的信息頭條目會覆蓋後面的;

(2)當只有一個信息頭管理器,但管理器內有名稱相同的信息頭條目時,會同時生效;

 1、我們先來看看這個HTTP Header Manager長得是啥樣子,如下圖所示:

 2、參數詳解及說明,如下錶所示:

參數 描述 是否必填
Name 請求頭的名稱,比如Content-Type
Value 請求頭的值,比如application/json

3、常用請求頭,這些一般可以抓包和在瀏覽器中查到,如下錶所示:

2.3HTTP Cookie Manager

主要有兩個功能:

一個功能是:像web瀏覽器一樣存儲和發送Cookie。如果有一個HTTP請求和相應里包含Cookie,Cookie管理器會自動存儲Cookie,那麼接下來針對特定web站點的所有請求中使用該Cookie。可在結果樹中查看。

接收到的Cookie可以被保存為變量,須定義屬性”CookieManager.save.cookie=true”。另外,在被存儲前Cookie名稱會加上前綴“COOKIE_”,要恢復早前處理方式,則定義屬性”CookieManager.name.prefix=”(一個或多個空格)。

如果啟動了該功能,那麼名稱為TEST的Cookie,可以通過${COOKIE_TEST}加以引用。手動為Cookie管理器添加一個Cookie(為所有JMeter線程所共享)。

1、我們先來看看這個HTTP Cookie Manager長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示:

參數 描述 是否必填
Name 樹中显示此元件描述的名稱
Comments 註釋
Clear cookie each Iteration  每次線程組運行前,都會清楚cookie,但是如果是手動添加的cookie,不會被清除
Cookie Policy 選擇Cookie的管理策略,建議選擇兼容性,兼容性強
User Define cookie 用戶自定義cookie

 

2.4HTTP Cache Manager

  被用來為其作用域內的HTTP請求提供緩存功能,如果“Use Cache-Control/Expires header When …”選中,那麼會根據當前時間來選擇,如果請求是”GET”,而時間指向未來,那麼採樣器就會立即返回,而無須從遠程服務器請求URL,這樣是為了模擬瀏覽器的操作,請注意Cache-Control頭必須是“pulic”的,並且只有”max-age”終結選項會被處理,如果請求文檔自從其被緩存以來沒有發生任何改變,那麼響應包體就會為空。

1、我們先來看看這個HTTP Cache Manager長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示:

參數 描述 是否必填
Name 樹中显示此元件的描述性名稱 
Comments 註釋
Clear Cache each iteration 如果選擇此選項,則在線程開始時清除緩存。
Use Cache 如果選擇此選項,則在線程開始時使用緩存。
Max Number 如果選擇此選項,則在線程開始時最大緩存。

 

2.5HTTP Request Defaults

在實際測試計劃中,我們經常會碰到Http Sampler請求有較多的參數與配置會重複,每一個Http Sampler都單獨設置的話比較浪費時間和精力,為了節省工作量,JMeter提供了HTTP Request Defaults元件,用來把這些重複的部分封裝起來,一次設置多次使用。可以設定一些缺省值,假設有10個請求,訪問域名和端口都是一樣的,那HTTP請求中就不再需要單獨配置了,比較方便(增加腳本的移植性)。

這個元件可以設置HTTP請求控制器使用的默認值。例如,圖中【服務器名稱或IP】項目內填入了【example.com】,後面的HTTP請求如果IP也是example.com的話,那麼只要將【服務器名稱或IP】留空,那麼這個字段將自動繼承HTTP請求默認值中的值。其他諸如【協議】、【端口號】、【路徑】等同此。

1、我們先來看看這個HTTP Request Defaults長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示:

參數 描述 是否必填
Name 用作標識一個取樣器,建議使用一個見名知義的名稱
Comments 註釋
Protocol 協議,向目標服務器發送HTTP請求時的協議,可以是http或者是Https  
IP HTTP請求發送的目標服務器名稱或者IP地址  
Port Number 目標服務器端口  
Path 目標URL路徑(不包括服務器地址和端口)  
Content encdoing 內容的編碼方式  
Parameter 參數  
body data 參數  

 

2.6Counter

計數器,顧名思義就是在測試執行過程中會記錄迭代次數。可以在線程組任何位置創建,允許用戶配置起點、最大值和增量。配置后,計數器將從起點循環到最大值,然後重新開始,直到線程結束。允許用戶創建一個計數器,可在線程組中任何地方被引用。

1、我們先來看看這個Counter長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示:

參數 描述 是否必填
Name 控制器名稱,可以隨意設置
Comments 註釋,可以隨意設置
Starting value 啟動,記錄數量起始值  
Increment 遞增,記錄迭代次數步長,1后是2,步長就是1  
Maximum value 記錄的最大值  
Number format 計算器格式,可以是数字,例如000000(6位長度,000,000(6位長度,3位間隔開);字符加数字,例如CUST_000000(字符加6位数字 )  
Exported Variable Name 引用變量名稱,記數器記錄的值可以存入的此引用名(變量),可供其他元件調用  
Track counter independently for each user 與每位用戶獨立的跟蹤計數器,每個線程都有自己的計數器,相互不干擾  
Reset counter on each Thread Group Iteration 每次迭代復原計數器  

 

2.7DNS Cache Manager

1、我們先來看看這個DNS Cache Manager長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示:

參數 描述 是否必填
Name 樹中显示此元件的描述性名稱  
Comments 註釋  
Clear cache each iter 清除每個迭代的緩存,如果選擇此選項,則每次啟動新迭代時,都會清除每個線程的DNS緩存。  
Use System DNS resolver 使用系統DNS解析器;將使用系統DNS解析器。為了正確工作,請編輯 $ JAVA_HOME / jre / lib / security / java.security並添加networkaddress.cache.ttl = 0  
Use custom DNS resolver 使用自定義DNS解析器;將使用自定義DNS解析器(來自dnsjava庫)。  

 

2.8FTP Request Defaults

被用於設置FTP請求的默認值

1、我們先來看看這個FTP Request Defaults長得是啥樣子,如下圖所示:

2.9HTTP Authorization Manager

HTTP認證是一種安全機制,在客戶端、瀏覽器或者程序向服務器發起請求時,需要提供用戶名和密碼且驗證通過(拿到憑證)才能繼續發起交互。

1、我們先來看看這個HTTP Authorization Manager長得是啥樣子,如下圖所示: 

2.10JDBC Connection Configuration

1、我們先來看看這個JDBC Connection COnfiguration長得是啥樣子,如下圖所示: 

 2、關於JDBC Connection COnfiguration參數詳細說明,可以參考宏哥的另一篇文章是非常詳細的:傳送門。

2.11Java Request Defaults

1、我們先來看看這個Java Request Defaults長得是啥樣子,如下圖所示: 

2.12Keystore Configuration

1、我們先來看看這個Keystore Configuration長得是啥樣子,如下圖所示: 

2、參數詳細說明,如下錶所示:

參數 描述 是否必填
Name 樹中显示此元件的描述性名稱。可以默認
Comments 註釋
Preload 預載,是否預加載秘鑰庫,設置為true通常是最佳選擇
Variable name holding certificate alias 變量名稱,將包含用於客戶端證書身份驗證的別名。例如,將從CSV數據集中填充變量值。在屏幕截圖中,“ certificat_ssl”也將是CSV數據集中的變量。
Alias Start index 從0開始在Keystore中使用的第一個鍵的索引。
Alias End index 基於0的密鑰庫中要使用的最後一個密鑰的索引。使用“變量名稱持有證書別名”時,請確保其足夠大,以便在啟動時加載所有密鑰。

 2.13LDAP Extended Request Defaults

1、我們先來看看這個LDAP Extended Request Defaults長得是啥樣子,如下圖所示: 

2.14LDAP Request Defaults

1、我們先來看看這個LDAP Request Defaults長得是啥樣子,如下圖所示: 

2.15Login Config Element

1、我們先來看看這個Login Config Element長得是啥樣子,如下圖所示: 

2.16Random Variable

1、我們先來看看這個Random Variable長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示:  

參數 描述 是否必填
Name 樹中显示的此元件的描述性名稱。  
Comments 註釋  
Variable Name 變量名,存儲隨機字符串的變量的名稱。  
Output Format 格式化字符串,要使用的java.text.DecimalFormat格式字符串。例如,“ 000”將生成至少3位数字,或者“ USER_000”將生成USER_nnn形式的輸出。如果未指定,則默認為使用Long.toString()生成数字。  
Minimum Value 最小值;生成的隨機數的最小值(長整數)。  
Maximum Value 最大值;生成的隨機數的最大值(長整數)。  
Seed for Random function 隨機種子,隨機數生成器的種子。默認值為當前時間,以毫秒為單位。如果在“將每個線程”設置為true的情況下使用相同的種子值,則與“ 隨機” 一樣,您將為earch線程獲得相同的值  
Per Thread(User)? 每個線程,如果為False,則在線程組中的所有線程之間共享生成器。如果為True,則每個線程都有自己的隨機生成器。  

2.17Simple Config Element

1、我們先來看看這個Simple Config Element長得是啥樣子,如下圖所示: 

2、參數詳細說明,如下錶所示:  

參數 描述 是否必填
Name 樹中显示此元件的描述名稱
Comments 註釋
Name 參數名稱  
Value 參數值  

2.18TCP Sampler Config

TCP採樣器配置為TCP採樣器提供默認數據

1、我們先來看看這個TCP Sampler Config長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示: 

參數 描述 是否必填
Name 樹中显示此元件的描述性名稱  
Comments 註釋  
TCPClient classname TCPClient類的名稱,默認屬性tcp.handler,使TCPClientImpl失敗  
Sever Name or IP TCP服務器的名稱或者IP  
Port Number 使用的端口  
Re-use connection 重用連接,如果選擇,則連接保持打開狀態,否則,在讀取數據后將其關閉  
Close connection 關閉連接,如果選擇此項,則在運行採樣器后將連接關閉  
Set NoDelay 設置節點布局,應該設置nodelay  
SO_LINGER 創建套接字時,以指定的延遲時間(以秒為單位)啟用/禁用SO_LINGER。如果將“SO_LINGER”值設置為0,則則可以防止大量套接字處於TIME_WAT 的狀態  
End of line byte value 判斷行結束的byte值,如果你指定的值大於127或者小於-128,則會跳過EOL檢測。比如服務器端返回的字符串都是以回車符結尾,那麼我們可以將該選項設置成10。  
Text to send 文字發送,要發送的文字  
Connect 連接超時(毫秒。0禁用)  
Response 響應超時(毫秒。0禁用)  

2.19User Defined Variables

如果您有多個線程組,請確保對不同的值使用不同的名稱,因為UDV在線程組之間共享。同樣,這些變量在處理完元素之後才可用,因此您不能引用在同一元素中定義的變量。您可以引用在早期UDV或測試計劃中定義的變量。

1、我們先來看看這個User Defined Variable長得是啥樣子,如下圖所示:

2、參數詳細說明,如下錶所示: 

參數 描述 是否必填
Name 樹中显示此元件描述的名稱  
Comments 註釋  
User Define Variables 用戶定義的變量。變量名稱/值對。您需要在$ {…}結構的方括號內放置“名稱”(Name)列下的字符串,以便以後使用變量。然後,整個$ {…}將由“值”列中的字符串替換  

3.小結

 好了,今天關於JMeter的配置元件就分享到這裏,其中有些常用的要熟練掌握。

 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得隨手點波  推薦  不要忘記哦!!!

別忘了點 推薦 留下您來過的痕迹

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※回頭車貨運收費標準

工作5年,一位來自廣西測試妹子學習《自動化測試》經驗分享

本文來自一位妹子的投稿

大家好,我是黎婷,一位來自廣西南寧的測試妹子,工作5年,藉著原作者平台,今天給大家分享一下近期在學習《自動化測試實戰寶典》一書過程中的一些感想、學習心得,希望對大家有所幫助。

1. 來自大多數測試人員的困惑

在當前整個軟件行業的高速發展中,作為測試人員如何在這個急速浪潮中站穩腳跟,想必大多數人都知道需要學習更多的知識與技能,鞏固並加強自身能力,才能保證自己不被淘汰。

然而目前相當多行業內的測試人員基本都會面臨這種困惑:大體的方向是確定了,但是具體學什麼,怎麼學,落實到地的方案卻比較少有人能想明白。

2. 自己的經歷

想到自己當初在第一家公司離職選擇跳槽的時候,也是帶着這樣的迷茫進入了一家境外電商公司,初入這家公司時,正值質量管理部門大力推廣要求各種自動化測試工具使用的風潮中,基於對KPI的追求,於是開始着手查找當下各種流行的框架工具,為了KPI為了所謂的數據好看使用工具而學習測試工具,前期也是投入較多的時間,成果也是有的,但是很快也就放棄了使用:時間投入高,產出低,還不如手工測試

然而隨着公司業務的快速發展,產品迭代頻繁,重複性的回歸工作慢慢的佔據很大一部分工作時間,加班處理工作已經成了常態,鑒於這種處境,又開始重拾了測試框架與工具,這回的目的很明確:在能保障產品質量的同時也要提高自己的工作效率,這些觀點在最近學習的書上提到關於自動化測試的意義點也是不謀而合的。

因此在這種狀況下開始主動學習工具和框架時,也多了份思考:如何利用這個框架的特點和優勢契合到實際工作的使用,能夠剛好解決工作中的痛點。帶着這個目的去學習工具使用工具,搞起的自動化,成效也是有很明顯的提升,從測試環境的回歸測試效率提升,以及後續線上核心功能的持續監控落地,都給自己實際工作帶來很大的推動促進作用,自己也有更多時間投入到更有價值的專項測試中,而不是疲於日常的重複性工作不得發展。

繼續帶着這份思考,本人最近花了一兩個星期大體研讀了《自動化測試實戰寶典 Robot Framework+Python》一書,基本成功快速地掌握了用Robot Framework工具進行接口自動化測試。

在這次學習的過程中,不僅僅能掌握到技術方面的知識,同時發覺它不只是一本工具書,更是一本有着完整且與時俱進的測試理論體系知識的書籍,書中成熟的思想理論加循序漸進的實戰講解,讓我從一個之前只聞RF名不識其真實面目的RF小白,到現在只通過一兩周時間就能快速掌握RF進行自動化測試。當然,在這麼短的時間內,很難一下子消化完這麼豐富的知識點,在接下來的測試工作學習中,希望能在本書的指引下,更深入學習RF框架來推動自己的工作更高效、高質量的交付。

3. 學習后的幾點心得

接下來想分享自己在學習該書籍過程中的幾點心得:

心得之一:筆者在接口測試項目實戰章節中講到的一個點:

做好接口測試除了在‘術’上融合工程化的最佳實踐,武裝方式方法,在‘道’上更需要有一個正確的認知和決心。正確的認知和決心更加強調的是團隊成員之間的目標是否一致,大家是不是真心認同這件事,而不是被迫地或者礙於領導下達的任務指標才去做。所有流於形式或者並非發自內心而被迫做的事情,最後收效往往都是甚微的,即便給你的是一把‘屠龍刀’,也發揮不出應有的作用。只有大家有意識地從心出發,主動尋求改變、追求質量和高效率、精益求精,再結合合適的工程實踐,才能做到‘道’和‘術’的雙重兼顧。”

對於筆者提到的這個點,跟讀者我的實際工作遇到的情況也是非常契合的

在自己之前的公司中,也多多少少接觸到各種測試工具和框架,在工作之初去學習這類工具框架的時候,與其說初始的目的是為以後長遠的職業發展學習一項或多項技能鞏固能力,更不如說是基於領導的各種任務要求而“心不甘情不願”的去學習,在抱着這種想法去學習的技能,不僅不深入而且成果甚微,更是浪費了很多時間,最後甚至磨滅了繼續學習下去的念頭。

直到工作生涯中後期,才開始有意識自發的通過學習一些工具和技術,來真正地解決實際工作中的問題,在這個過程中領悟到學習的技術知識確切能給自己的工作帶來“收大於支”的成果時,不僅工作能力得到提升,內心也認可了技術帶來的改變,讓“屠龍寶刀”發揮其最大化作用,也真正契合了筆者提到的“道”和術的雙重兼顧

當內心開始認可了這項東西時,會發現學習技術的路上原來如此有趣而引人入勝。利用自己所學,發揮其最大用處,會將自己的學習帶入一個良性的循環中,讓自己不只是在日常工作中得到效益,長遠來講,何嘗不是對將來的職業生涯鋪墊穩固的基石呢。

心得之二:談談學習過程中解決問題發思路。

在學習接口測試實戰項目時,在一些基礎環境配置、導入三方庫、接口認證鑒權等方面都遇到了阻礙。在解決這些問題的過程中,分享下我對於學習過程中遇到問題解決問題的一個思路。

  1. 首先自己在學習一些新技術時,心態都會放得比較平,因為面對新東西新技術,會遇到問題是在所難免的,一帆風順的狀況基本不存在,所以一定要擁有一份积極的心態,而不是遇到問題就開始心煩氣躁,不僅不利於解決問題,還很容易喪失繼續學習下去的信心。
  2. 其次就是解決問題的方法了,這次學習的RF框架,提供了詳細且比較全面的日誌信息,要學會通過具體報錯信息定位問題產生的原因。通過確定問題關鍵字在網絡上各大技術論壇社區平台進行搜索查找,對搜索到的結果也需要學會進行篩選總結,總結出搜索出來的解決方法的規律去解決問題,多次嘗試,不怕試錯,問題在這個階段80%都能得到解決。而不太建議一遇到問題就去找他人協助解決,首先溝通是有成本的,其次也會佔用他人寶貴的時間。
  3. 如果嘗試多次自己解決還是無果,接下來才是找能幫助自己解決問題可能性比較大的小夥伴,因為漫無目的的請教也是浪費雙方時間的行為。有其他小夥伴的協助,也很難有不能解決的問題了。最後解決問題之後的記錄總結也是很重要,作為學習的沉澱,可以在下次遇到同樣問題能快速解決,也可以給後續遇到同樣問題的小夥伴提供幫助。

總的來說,在這次學習RF接口測試中,自己所在部門的小夥伴都很熱心給予了很大的支持幫助,自己也才能在這麼短的時間掌握該項技能。大家能在百忙之中抽出時間給予協助是非常可貴的,作為請教者,在今後的學習中,也要提供給他人力所能及的協助。畢竟,學習是相互的,大家彙集起來的知識泉源才能壯大,也能更好推動大家一起發展。

4. 談一談RF框架可以優化的幾個點

從RF框架本身來談,它的優勢是絕對佔主導的,接下來談一談在使用RF框架中個人覺得還可以優化的幾點:

  1. RIDE編輯器性能有待提高,在加載現有的測試部的接口腳本,左側目錄樹經常出現卡頓,會一定程度影響腳本編寫效率。解決辦法之一可以嘗試用其他編輯器如pycharm等替代。

  2. 希望可以支持通過抓包工具抓取到接口數據進行轉化,自動生成符合腳本編寫格式的關鍵字,可以進一步提高編寫腳本的效率。如httprunner的har2case命令可以很方便的將har文件轉換成對應框架支持的腳本書寫規範。當然對於這塊優化點,也是有解決辦法的:可以通過自己寫工具去轉換抓到的har文件,而目前自己所在團隊也已經有大佬實現拓展了該工具

  3. robot framework 的編輯器RIDE目前對Python3 的兼容性還不是特別好,主要是擴展庫的語法有比較多不兼容。當然RF框架本身一直是支持Python3的,若習慣使用如pycharm這些編輯器來編寫腳本,這塊不足也不存在了。但如果是習慣使用RIDE編輯器的話,對於當前主流使用的Python3維護兼容性成本還是比較高。

總得來說,本次的學習實戰時間還是比較短暫,而本書提供的技術及知識理論是非常豐富的,在接下來的學習中,還需要繼續精讀細讀,慢慢消化,利用好這把“屠龍寶刀”加強自己的“戰鬥值”。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

南投搬家公司費用需注意的眉眉角角,別等搬了再說!

※教你寫出一流的銷售文案?

都在看爆款,15萬我挑的SUV關注的人不多,但顏值高質量好!

觀致汽車 觀致5售價:13。99-19。49萬元作為一個向高端進發的自主品牌,觀致的路走得一般。其中一大部分的原因是其較高的定價與較低的知名度,使得消費者對其認可比較一般。而且較少的4S店使得覆蓋較低也是一個原因。它的外觀不太像SUV車型,更像一款跨界車。

目前的SUV市場,雖然有着合資品牌不斷地進入市場,但在10-15萬這個區間仍是自主品牌佔據着領先的地位。由於這個價格區間是自主品牌的必爭之地,因此各家都在推出實力出眾的車型都與其他品牌一較高下。今天所推薦的這幾款,雖說不是目前市場最火的那幾款,但它們就真的不行么?且聽細細道來。

東風乘用車 東風風神AX7

售價:9.97-14.17萬元

東風乘用車一直都是多生孩子好打架的套路,風神AX7作為一輛原創度很高的車型自從上市以來就受到不少消費者的追捧。不僅由於它親民的定價,還有較大的車身尺寸。

它的前臉採用簡潔的造型設計,美觀耐看。多邊形進氣格柵採用橫向鍍鉻裝飾,整體質感出眾。碩大的X保險桿氣場很足,配以碩大的車身,至少第一印象就很深刻。微微上揚的腰線向後延伸與尾燈相融,流暢自然。車尾同樣採用簡潔的設計與前臉呼應。

相對於它的外觀讓人眼前一亮,AX7的內飾造型則相對比較傳統一些。規整的中控台最大的亮色就是突起的多媒體系統了;其中配以鍍鉻裝飾點綴,內飾整體比較年輕。而且AX7相對較大的車身尺寸,使得它的車內空間比較寬敞,也是它的優勢所在。

東風風神AX7的動力非常豐富,相比競爭對手而已;消費者有更多的選擇空間。除了1.4T車型之外,2.0L/2.3L都是採用了標緻旗下發動機,技術成熟可靠。1.4T的動力相當出色,遺憾的是目前只有手動車型;便利性差了點。2.0L與2.3L的車型則除了手動車型之外還配以6AT,日常行駛動力出色平順。懸挂的調校也相當有功力,整體感很強的底盤駕駛起來比較有信心。

奇瑞汽車 瑞虎7

售價:9.79-15.39萬元

奇瑞汽車作為一個自主品牌而已,這麼多年在合資林立的汽車市場里生存也不容易。能一直活得這麼滋潤,自然是它的產品比較出眾了。但之前的車型的外觀都是中規中矩,這一次瑞虎7可謂是出了一口惡氣。

作為奇瑞新研發平台T1X的首款SUV車型,瑞虎7是一款非常重要的產品。它的外觀原創度非常高;層次感豐富的前臉造型一下子就抓住了年輕人的眼球。凹凸有致的線條設計也時尚感很強。波浪式造型的車身線條很有設計感,而且轉向燈融入車身的設計很少見。

它的內飾造型相比目前最火的車型可能會稍遜一籌,但這是因為瑞虎7是在5年前就開始研發。以今天的目光來看,仍然非常好看,就是設計感差點。層次感較強的中控採用活潑的配色,黑棕布局亮點十足。而且瑞虎7的空間實用性也非常出色,後排配備了空調出風口。

瑞虎7搭載的了2.0L與1.5T的發動機,2.0L的車型動力輸出一般,搭載CVT更多的是為了日常的平順性需求的。1.5T則有兩種調校,動力的輸出更加直接充沛一些。日常行駛,這套動力總成做得很不錯,2.0L平順性很好,能滿足代步需求。1.5T車型則駕駛起來更輕鬆一些,變速箱涵接聰明。配上韌性十足的底盤調校,屬於同級一款很出眾的車型。

觀致汽車 觀致5

售價:13.99-19.49萬元

作為一個向高端進發的自主品牌,觀致的路走得一般。其中一大部分的原因是其較高的定價與較低的知名度,使得消費者對其認可比較一般。而且較少的4S店使得覆蓋較低也是一個原因。

它的外觀不太像SUV車型,更像一款跨界車。敦實圓潤的車身造型很獨特。它的前臉非常具有辨識度,設計感觸手的格柵布滿了中國風的設計語言,很有特色。碩大的鍍鉻裝飾也不會顯得很多餘。流線型的車身線條配上一個大尺寸的輪轂,很吸人眼球。車尾造型則相對簡單一些。

它的內飾造型則採用了簡潔的設計,簡單的線條勾勒出層次感強烈的中控台。平整的中控台看上去比較清爽,很適合年輕人的胃口。而它的乘坐空間與儲物空間都都相當出色,假如價格再降一些,很值得購買。

觀致5全系只搭載了一台1.6T的發動機,156ps的賬面數據表現還是可以。除了手動車型之後搭載是6擋雙離合;日常行駛動力輸出比較平順,只是雙離合變速箱為了更好的平順性,降擋會稍微有所猶豫。韌性的懸挂配以輕盈的轉向,日常開起來很輕鬆。

上汽集團 銳騰

銳騰與RX5同屬上汽旗下的SUV車型,雖然銳騰上市時間早很多,但熱度總體來說比RX5還是差了些。但這款個性前衛的SUV確實很出眾,如今外觀造型變得更加的美觀;不太那麼個性。

相比老款而言,新款銳騰變化不大。雖然變化不多,但整體呈現出來的效果非常出色。前臉的重心下移之後,變得更加美觀。經過重新調整的上下進氣格柵使得前臉更加協調。細節上,銳騰在霧燈區域設計了鋼爪設計,很有特色。車身的線條則變化較少,車尾同樣降低了重心,鋼爪的設計與前臉來了呼應。

銳騰的內飾造型變化很大,相比老款而言,減少了塑料感增加了檔次。造型規整的中控層次感豐富,上層採用鍍鉻裝飾條,接觸較多的區域都採用了皮革包裹,質感很出眾。乘坐空間整體處在主流水準,儲物空間豐富。遺憾的就是座椅較硬,長途乘坐會有點累。

作為改款車型,銳騰的動力則變化不大。依然還是1.5T/2.0T發動機與手動變速箱與雙離合的搭配。前麥弗遜后多連桿獨立懸挂使得銳騰天生就比競爭對手好不少,而銳騰呈現出就是底盤的支撐性很好,運動感會強一些。1.5T/2.0T發動機動力充沛,日常行駛比較輕鬆,變速箱涵接較好。

風神AX7顏值很帥氣,除了主打性價比之外;它寬敞的空間與成熟的動力總成都是它的亮點,相信只要多點宣傳;未來的銷量會更好。瑞虎7作為承載奇瑞汽車重任的一款SUV,如今已經開始展露自己的實力。要在眾多對手當中崛起,不僅品質出眾,未來的宣傳與口碑也有過關。

觀致5作為一個新品牌的SUV車型,外觀就不用多說了;很出眾。整體的配置與空間都在這個級別的主流水準,恰巧價格高了很多;4S覆蓋偏少也是它弱勢;希望未來能在這方面加強一下;價格再有所降低仍是一款好車。最後的銳騰,新款的外觀造型變得更加協調,不再是年輕人的專屬。整體的配置都相當出色,宣傳得好又是一款銷量高的車型。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※回頭車貨運收費標準