既能裝又不丟面,這台7萬起的MPV車主這樣評價

價格也比較實惠,開出去一點也不像幾萬塊錢的車子。配置很豐富,主副駕氣囊必不可少,還有前排側氣囊、ESp、上坡輔助、天窗、真皮方向盤、仿皮座椅、中控大屏等等,性價比很高。不滿意的:開了這麼久發動機有一絲咕嚕聲,其它沒問題,不過這應該也是小問題,其他車主沒有遇到我這樣的問題,回頭有空了開去4S點給它檢查一下,治治病。

最近身邊一個朋友想買一台七座的MpV,預算在7萬到10萬,問我選擇什麼比較好,我毫不猶豫的推薦了寶駿730。

他問我為什麼那麼直接就推薦了730,我答道:因為車主們對730很滿意。

上汽通用五菱-寶駿730

指導價:6.08-9.28萬

車主一:小羅

購買車型:2016款 1.5L 手動超值型 7座

裸車價格:5.98萬

車主點評:外形大氣,很多購買730的車友們就是看中他大氣的外觀,而且很有商務氣息,特別是車尾,感覺有那麼一絲GL8的影子。引擎蓋比較長,看上去協調不少,再加上是前置前驅,噪音比后驅車小!

不滿意的:我的車型是超值型,可能是價格已經做的夠低了,所以沒有ESp,這樣讓我跑高速的時候心有餘悸。希望730可以全系標配ESp。

車主一:隔壁老王

購買車型:2016款 1.5L 手動豪華型 7座

裸車價格:7.86萬

車主點評:最滿意的就是空間非常大,既能載人又能拉貨,外觀高端大氣上檔次,到了裏面乘坐很舒服,特別是中間兩個座椅最舒服。價格也比較實惠,開出去一點也不像幾萬塊錢的車子。配置很豐富,主副駕氣囊必不可少,還有前排側氣囊、ESp、上坡輔助、天窗、真皮方向盤、仿皮座椅、中控大屏等等,性價比很高。

不滿意的:開了這麼久發動機有一絲咕嚕聲,其它沒問題,不過這應該也是小問題,其他車主沒有遇到我這樣的問題,回頭有空了開去4S點給它檢查一下,治治病。

車主三:小喇叭

購買車型:2016款 1.5T 手動豪華型 7座

裸車價格:8.38萬

車主點評:當時試駕的是1.5L車型,感覺不是很給力,我是個急性子,受不了較弱的動力。正好730推出了1.5T車型,1.5T豪華型和1.5L豪華型指導價就差2000元,其它配置基本一樣,相當於多花2000塊買了一個渦輪發動機。絕對很值得。動力充足,爆發力強,外觀大氣,空間巨大,配置很高,口碑很好,絕對值得入手,

不滿意的:A柱盲區有點大,左轉受影響較大,1擋不是很好掛,中控台防水能力較差,做工比較一般。

總結:在這個價位,730的性價比可以說是比價高的,無論外觀還是內飾、配置、舒適性都有着很好的表現,確實是一個家用好幫手。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

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

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

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

※超省錢租車方案

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

※產品缺大量曝光嗎?你需要的是一流包裝設計!

來勢兇猛 看T60如何演繹皮卡新時代

在傳統思維上,也許你覺得智能化和皮卡根本毫無瓜葛。T60打破了這種陳建,首創在皮卡上開發了Normal/Eco/power三種駕駛模式。在輕載或行駛在平坦路面時,選擇ECO模式,以達到更好的燃油經濟性。在山路、工地等複雜路況或重載時,選擇power模式,帶來更強勁的動力。

在中國,皮卡一直以邊緣車型處在一個尷尬境地,各類歧視性政策更是讓實用價值很高的皮卡被人們敬而遠之,和國外濃厚的皮卡文化相比,我們仍然處於一個嬰兒般的市場狀態,如何培育,如何增長,如何推廣,都成了皮卡的廠商一個大難題,而且中國皮卡造型多以中庸的外觀出現,講究皮實耐用,與國內80后、90后追求外觀、個性的性格有些格格不入,所以,皮卡車企如何適應當前社會潮流,推出適合當下年輕人喜歡的中高端皮卡,將是刺激當前皮卡市場的一劑強心劑,也是一個對於廠商來說一個最大的突破口。

縱觀國內皮卡市場,雖然每年有着40萬輛左右的銷量,但產品的各方面整體較落後,市場上缺少一款性能卓越,讓用戶滿意的產品。在此背景下,上汽T60的誕生就是為了引領並推動國內皮卡市場。

12月21日,上汽大通邀經銷商夥伴聚集海南博鰲,回顧輝煌業績,共贏未來。回望2016年,在今年的廣州車展上,上汽大通推出了“划時代皮卡”——T60,當時只是公布了售價區間為9.98-19.98萬元。

與會期間,上汽大通為大家揭開了最後的謎底,官方公布T60各款車型的價格

T60柴油兩驅低底盤價格表

T60柴油兩驅高底盤價格表

T60柴油四驅高底盤價格表

突破傳統,時尚觀感遇見智能互聯

T60在外觀造型上有了重大突破,在我們之前的印象中,皮卡一向講求“內修”只要實用,空間大,力量足就行,但是T60確實是做到了“內外兼修”摒棄此前皮卡車過於單調、落後的特點,用迎合年輕一代用車群體的需求作為設計出發點,這款T60皮卡有着眾多獨特個性與亮點,稜角分明的前臉造型線條十分豐富,直瀑式進氣格柵突出了皮卡車型硬朗風格的同時也融入現代SUV的時尚元素。多邊形前大燈組造型,近光燈帶有透鏡結構,保險杠底部的霧燈則顯得十分秀氣。直觀的感受,T60帶來一款讓人耳目一新的皮卡。

在內飾設計上,T60整體造型顯得十分簡潔,全車黑色搭配銀色鍍鉻飾條,T形對稱式中控檯布局,大尺寸的液晶显示屏搭載了上汽與阿里共同開發的YunOS車聯網系統,提供智能車管家、在線互聯、遠程控制、語音識別等智能功能,這些科技的配置完全不輸一台B級車的配置了,而且皮卡上配備了pEpS無鑰匙進入一鍵啟動功能,這樣的皮卡配置確實有些無敵了。

作為一款皮卡,動力方面是其必須具備的,畢竟它的主要角色擔當是裝載及運輸,所以對於動力的要求會很高,那T60搭載了來自意大利VM的2.8T柴油發動機,其最大功率為110千瓦,最大扭矩360牛米,這樣的動力是足夠消費者輕鬆應對各種繁重任務了。

值得一提的,T60首次在皮卡上配備了6AT自動變速箱,這讓其在彎道或變速方面更加應付自如。

在傳統思維上,也許你覺得智能化和皮卡根本毫無瓜葛。T60打破了這種陳建,首創在皮卡上開發了Normal/Eco/power三種駕駛模式。在輕載或行駛在平坦路面時,選擇ECO模式,以達到更好的燃油經濟性;在山路、工地等複雜路況或重載時,選擇power模式,帶來更強勁的動力。這種改變,大大滿足了越來越多的年輕用戶希望有更輕鬆的駕駛體驗的需求。

最後,不得不提是T60在安全配置方面的專家級表現,T60以澳洲A-NCAp五星碰撞安全標準進行設計,首次將熱成型技術運用於皮卡,並通過激光焊接,大幅提升車身強度;T60還率先採用6安全氣囊,為駕乘人員提供全方位的保護。

T60首次在皮卡上配備,AFS隨動轉向LED大燈,根據車輛轉向,自動調節大燈照射角度,為用戶夜晚行車,提供更寬闊的照明視野。

在面對雨雪泥濘、崎嶇山路行駛時出現甩尾、側滑等險情時, T60採用BOSCH 9.0,ESp車身穩定控制系統,給皮卡用戶在各種工況下,帶來更好的行車穩定性。並把360環視影像、LDW車道偏離預警、疲勞駕駛提醒,等多項安全配置,首次應用在皮卡上,提供全方位的安全保障。

在美國,皮卡代表了張揚、自由與個性,涵蓋了美國英雄主義的西部文化,駕駛皮卡犹如之前的騎馬一樣輕鬆自然,而在中國恰恰缺少美國一樣的皮卡文化。

隨着皮卡市場的春天來臨,大家對皮卡的關注與討論與日俱增。同時,上汽大通T60更是憑藉行業首創的C2B理念,提供最全面的產品型譜和組合,上汽大通T60作為一輛外觀時尚、性能卓越、注重安全的皮卡,將會引領皮卡市場走向宜商宜家的高端路線。這樣一款划時代的皮卡,讓我們更加期待其精彩的市場表現。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

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

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

※超省錢租車方案

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

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

※產品缺大量曝光嗎?你需要的是一流包裝設計!

車輪上的家 上汽大通發布全新房車RV80

98萬的價格。而且RV80型譜包含B型和C型房車,擁有短軸/長軸/加長軸,低頂/中頂/高頂多種車身形式,用戶可通過C2B線上交互平台,可直接在線訂製房車,OTD高效透明,消費者可參与試駕、試住等全體驗式互動,享受真正的價值和樂趣。

買一輛房車,開到郊外,給自己一個遠離城市堵車和污染的樂土,傍晚一邊欣賞湖邊那一抹落日一邊和家人烹制一頓可口的晚餐;晚上透過大大的天窗看沒有污染的星空;亦或把車停在海邊,換上泳衣下海衝浪,回來后在寬敞的洗澡間沖個熱水澡這份嚮往其實不僅僅是一輛車,而是一種生活方式更是一種房車生活的文化,這才是一種說走就走的旅行,因為不用規劃路線,不用訂酒店,風景在那,走到那,家在路上。

近日,一場融新款房車上市發布、房車露營大會、草地音樂狂歡節、美酒佳肴於一體的“全體驗式”上市發布會登陸海南博鰲,由“中國房車第一品牌”上汽大通打造的2016“新旅程·心享受”房車之夜暨房車新品上市發布會亮相南海之濱,全新房車RV80在萬眾期待中揭開神秘面紗。

當晚,配合現場炫目的燈光秀,國內首款滿足國五排放標準的高端房車——上汽大通全新房車RV80正式發布。

新款房車憑藉六大產品優勢,定義房車行業新標杆,其搭載源自歐洲的VM柴油發動機,最高功率110KW,綜合油耗百公里僅為8.3L;全系國5排放標準;在國內房車行業中率先使用AMT技術;而且全車座椅是達乘用級安全標準。

消費者最為關心的價格也在上市會上正式揭曉,售:26.98萬至51.98萬的價格。

而且RV80型譜包含B型和C型房車,擁有短軸/長軸/加長軸,低頂/中頂/高頂多種車身形式,用戶可通過C2B線上交互平台,可直接在線訂製房車,OTD高效透明,消費者可參与試駕、試住等全體驗式互動,享受真正的價值和樂趣。

雖然國內房車起步晚,房車少、營地少,在心往來說,移動露營來說比較難實現,但隨着房車市場近幾年的發展,房車露營地的逐漸增多,露營地的規劃與擬建逐漸完善,移動露營的實現,在今天已經變的越來越便利了。

房車,又稱“車輪上的家”,兼具“房”與“車”兩大功能,但其屬性還是車,相比普通汽車,房車上的居家設施有爐具、冰箱、櫥櫃、沙發、餐桌椅、盥洗設施、空調、電視、音響等傢具和電器等,隨心而行,隨景而歇,這是一種房車的生活狀態。

購買房車的理由可以很多,可能是為了帶着父母去旅行,也可能是為了滿足夫妻雙方共同的旅行夢想,也可以一群朋友同事用懷揣探索的心踏上未知的旅途,無論是兩個人駕駛房車出行,要過一次久違的二人世界或帶着一家人遠離都市的喧鬧,這都是我們嚮往的生活,而房車是對於這種嚮往的一個載體,一個最適合的載體。

國內消費者對待房車的消費觀念正在發生轉變,讓目前的房車市場顯得更為火爆,現在很多人的旅遊觀念都在轉變,更加傾向於自駕出遊,而非報團旅行。而自駕的長途旅行,使得房車成為了旅行者的首選。

但相應的配套設施卻略顯單薄,最大的制約就是目前國內房車露營地較少,無法為房車提供停放場所。畢竟在房車內生活,做飯、取暖、照明等都需要電力和水源,雖然房車裡自帶有蓄電池和水源儲蓄,但容量的限制最多只能保證一兩個晚上的生活需求,這也是制約房車發展最重要的一個條件。

對於現在房車的各方面使用性來說,可能有些人覺的買了回來,使用率比較低,上汽大通也在2017年投入超過1200輛房車,試水房車租賃市場,與運營夥伴在全國鋪開租賃網絡。

讓用戶輕鬆體驗到大通房車落地自駕的樂趣;開發了“房車生活家”平台,為房車用戶和潛客用戶提供“@房車”、“@生活”、“@家”三個方面的服務,構建多個使用和體驗場景,實現在線房車自駕游線路推薦和預訂、營地推薦和預訂,閱讀攻略遊記、預約試駕體驗、參加自駕活動等功能。

也可掃二維碼了解更多房車生活及房車租賃信息,而且還有很多優惠信息喔!

@房車生活家本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

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

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

※回頭車貨運收費標準

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

※超省錢租車方案

※產品缺大量曝光嗎?你需要的是一流包裝設計!

別唧唧歪歪了!年輕人第一台SUV就該選TA!

但相信2765mm的軸距將會給用戶一個滿意的乘坐空間。後排無論在橫向還是縱向空間都是足夠大而舒適,頭部空間則因車頂後排頭頂位置為內凹設計,也是很讓人滿意。“低”價格,高配置啟辰T90的內飾給人的感覺跟外觀還是有些不一樣,整體的風格偏向於穩重,但穩重中也沒有忽略運動感的塑造。

在目前的國內市場,SUV尤其的火爆,可以這麼說,當人們有需求的時候,市場就會自動做出調整生產符合消費者要求的產品。在這種情況下,很多廠家也紛紛都將矛頭指向了緊湊型的SUV,以及二胎政策捧紅的7座中型SUV。然而,啟辰獨辟蹊徑,瞄準了85后消費群體,打造了溜背式的中型SUV啟辰T90,憑藉媲美合資車的生產品質、顛覆傳統的驚艷設計、充滿競爭力的價格,勢必成為中型SUV現有市場格局的全新標杆。

12月25日,啟辰全新中型SUV啟辰T90正式上市,售價區間為10.98—15.48萬元,共推出6款車型。

個性時尚的外觀

啟辰T90最大的亮點可以說是外觀造型,無論是前臉還是性感的“背影”,開這麼一款SUV在路上,回頭率都會是極高的。其採用了全新的家族式前臉和溜背式SUV的風雕美學設計。不是華麗的簡單堆砌,而是經過設計師無數次對細節完美追求的結果。總體來看,不管是在研發設計還是產品定位上,啟辰T90的設計感並不亞於一些合資品牌。

寬敞舒適的空間

說到這裏,也許有人會問,採用溜背造型的設計,其後排空間會不會就因此受到影響,要說完全沒有,這個有點不現實。但相信2765mm的軸距將會給用戶一個滿意的乘坐空間。後排無論在橫向還是縱向空間都是足夠大而舒適,頭部空間則因車頂後排頭頂位置為內凹設計,也是很讓人滿意。

“低”價格,高配置

啟辰T90的內飾給人的感覺跟外觀還是有些不一樣,整體的風格偏向於穩重,但穩重中也沒有忽略運動感的塑造。值得一提的還有,中控台上12.3英寸的大屏,從布局上就可以看得出設計的用心,其呈環抱式位置分佈,主駕駛席無需起身即可完成所有操作;真皮座椅,搭配着藍色的氛圍燈,精密的雙縫線,各處接縫的高度契合,使內飾整體更有質感,是現代年輕一代受眾所青睞的。

除了以上提到的,還有智能互聯、高科技配置和安全配置等方面,啟辰T90也展示出非凡的實力,可以說是智超所值。IT-COMMANDER旋鈕式信息控制系統堪稱同級SUV罕有的“鼠標”式車載控制系統,集便利性、簡易性、精美性於一體,觸控隨心所欲;全彩3D平視信息显示系統以駕駛者為中心,操控簡潔。啟辰T90還具備駕駛提醒、胎壓監測、泊車輔助等功能,在白色高亮質感照明和多功能方向盤按鍵控制下,能夠帶來更清晰、更科技、更好操作的显示效果。

總結:如今中型SUV市場,早已是一片紅海,啟辰T90無論是獨樹一幟的外觀,還是空間、配置,以及親民的價格,都可以說,將會讓它在這片紅海中,逆襲上位、脫穎而出,成為業內的一個新標杆。期待在未來,啟辰T90成為下一个中型SUV爆款。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※超省錢租車方案

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

※回頭車貨運收費標準

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

※產品缺大量曝光嗎?你需要的是一流包裝設計!

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

不只Apple碳中和全球頂尖企業都靠這個建立市場區隔

環境資訊中心綜合外電;姜唯編譯;林大利審校

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

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

澳洲跨年野火災情慘 調查:30億動物死亡或遷徙

摘錄自2020年7月28日中央廣播電台報導

根據一項28日發布的報告,澳洲在2019年到2020年所發生的前所未見野火災難中,有將近30億動物死亡或被迫遷徙。報告指出,這場野火是「現代歷史中最慘烈的野火災難之一」。這項由數所澳洲大學科學家所進行的研究指出,被侵襲的野生生命包括1.43億哺乳類動物,24.6億爬蟲類、1.8億鳥類,以及5,100萬的蛙類。

雖然報告沒有說明有多少動物因野火死亡,但報告作者之一狄克曼(Chris Dickman)表示,由於缺乏食物、避難所以及未受到保護,那些從烈焰中逃出的動物前景「可能很不好」。

雪梨大學(University of Sydney)的首席科學家伊登(Lily van Eeden)表示,今天公佈的這項調查是首度涵蓋全澳洲大陸的野火區。

這項調查的結果仍在處理中,最終報告將於下個月底發布。不過,報告作者們表示,30億動物受影響的這個數字不太可能改變。

生物多樣性
環境新聞
國際新聞
澳洲
澳洲野火
氣候變遷
棲地保育
森林

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

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

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

※台北網頁設計公司全省服務真心推薦

※想知道最厲害的網頁設計公司"嚨底家"!

※推薦評價好的iphone維修中心

全球最大濕地「潘塔納烏」 上半年共2534起野火

摘錄自2020年7月28日公視報導

南美洲除了要應付疫情之外,還有森林野火狀況。像巴西的西南邊,靠近玻利維亞和巴拉圭的濕地區域,在今年上半年,起火次數比去年增加158%。

橫跨巴西、玻利維亞和巴拉圭,號稱全球最大熱帶濕地的潘塔納烏。除了是世界第一大的水生植物集中地,也是動植物最密集的生態系統。然而,它和巴西北部的亞馬遜河流域一樣,面臨濫墾濫伐的危機。

外電報導指出,今年上半年當地零星的野火多達2534起,比去年同期的981起暴增百分之158,還沒過完的7月,又增加1300多起。被燒毀的森林和草地總面積,高達5100平方公里,相當於雙北、基隆、桃園再加上半個宜蘭縣的範圍。

儘管巴西政府在7月16日頒布行政命令,禁止農民焚燒林地開墾,有效期限4個月,但禁令頒布以來,野火仍舊超過1000起,凸顯問題的嚴重性。

濕地
生物多樣性
國際新聞
南美洲
野火

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

【其他文章推薦】

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

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

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

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

※回頭車貨運收費標準

川普將大砍「犀牛和老虎保育基金」 全球不到100隻蘇門答臘犀牛告急

環境資訊中心綜合外電;黃鈺婷 翻譯;林大利 審校;稿源:Mongabay

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

【其他文章推薦】

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

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

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

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

※超省錢租車方案

存活1億年!南太平洋海底發現恐龍時代的微生物

摘錄自2020年7月29日自由時報報導

日本海洋研究開發機構和高知大學所組成的團隊,在南太平洋海底下約有1億年至430萬年的地層從發現微生物,這些微生物並未變成化石,而是在提供營養後,竟然可以從長期休眠中復甦。

據日本《共同社》報導,日本研究團隊在2010年於紐西蘭以東的海域進行挖掘研究,他們從3700至5700公尺深的海底中挖掘7處地層,發現了像是被封閉在細微粒子組成的粘土之中的微生物,為了確認微生物是否仍然存活還是變成化石,團隊開始提供氧氣和糖等餌食進行了觀察。

實驗啟動3週後,微生物竟然復甦開始進食,約2個月後最大增至1萬倍以上。細胞分裂平均從喂餌5天後開始,微生物平均復甦率為77%,而年代最久遠的1億年地層,存活率更是高達99.1%。

海洋
國際新聞
南太平洋

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

【其他文章推薦】

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

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

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

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

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

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

小師妹學JavaIO之:NIO中Channel的妙用

目錄

  • 簡介
  • Channel的分類
    • FileChannel
    • Selector和Channel
    • DatagramChannel
    • SocketChannel
    • ServerSocketChannel
    • AsynchronousSocketChannel
  • 使用Channel
  • 總結

簡介

小師妹,你還記得我們使用IO和NIO的初心嗎?

小師妹:F師兄,使用IO和NIO不就是為了讓生活更美好,世界充滿愛嗎?讓我等程序員可以優雅的將數據從一個地方搬運到另外一個地方。利其器,善其事,才有更多的時間去享受生活呀。

善,如果將數據比做人,IO,NIO的目的就是把人運到美國。

小師妹:F師兄,為什麼要運到美國呀,美國現在新冠太嚴重了,還是待在中國吧。中國是世界上最安全的國家!

好吧,為了保險起見,我們要把人運到上海。人就是數據,怎麼運過去呢?可以坐飛機,坐汽車,坐火車,這些什麼飛機,汽車,火車就可以看做是一個一個的Buffer。

最後飛機的航線,汽車的公路和火車的軌道就可以看做是一個個的channel。

更多精彩內容且看:

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

簡單點講,channel就是負責運送Buffer的通道。

IO按源頭來分,可以分為兩種,從文件來的File IO,從Stream來的Stream IO。不管哪種IO,都可以通過channel來運送數據。

Channel的分類

雖然數據的來源只有兩種,但是JDK中Channel的分類可不少,如下圖所示:

先來看看最基本的,也是最頂層的接口Channel:

public interface Channel extends Closeable {
    public boolean isOpen();
    public void close() throws IOException;

}

最頂層的Channel很簡單,繼承了Closeable接口,需要實現兩個方法isOpen和close。

一個用來判斷channel是否打開,一個用來關閉channel。

小師妹:F師兄,頂層的Channel怎麼這麼簡單,完全不符合Channel很複雜的人設啊。

別急,JDK這麼做其實也是有道理的,因為是頂層的接口,必須要更加抽象更加通用,結果,一通用就發現還真的就只有這麼兩個方法是通用的。

所以為了應對這個問題,Channel中定義了很多種不同的類型。

最最底層的Channel有5大類型,分別是:

FileChannel

這5大channel中,和文件File有關的就是這個FileChannel了。

FileChannel可以從RandomAccessFile, FileInputStream或者FileOutputStream中通過調用getChannel()來得到。

也可以直接調用FileChannel中的open方法傳入Path創建。

public abstract class FileChannel
    extends AbstractInterruptibleChannel
    implements SeekableByteChannel, GatheringByteChannel, ScatteringByteChannel

我們看下FileChannel繼承或者實現的接口和類。

AbstractInterruptibleChannel實現了InterruptibleChannel接口,interrupt大家都知道吧,用來中斷線程執行的利器。來看一下下面一段非常玄妙的代碼:

protected final void begin() {
        if (interruptor == null) {
            interruptor = new Interruptible() {
                    public void interrupt(Thread target) {
                        synchronized (closeLock) {
                            if (closed)
                                return;
                            closed = true;
                            interrupted = target;
                            try {
                                AbstractInterruptibleChannel.this.implCloseChannel();
                            } catch (IOException x) { }
                        }
                    }};
        }
        blockedOn(interruptor);
        Thread me = Thread.currentThread();
        if (me.isInterrupted())
            interruptor.interrupt(me);
    }

上面這段代碼就是AbstractInterruptibleChannel的核心所在。

首先定義了一個Interruptible的實例,這個實例中有一個interrupt方法,用來關閉Channel。

然後獲得當前線程的實例,判斷當前線程是否Interrupted,如果是的話,就調用Interruptible的interrupt方法將當前channel關閉。

SeekableByteChannel用來連接Entry或者File。它有一個獨特的屬性叫做position,表示當前讀取的位置。可以被修改。

GatheringByteChannel和ScatteringByteChannel表示可以一次讀寫一個Buffer序列結合(Buffer Array):

public long write(ByteBuffer[] srcs, int offset, int length)
        throws IOException;
public long read(ByteBuffer[] dsts, int offset, int length)
        throws IOException;

Selector和Channel

在講其他幾個Channel之前,我們看一個和下面幾個channel相關的Selector:

這裏要介紹一個新的Channel類型叫做SelectableChannel,之前的FileChannel的連接是一對一的,也就是說一個channel要對應一個處理的線程。而SelectableChannel則是一對多的,也就是說一個處理線程可以通過Selector來對應處理多個channel。

SelectableChannel通過註冊不同的SelectionKey,實現對多個Channel的監聽。後面我們會具體的講解Selector的使用,敬請期待。

DatagramChannel

DatagramChannel是用來處理UDP的Channel。它自帶了Open方法來創建實例。

來看看DatagramChannel的定義:

public abstract class DatagramChannel
    extends AbstractSelectableChannel
    implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, MulticastChannel

ByteChannel表示它同時是ReadableByteChannel也是WritableByteChannel,可以同時寫入和讀取。

MulticastChannel代表的是一種多播協議。正好和UDP對應。

SocketChannel

SocketChannel是用來處理TCP的channel。它也是通過Open方法來創建的。

public abstract class SocketChannel
    extends AbstractSelectableChannel
    implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, NetworkChannel

SocketChannel跟DatagramChannel的唯一不同之處就是實現的是NetworkChannel借口。

NetworkChannel提供了一些network socket的操作,比如綁定地址等。

ServerSocketChannel

ServerSocketChannel也是一個NetworkChannel,它主要用在服務器端的監聽。

public abstract class ServerSocketChannel
    extends AbstractSelectableChannel
    implements NetworkChannel

AsynchronousSocketChannel

最後AsynchronousSocketChannel是一種異步的Channel:

public abstract class AsynchronousSocketChannel
    implements AsynchronousByteChannel, NetworkChannel

為什麼是異步呢?我們看一個方法:

public abstract Future<Integer> read(ByteBuffer dst);

可以看到返回值是一個Future,所以read方法可以立刻返回,只在我們需要的時候從Future中取值即可。

使用Channel

小師妹:F師兄,講了這麼多種類的Channel,看得我眼花繚亂,能不能講一個Channel的具體例子呢?

好的小師妹,我們現在講一個使用Channel進行文件拷貝的例子,雖然Channel提供了transferTo的方法可以非常簡單的進行拷貝,但是為了能夠看清楚Channel的通用使用,我們選擇一個更加常規的例子:

public void useChannelCopy() throws IOException {
        FileInputStream input = new FileInputStream ("src/main/resources/www.flydean.com");
        FileOutputStream output = new FileOutputStream ("src/main/resources/www.flydean.com.txt");
        try(ReadableByteChannel source = input.getChannel(); WritableByteChannel dest = output.getChannel()){
            ByteBuffer buffer = ByteBuffer.allocateDirect(1024);
            while (source.read(buffer) != -1)
            {
                // flip buffer,準備寫入
                buffer.flip();
                // 查看是否有更多的內容
                while (buffer.hasRemaining())
                {
                    dest.write(buffer);
                }
                // clear buffer,供下一次使用
                buffer.clear();
            }
        }
    }

上面的例子中我們從InputStream中讀取Buffer,然後寫入到FileOutputStream。

總結

今天講解了Channel的具體分類,和一個簡單的例子,後面我們會再體驗一下Channel的其他例子,敬請期待。

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

本文作者:flydean程序那些事

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

本文來源:flydean的博客

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

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

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