跳到主要內容

發表文章

目前顯示的是 12月, 2020的文章

2016重磅轎車盤點 自主雄起/合資緊張?

無論如何,2016年都將要過去,而2016年我們看到了帝豪GL與艾瑞澤5這兩款代表自主品牌實力的力作,尤其是帝豪GL對於整個自主品牌都是意義重大,帝豪GL可以說開拓了一個新的細分市場,尺寸介於A級車與B級車之間,價格卻比緊湊型車型高不了多少,這樣的產品力表現值得讚歎。 這裏小編團隊特地舉行了一次盛大的年度討論,目的就是選出2016年最值得推薦的年度轎車/年度SUV以及2016年自主品牌的新技術。而經過了長時間的激烈討論之後我們終於確定了5款年度轎車,它們都具有強大的產品力,可以說對車市有不小的影響,雖然有些車型的銷量不那麼好看但是實力無需否認,那麼我們一起看看是什麼車型能夠成為年度推薦轎車吧。 無論如何,2016年都將要過去,而2016年我們看到了帝豪GL與艾瑞澤5這兩款代表自主品牌實力的力作,尤其是帝豪GL對於整個自主品牌都是意義重大,帝豪GL可以說開拓了一個新的細分市場,尺寸介於A級車與B級車之間,價格卻比緊湊型車型高不了多少,這樣的產品力表現值得讚歎。 而在合資車方面科沃茲的出現可以說是給合資三廂入門車型帶來了新鮮血液,不錯的產品力表現以及定位能夠給自主車帶來不小的衝擊,科沃茲上市開始就成為爆款車型也是實力的印證,混動雅閣的出現攪動了新能源市場,可以說是混動市場的一顆重磅炸彈,加之漂亮的外觀優秀的內飾,混動雅閣讓人難以拒絕。 最後就是沃爾沃S90了,這款車型依靠漂亮的設計吸引了不少人的目光,而最終價格也是讓人震驚,相信離大賣也不遠了,雖然2016年整个中國車市的重心全都放在了SUV方面,無論是開發的新車型數量還是現有SUV車型的銷量都是節節拔高,但是依然不少人選擇緊湊型轎車,緊湊型轎車的銷量佔比也是十分高,自主轎車在A到B級的產品力補充得不錯,但是B級以上還需要品牌力等更多的補充,2017年即將到來,轎車市場能否迎來更大的輝煌呢?本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※廣告預算用在刀口上, 台北網頁設計 公司幫您達到更多曝光效益 ※別再煩惱 如何寫文案 ,掌握八大原則! ※教你寫出一流的 銷售文案 ? ※超省錢 租車 方案 ※廣告預算用在刀口上, 台北網頁設計 公司幫您達到更多曝光效益 ※產品缺大量曝光嗎?你需要的是一流 包裝設計...

個性轎跑SUV不只有合資車型 自主品牌照樣玩兒得溜

77萬的頂配售價着實比較實惠,但個人覺得,可以等待它1。4T+6DCT的動力總成組合上市以後再做考慮。啟辰T90指導價格:10。98-15。48萬啟辰T90的關注度自今年早些時候曝光以來就一直不減,這台側面看上去很像本田歌詩圖的SUV尺寸也比以上兩款車型更大,定價也更高。 很多車企在SUV車型上玩起了跨界,高端的車型有寶馬的X4、X6,中端一些的也有今年大熱的馬自達CX-4、跨界造型的SUV有着轎跑般的外觀和符合SUV的離地間隙,在個性化和車輛通過實用性方面做出了權衡,滿足了很多追求車輛個性人群的需求。 然而,寶馬X4、X6之流對於普羅大眾來說畢竟還是太遙遠,CX-4作為合資中端跨界SUV,售價對於不少人來說還是高了,那麼就可以看看自主品牌車型,也有不少把個性與跨界玩兒得溜的代表車型。 吉利帝豪GS 指導價格:7.78-10.88萬 帝豪GS的名氣已經非常大啦,從上市以來就已經為自己圈了非常龐大的粉絲團,流線型的轎跑設計相當緊湊美觀,憑藉著吉利品牌近年來優秀的品質做工,帝豪GS從內到外的質感都做到了不輸於合資品牌一貫擁有的水準,十萬出頭的頂配指導價格,配置也是極其豐富,作為年輕人第一台車是非常值得考慮的選擇。 東風風神AX3 指導價格:6.97-8.77萬 AX3是風神旗下定位偏向年輕化的一款跨界型SUV,雖然車身線條勾勒方式趨於平緩紮實,沒有什麼太多的亮點可言,但整車給人的感覺還是相當提氣與精神,內飾層面也以簡潔實用的風格為主,作為一台家用小車來說,8.77萬的頂配售價着實比較實惠,但個人覺得,可以等待它1.4T+6DCT的動力總成組合上市以後再做考慮。 啟辰T90 指導價格:10.98-15.48萬 啟辰T90的關注度自今年早些時候曝光以來就一直不減,這台側面看上去很像本田歌詩圖的SUV尺寸也比以上兩款車型更大,定價也更高。外觀設計官方稱之為"風雕美學",從視覺效果上看,溜背造型的車身舒展秀氣,而細節處的肌肉線條也體現出一台SUV該有的力量感。更大的車身尺寸也有着更大的車內空間,個人認為,啟辰T90更適合作為家庭的第二輛車購入。 總結:以上三款車型比較優秀的是在於各自品牌的質量控制方面可以說是當下自主品牌當中做的比較優秀的典型,而在終端售價表現上,十萬左右的價格也是更多人可以接受的範圍,如果是作為第一輛車,小...

個性外觀動力不凡的德系轎跑 車主們如何評價它?

40萬車主點評:相信大部分購買CC就是看中其外觀,雖然改款后沒以前那麼個性,卻多了幾分沉穩,外觀設計也見仁見智把。DSG雙離合變速箱平順性以及換擋邏輯做到相當出色,大眾可以說是造雙離合變速箱最早一個廠商,所以在技術性上大眾雙離合變速箱更成熟。 對於中級車市場來說,競爭仍然還是很激烈。雖然中級車非常普遍,但擁有一輛充滿個性運動且能兼顧到家用的,卻是少之又少,然後大眾CC就是其中一款造型非常獨特,有格調,那我們一起來看看已購買這款車的車主如何評價他們。 大眾CC 指導價:25.28-34.28萬 車主一:不忘初心 購買車型:大眾CC 2016款 1.8TSI 豪華型 裸車價格:25.28萬 車主點評:當時相中大眾CC無疑是被其外觀所吸引,轎跑外觀,無框車門,流暢車身線條,呈現出非常運動拉風的一面,個人也認為CC是史上最美的大眾車型。空間表現上,屬於中級車應有的水準。1.8T市內上下班足夠用,提速很輕快,高顏值動力強!是一款非常值得買的車型。 目前行駛里程:CC目前行駛3680公里,綜合油耗在11L/100km,由於走市區較多,且道路擁堵,這油耗表現我也挺滿意。 車主二:奮鬥ing 購買車型:大眾 2016款 2.0TSI 豪華型 裸車價格:26.40萬 車主點評:相信大部分購買CC就是看中其外觀,雖然改款后沒以前那麼個性,卻多了幾分沉穩,外觀設計也見仁見智把。DSG雙離合變速箱平順性以及換擋邏輯做到相當出色,大眾可以說是造雙離合變速箱最早一個廠商,所以在技術性上大眾雙離合變速箱更成熟。 目前行駛里程:目前CC跑了3800公里,綜合油耗在11.5L/100km,還是能接受! 車主三:透心涼 購買車型:大眾CC 2016款 2.0TSI 至尊型 裸車價格:28.08萬 車主點評:當初不買BBA就是因為之前很早就喜歡CC,也可以說是一種情懷。由於買的是2.0T頂配車型,配置非常豐富,還配備丹拿音響,也算是世界級音響,音質特別棒。其次就是在動力方面,2.0T動力輸出很強勁,高速上超車和加速都是輕鬆事情,轉向也很精準,在操控性上有一定的樂趣。 目前行駛里程:目前開了7200公里,綜合油耗在12L/100km,追求動力,油耗也必須高。 編者點評: 大眾CC可以說在同級別外觀造型最拉風,無框車門吸引不少消費者對其追捧。發動機與變速...

通過與C++程序對比,徹底搞清楚JAVA的對象拷貝

目錄 一、背景 二、JAVA對象拷貝的實現 2.1 淺拷貝 2.2 深拷貝的實現方法一 2.3 深拷貝的實現方法二 2.3.1 C++拷貝構造函數 2.3.2 C++源碼 2.3.3 JAVA通過拷貝構造方法實現深拷貝 四、總結 一、背景 JAVA編程中的對象一般都是通過new進行創建的,新創建的對象通常是初始化的狀態,但當這個對象某些屬性產生變更,且要求用一個對象副本來保存當前對象的"狀態",這時候就需要用到對象拷貝的功能,以便封裝對象之間的快速克隆。 二、JAVA對象拷貝的實現 2.1 淺拷貝 被複制的類需要實現Clonenable接口; 覆蓋clone()方法,調用super.clone()方法得到需要的複製對象; 淺拷貝對基本類型(boolean,char,byte,short,float,double.long)能完成自身的複製,但對於引用類型只對引用地址進行拷貝。 -- 下面我們用一個實例進行驗證: /** * 單隻牌 * * @author zhuhuix * @date 2020-06-10 */ public class Card implements Comparable, Serializable,Cloneable { // 花色 private String color = ""; //数字 private String number = ""; public Card() { } public Card(String color, String number) { this.color = color; this.number = number; } public String getColor() { return this.color; } public void setColor(String c...

小菜成長之路,警惕淪為 API 調用俠

小菜(化名)在某互聯網公司擔任運維工程師,負責公司後台業務的運維保障工作。由於自己編程經驗不多,平時有不少工作需要開發協助。 聽說 Python  很火,能快速開發一些運維腳本,小菜也加入 Python  大軍學起來。 Python  語言確實簡單,小菜很快就上手了,覺得自己應對運維開發工作已經綽綽有餘,便不再深入研究。 背景 這天老闆給小菜派了一個數據採集任務,要實時統計服務器 TCP  連接數。需求背景是這樣的:開發同事需要知道服務的連接數以及不同狀態連接的比例,以便判斷服務狀態。 因此,小菜需要開發一個腳本,定期採集並報告 TCP  連接數,提交數據格式定為 json  : { "LISTEN": 4, "ESTABLISHED": 100, "TIME_WAIT": 10 } 作為運維工程師,小菜當然知道怎麼查看系統 TCP  連接。 Linux  系統中有兩個命令可以辦到, netstat  和 ss  : $ netstat -nat Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:8388 0.0.0.0:* LISTEN tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 192.168.56.3:22 192.168.56.1:54983 ESTABLISHED tcp6 0 0 :::22 :::* ...

燒機油

去看視頻。德系車就比日系車更容易燒機油。很多時候我們都會聽說德系車相較於日系車更容易燒機油,真的是這樣嗎。去看視頻。燒機油了怎麼辦。既然燒機油不能避免,那麼燒機油了怎麼辦。 什麼是燒機油? 不管是老司機還是新手,都或多或少聽到"燒機油"這個詞,那麼到底什麼是燒機油?去看視頻啦! 燒機油是怎麼引起的? 為什麼你的車燒機油,隔壁老王的車卻不燒機油?為什麼?去看視頻! 德系車就比日系車更容易燒機油? 很多時候我們都會聽說德系車相較於日系車更容易燒機油,真的是這樣嗎?去看視頻! 燒機油了怎麼辦? 既然燒機油不能避免,那麼燒機油了怎麼辦? 本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※ USB CONNECTOR 掌控什麼技術要點? 帶您認識其相關發展及效能 ※ 台北網頁設計 公司這麼多該如何選擇? ※智慧手機時代的來臨,RWD 網頁設計 為架站首選 ※評比 南投搬家公司費用 收費行情懶人包大公開 ※回頭車 貨運 收費標準 Orignal From: 燒機油

[C#.NET 拾遺補漏]05:操作符的幾個騷操作

margin-bottom: 20px; letter-spacing: 2px; border-radius: 2px">閱讀本文大概需要 1.5 分鐘。 大家好,這是極客精神【C#.NET 拾遺補漏】專輯的第 5 篇文章,今天要講的內容是操作符。 操作符的英文是 Operator ,在數值計算中習慣性的被叫作運算符,所以在中文的概念中,運算符是操作符的一個子集。 操作符是很基礎的知識了,基礎歸基礎,我們來回顧一下 C# 操作符那些比較騷的操作,能想到的不多,請大家補充。 操作符的重載 操作符重載大部分語言都沒有,而 C# 有。C# 允許用戶定義類型對操作符進行重載,方式是使用 operate 關鍵字把操作符寫成公開靜態函數。下面來演示一下重載 + 這個操作符。 我們創建一個 Complex 結構類型來代表一個複數,我們知道複數有實數和虛數組成,於是可以這樣定義: public struct Complex { public double Real { get; set; } public double Imaginary { get; set; } } 現在我們想實現複數的相加操作,即: Complex a = new Complex() { Real = 1, Imaginary = 2 }; Complex b = new Complex() { Real = 4, Imaginary = 8 }; Complex c = a + b; 默認情況,自定義類是不能進行算術運算的,以上 a + b 會編譯報錯,我們需要對 + 進行操作符重載: public static Complex operator +(Complex c1, Complex c2) { return new Complex { Real = c1.Real + c2.Real, Imaginary = c1.Imaginary + c2.Imaginary }; } C# 中像加減乘除等這類操作符都可以重載,也有些操作符是不能重載的,具體請查看文末參考鏈接。 隱式和顯式轉換操作符 我們知道子類可以隱式轉換...

全新蛻變 試駕東風風行景逸X5

0L發動機的車型只提供手動擋版本,值得一贊的是,全新一代景逸X5繼續延續了景逸家族加大號基因的優良傳統,軸距達到了2720mm,讓該車在同級別中擁有了十分可觀的使用空間和乘坐空間。在駕駛過程中,每個檔位的清晰,雖無吸入感,但各擋位之間的行程較短,掛檔很順手。 如今SUV車型在汽車市場上的火爆程度,相信大家也都有目共睹,自主品牌對合資SUV造成了很大的衝擊,很多人覺得自主汽車熱賣是因為便宜,這個理由當然是有的,但是它僅僅只是其中之一。事實上最近幾年自主品牌的內飾設計、動力匹配、整體品質、科技配置及整體工藝都有了巨大的提升,穩定的質量和口碑才是自主品牌SUV得以持續熱銷的核心。 放眼國內SUV市場,由東風汽車話旗下的景逸X3、景逸X5、景逸XV組成的景逸SUV陣形,攻打市場,各車型分別從不同層面滿足消費者需求,在SUV市場有着屬於自己的一片領地。 新景逸x5的上市,其7.99萬-10.89萬的價格更是显示出東風汽車十足的把握和搶佔SUV市場的決心。 景逸X5是東風風行推出的一款緊湊型SUV,第一代車型於2013年8月30日正式上市,但由於造型、和口碑原因,市場表現一直不溫不火,12月17號全新的東風風行景逸X5上市,與上一代產品相比,全新一代景逸X5在產品力上有了不小的提升,最為直觀的感受便是在外觀設計上,東風柳汽好像打通了"任督二脈"知道什麼樣的外觀能贏的市場。 全新景逸X5搭載1.6L和2.0L兩款自然吸氣發動機,1.6L發動機除匹配手動擋變速箱外,還提供匹配CVT變速箱的車型供消費者選擇,而搭載2.0L發動機的車型只提供手動擋版本,值得一贊的是,全新一代景逸X5繼續延續了景逸家族加大號基因的優良傳統,軸距達到了2720mm,讓該車在同級別中擁有了十分可觀的使用空間和乘坐空間。 在駕駛過程中,每個檔位的清晰,雖無吸入感,但各擋位之間的行程較短,掛檔很順手。全新景逸X5的離合器的結合點相對較寬且很容易找到,一般不會出現熄火的情況。 值得一提的是,新景逸X5還配備了自動駐車功能,在2.0L的車型都有此功能,對於手動檔操作還不是很熟練的人來說,這個功能很實用,特別是擁堵的斜坡上,大大降低操作難度。 全新景逸X5在內飾上的變化是最明顯的,採用了全新的設計風格,整個設計是符合當下整個設計潮流,而且採用T型橫向設計,在儀錶台主體上...

Uber基於Apache Hudi構建PB級數據湖實踐

1. 引言 從確保準確預計到達時間到預測最佳交通路線,在Uber平台上提供安全、無縫的運輸和交付體驗需要可靠、高性能的大規模數據存儲和分析。2016年,Uber開發了增量處理框架Apache Hudi,以低延遲和高效率為關鍵業務數據管道賦能。一年後,我們開源了該解決方案,以使得其他有需要的組織也可以利用Hudi的優勢。接着在2019年,我們履行承諾,進一步將其捐贈給了Apache Software Foundation,差不多一年半之後,Apache Hudi畢業成為Apache Software Foundation頂級項目。為紀念這一里程碑,我們想分享Apache Hudi的構建、發布、優化和畢業之旅,以使更大的大數據社區受益。 2. 什麼是Apache Hudi Apache Hudi是一個存儲抽象框架,可幫助組織構建和管理PB級數據湖,通過使用 upsert 和 增量拉取 等原語,Hudi將流式處理帶到了類似批處理的大數據中。這些功能通過統一的服務層(幾分鐘左右即可實現數據延遲),幫助我們更快,更新鮮地獲取服務數據,從而避免了維護多個系統的額外開銷。更靈活地,Apache Hudi還可以在Hadoop分佈式文件系統(HDFS)或雲存儲上運行。 Hudi在數據湖上啟用原子性、一致性、隔離性和持久性(ACID)語義。 Hudi的兩個最廣泛使用的功能是 upserts 和 增量拉取 ,它使用戶能夠捕獲變更數據並將其應用於數據湖,為了實現這一點,Hudi提供了可插拔索引機制,以及自定義索引實現。Hudi具有控制和管理數據湖中文件布局的能力,這不僅能克服HDFS NameNode節點和其他雲存儲限制,而且對於通過提高可靠性和查詢性能來維護健康的數據生態系統也非常重要。另外Hudi支持多種查詢引擎,例如Presto,Apache Hive,Apache Spark和Apache Impala。 圖1. Apache Hudi通過在表上提供不同的視圖來攝取變更日誌、事件和增量流,以服務於不同的應用場景 從總體上講,Hudi在概念上分為3個主要組成部分:需要存儲的原始數據;用於提供upsert功能的索引數據以及用於管理數據集的元數據。內核方面,Hudi維護在不同時間點在表上執行的所有動作的時間軸,在Hudi中稱為即時,這提供了表格的即時視圖,同時...

還在看奔馳寶馬?這台車要成為豪華轎車新標杆了

在奔馳還沒有改款的時候,在寶馬還在強調操控的時候,奧迪無論在B級或C級市場都毋容置疑是神一樣的存在,在家用及商務用車兩大領域均獨佔鰲頭,但隨着某些政策的改變、奔馳的改款、寶馬的革新,競爭變得激烈起來,對於奧迪而言,產品的更新及新技術的研發已是迫切需要實行的戰略。 9月10號,全新奧迪A4L 正式上市,售價為29.98萬-41.28萬,歷經四十餘載,9代車型更迭,我們非常榮幸的等到了這台融合了現時奧迪最新科技的結晶成果、代號為B9的全新一代奧迪A4L。基於奧迪全新的MLB EVO(縱置發動機模塊化)平台打造,全新的家族外觀、全新的動力總成使得全新一代A4L有了捍衛自家地位的實力,自此,全新奧迪A4L正式接過B8的衣缽,繼續向豪華中型車標杆這一目標邁進。 在國人的印象中,A4L和3系相比可能缺少了純粹原始的運動味道,與奔馳C級相比,似乎又不及它自上而下傳承的雍容豪華,但難能可貴的是,A4L將兩者間的平衡做到了極致,在運動與雍容間也找到了最有自己特性的平衡點,以嚴謹的工匠精神,打造出在當時看幾乎是無可挑剔的科技與机械的結晶,再加上長軸距的幫助,上一代A4L的脫穎而出也就是順理成章的事情了。A4作為奧迪全球銷量最高的車型,在中國市場上為奧迪品牌立下了汗馬功勞,它給奧迪帶來了太多的榮耀和戰績,而A4L老款車型8年累計銷量超過70萬的輝煌戰績、在豪華B級車市場地位穩坐頭把交椅的實力,放眼整個豪華B級車市場,絕對無人能及。從奧迪A4L還沒進入中國市場之前,就已拿到德國"金方向盤"權威大獎。 本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※ 網頁設計 一頭霧水該從何著手呢? 台北網頁設計 公司幫您輕鬆架站! ※ 網頁設計公司 推薦不同的風格,搶佔消費者視覺第一線 ※Google地圖已可更新顯示 潭子電動車 充電站設置地點!! ※廣告預算用在刀口上, 台北網頁設計 公司幫您達到更多曝光效益 ※別再煩惱 如何寫文案 ,掌握八大原則! ※ 網頁設計 最專業,超強功能平台可客製化 Orignal From: 還在看奔馳寶馬?這台車要成為豪華轎車新標杆了

15.98萬起美系個性硬派SUV 它的實力表現究竟怎樣?

配置方面,指南者全系標配了ESp車身穩定系統、上坡輔助、發動機啟停技術,根據車型的不同還有着全景天窗、後排出風口、自動空調、自動泊車、併線輔助、車道偏離預警、主動剎車、ACC自適應巡航系統,但總體和對手相比配置依然是比較低。 前言 在不少90后或者是老小孩的內心,肯定會有着一輛JEEp,當時它們還被稱為越野車,而不是現在的SUV。它們是可以翻山越嶺,上山涉水的,是非常具備野性的車型,所以是當時他們內心嚮往的產品。即使是現在長大了,成家立室了,但還是想要這樣的SUV。但最近上市的JEEp 指南者似乎有着這樣的潛力讓我們購買,那麼它的實力究竟如何? JEEp 指南者車身尺寸為4415*1819*1625mm,是一款標準的入門緊湊型SUV,定位類似於日產逍客,處於自由俠以及自由光之間。售價也正好在它們的中心位置,售價為15.98-24.18萬。 前臉上有着非常明顯的JEEp風格,7孔式前進氣格柵,偏高的視覺重心使得它比起競爭對手們更像是一款遊走於山澗的越野車,而非一輛只能在城市行走嬌弱的城市SUV。前臉還是使用了不少的黑色塑料件,極具野性。 指南者的側面相對硬朗,輪拱位置又高又大,17英寸雙色梅花型五幅式輪轂看着和它非常協調,是側面的點睛之作,另外還有着18英寸的車型可供選擇。作為頂配車型,後排還有着隱私玻璃,免除了後期加裝的麻煩。 尾部造型也是有着非常濃郁的JEEp風格,黑色的下護板、敦厚的車尾以及延伸到側面的后擋風玻璃,這些小細節都表現它自己的個性。不過也是要付出一點代價的,就是後備箱門檻較高,搬動物件的時候可能需要多使一點勁。 但值得慶幸的是後備箱容積還算客觀,規整的布局可以放下更多的東西。 作為高配車型還有着Beat音響系統,這對於喜愛音樂的90后非常重要。 內飾方面和jeep以及菲亞特的車型有着不少的類似,類似環抱式的設計有能有着不少的安全感,唯獨就是會佔據更大的空間,在指南者上就表現為儲物空間不足了,粗大的方向盤非常豪放。 指南者的野性也表現在儀錶盤的設計上的,類似螺栓的底紋設計非常個性,黑色底色、白色印刷字體加上紅色指針,不僅視覺美觀,而且方便易讀。中間是液晶显示屏,能显示較多的信息。 對於一款有着2636mm的美系SUV,空間利用方面是比較高的水平的,表現出色,唯獨是後排中間位置因為座椅設計以及前排扶手箱而空間較小...

性能調優必備利器之 JMH

if 快還是 switch 快?HashMap 的初始化 size 要不要指定,指定之後性能可以提高多少?各種序列化方法哪個耗時更短? 無論出自何種原因需要進行性能評估,量化指標總是必要的。 在大部分場合,簡單地回答誰快誰慢是遠遠不夠的,如何將程序性能量化呢? 這就需要我們的主角 JMH 登場了! JMH 簡介 JMH(Java Microbenchmark Harness)是用於代碼微基準測試的工具套件,主要是基於方法層面的基準測試,精度可以達到納秒級。該工具是由 Oracle 內部實現 JIT 的大牛們編寫的,他們應該比任何人都了解 JIT 以及 JVM 對於基準測試的影響。 當你定位到熱點方法,希望進一步優化方法性能的時候,就可以使用 JMH 對優化的結果進行量化的分析。 JMH 比較典型的應用場景如下: 想準確地知道某個方法需要執行多長時間,以及執行時間和輸入之間的相關性 對比接口不同實現在給定條件下的吞吐量 查看多少百分比的請求在多長時間內完成 下面我們以字符串拼接的兩種方法為例子使用 JMH 做基準測試。 加入依賴 因為 JMH 是 JDK9 自帶的,如果是 JDK9 之前的版本需要加入如下依賴(目前 JMH 的最新版本為 1.23 ): <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>1.23</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>1.23</version> </dependency> 編寫基準測試 接下來,創建一個 JMH 測試類,用來判斷 + 和 StringB...

這台10萬內1.5T的自主SUV 不僅動力猛還省油!

油耗表現怎樣。1。5T自動擋車型的車主口碑油耗:9。3L/100km1。5T手動擋車型的車主口碑油耗:8。5L/100km油耗方面,因為變速箱的反應积極也採用了小排量渦輪增壓發動機,所以油耗表現也屬於中等水平。有趣的是採用1。5L自然吸氣的車型油耗和1。 自主小型SUV市場中風起雲涌,中華V3在這一細分市場中銷量一直表現穩定,在今年的前11個月裏面,它的總銷量達94937輛! 這樣的銷量表現不錯,下面我們就來聊聊這款SUV的駕駛體驗到底怎樣。 華晨中華-V3 指導價:6.57-11.77萬 動力總成: 中華V3採用1.5L或1.5T兩款發動機,而編者試駕的是採用1.5T的車型,這款發動機的最大功率150馬力,峰值扭矩220牛米/2000-4500轉。 變速箱方面採用5擋手自一體、5擋手動變速箱,而編者體驗的正是採用1.5T配合5擋手自一體的自動擋車型。 駕駛體驗如何: 這款發動機的功率不低,只是峰值扭矩不算太早到來,所以起步的動力沒有太強勁的表現,油門反應很線性、雖然低轉速扭矩一般,但是當轉速突破了2000轉以後,動力會迎來一個爆發! 2000轉確實是一個分水嶺,這時候深踩油門,推背感變得很明顯。 它的5擋手自一體變速箱給我帶來一些驚喜,其換擋邏輯、換擋速度都比較優異!還有平順度也有不錯的表現。 在急加速的時候,它會直接從5擋降到2擋或3擋!加速的表現相當給力。 只是前進擋位只有5個,所以在高速巡航時轉速稍微有一點點高,就像120km/h巡航時,發動機轉速為2300轉左右。 中華V3的1.5T自動擋車型的百公里加速時間約為10.44秒,這樣的加速成績是比較不錯的。 油耗表現怎樣? 1.5T自動擋車型的車主口碑油耗:9.3L/100km 1.5T手動擋車型的車主口碑油耗:8.5L/100km 油耗方面,因為變速箱的反應积極也採用了小排量渦輪增壓發動機,所以油耗表現也屬於中等水平。有趣的是採用1.5L自然吸氣的車型油耗和1.5T的比較接近。 競爭對手分析: 江淮汽車-瑞風S3 指導價:6.58-9.58萬 瑞風S3的動力沒有中華V3強,但由於採用了CVT變速箱的緣故,所以油耗比較低。自動擋車型的車主口碑油耗約為7.9L/100km。 長城汽車-哈弗H2s 指導價:8.38-10.28萬 中華V3的1.5...

自己動手寫SQL執行引擎

自己動手寫SQL執行引擎 前言 在閱讀了大量關於數據庫的資料后,筆者情不自禁產生了一個造數據庫輪子的想法。來驗證一下自己對於數據庫底層原理的掌握是否牢靠。在筆者的github中給這個database起名為Freedom。 整體結構 既然造輪子,那當然得從前端的網絡協議交互到後端的文件存儲全部給擼一遍。下面是Freedom實現的整體結構,裡面包含了實現的大致模塊: 最終存儲結構當然是使用經典的B+樹結構。當然在B+樹和文件系統block塊之間的轉換則通過Buffer(Page) Manager來進行。當然了,為了完成事務,還必須要用WAL協議,其通過Log Manager來操作。 Freedom採用的是索引組織表,通過DruidSQL Parse來將sql翻譯為對應的索引操作符進而進行對應的語義操作。 MySQL Protocol結構 client/server之間的交互採用的是MySQL協議,這樣很容易就可以和mysql client以及jdbc進行交互了。 query packet mysql通過3byte的定長包頭去進行分包,進而解決tcp流的讀取問題。再通過一個sequenceId來再應用層判斷packet是否連續。 result set packet mysql協議部分最複雜的內容是其對於result set的讀取,在NIO的方式下加重了複雜性。 Freedom通過設置一系列的讀取狀態可以比較好的在Netty框架下解決這一問題。 row packet 還有一個較簡單的是對row格式進行讀取,如上圖所示,只需要按部就班的解析即可。 由於協議解析部分較為簡單,在這裏就不再贅述。 關注筆者公眾號,獲取更多乾貨文章 SQL Parse Freedom採用成熟好用的Druid SQL Parse作為解析器。事實上,解析sql就是將用文本表示 的sql語義表示為一系列操作符(這裏限於篇幅原因,僅僅給出select中where過濾的原理)。 對where的處理 例如where後面的謂詞就可以表示為一系列的以樹狀結構組織的SQL表達式,如下圖所示: 當access層通過游標提供一系列row后,就可以通過這個樹狀表達式來過濾出符合where要求的數據。Druid採用了Parse中常用的v...

聽說這台12萬起的合資轎車代表了德系汽車精髓?

空間表現高爾夫的後座空間表現良好,座墊長度足夠,能很好地承托住大腿。不過,中央隆起很明顯,嚴重影響後座中間乘客的舒適性。油耗與保養費用多位車主反映高爾夫1。4T手動版的百公里綜合油耗為6。9L,而自動版而7。2L。 前言 說起德系的兩廂車,不得不提的就是高爾夫。雖然高爾夫現在銷量一般,但是卻蘊含了很多大眾的核心技術在裏面。下面編者我就給大家好好說這款運動型兩廂車。 一汽-大眾-高爾夫 指導價:12.19-23.99萬 外觀簡約時尚 高爾夫的車身尺寸為4255*1799*1452mm,軸距為2637mm。整個前臉也是以簡約為主,沒有太多的裝飾。車身側面也只有一條平直的腰線,尾部設計同樣是很簡單,沒太多可說的。 內飾是經典的大眾風 高爾夫的中控略微向駕駛員傾斜,整個色調以黑色和銀色為主。按鈕的布局簡潔整齊,上手難度不大。 動力組合眼花繚亂 高爾夫一共有六套動力組合,分別是1.2T+7擋雙離合、1.4T+5擋手動或7擋雙離合、1.6L+5擋手動或6擋手自一體,以及2.0T+7擋雙離合。 這次編者我就着重講一下高爾夫賣得最好的黃金動力組合——1.4TSI+7擋DSG。1.4T發動機最大輸出131馬力和225牛米,最大扭矩從1500轉爆發直到3500轉,這是低功率版本的數據。1.4T還有一個高功率版本,這裏就不展開說明。 在市區裏面開,1.4T的高爾夫動力很充沛,低速蠕動時也沒有很明顯的頓挫,深踩油門時的降擋乾脆利索,平順得不像是一台雙離合變速箱。 底盤表現已是儘力之作 高爾夫的后懸架配的是扭力梁式非獨立懸架,這個因素導致它在過一些連續顛簸路面時的貼服感一般,同時無法對路面的信息進行快速處理,濾震效果一般。在過一些連續彎路時,底盤的極限又很高,側傾抑製得很不錯。 空間表現 高爾夫的後座空間表現良好,座墊長度足夠,能很好地承托住大腿。不過,中央隆起很明顯,嚴重影響後座中間乘客的舒適性。 油耗與保養費用 多位車主反映高爾夫1.4T手動版的百公里綜合油耗為6.9L,而自動版而7.2L。1.6L手動版車型為7.1L,而自動版為8L。 按照廠家建議,1.4T手動版六萬公里的總保養費用為3503元,而自動版為3257元。 安全配置突出 在眼花繚亂的配置表中,我會建議買指導價為15.49萬的1.4T雙離合版的最低配車型。這個車型已...

月銷70000台的國產SUV 車主們到底怎麼看?!

9L/100km,個人覺得還是偏高。車主二:小林購車車型:哈弗H6 2017款 紅標 運動版 1。5T 自動兩驅豪華版裸車價格:11。68萬車主點評:哈弗H6外觀設計非常簡約時尚,讓我這個外觀控情不自禁就愛上了。其次就是配置高,與同級別車型,那可不只是多一兩個配置。 說起哈弗,噢!就是哪個H6對吧?!對對對!就是那款!這也體現哈弗已深入百姓心中。哈弗的成功,就是採用H6打開這個市場!H6擁有超大的空間、時尚外觀、擁有同級別更高配置、親民的售價,讓更多家庭用戶的選擇,這也讓它成為一直在緊湊型SUV銷量中,穩坐"冠軍寶座" 長城汽車-哈弗H6 指導價:8.88-16.28萬 車主一:談笑風生 購車車型:哈弗H6 2017款 紅標 運動版 1.5T 手動兩驅精英型 裸車價格:10.58萬 車主點評:當時就是衝著哈弗H6空間和性價比買的。開了一段時間確實空間很滿意,包括朋友坐我車,都說這車空間賊大!因為自己行使最多就是村郊路,即使過大坑窪,H6的通過性完全沒壓力,也不怕刮底盤。底盤行使質感很硬朗、懸挂的調教偏舒適,過起伏不平路面,濾震抑制不錯。唯一不滿足的,雖然是1.5T車型,帶渦輪增壓,動力輸出卻很一般,有時上一點斜的坡,都能感覺到動力衰減。 目前行使里程:哈弗H6是16年9月份提的,目前已經跑了3500公里,綜合油耗在8.9L/100km,個人覺得還是偏高。 車主二:小林 購車車型:哈弗H6 2017款 紅標 運動版 1.5T 自動兩驅豪華版 裸車價格:11.68萬 車主點評:哈弗H6外觀設計非常簡約時尚,讓我這個外觀控情不自禁就愛上了!其次就是配置高,與同級別車型,那可不只是多一兩個配置。動力表現上,只要捨得給油,動力、推背感還是有。因自己經常出差,哈弗H6高速表現也讓我相當滿意、底盤很穩重,也不會說像日系車會發飄,這也讓我在高速上,信心十足。最不滿意,右腿空間好像不是很夠,經常會頂着中控,不知道其他車友有沒這個問題呢? 目前行使里程:哈弗H6在16年9月份提,目前已經行使6580公里,綜合油耗在8.7L/100km,如果油耗再低一點那我就更滿意了! 車主三:百毒不侵 購買車型:哈弗H6 2014款 運動版 2.4L 自動精英型 裸車價格:13.58萬 車主點評:空間相當大,能滿足各種需求,2.4L...

阻塞隊列一——java中的阻塞隊列

目錄 阻塞隊列簡介:介紹阻塞隊列的特性與應用場景 java中的阻塞隊列:介紹java中實現的供開發者使用的阻塞隊列 BlockQueue 中方法:介紹阻塞隊列的 API 接口 阻塞隊列的實現原理:具體的例子說明阻塞隊列的實現原理 總結 阻塞隊列簡介 阻塞隊列(BlockingQueue)首先是一個支持先進先出的隊列,與普通的隊列完全相同; 其次是一個支持阻塞操作的隊列,即: 當隊列滿時,會阻塞執行插入操作的線程,直到隊列不滿。 當隊列為空時,會阻塞執行獲取操作的線程,直到隊列不為空。 阻塞隊列用在多線程的場景下,因此阻塞隊列使用了鎖機制來保證同步,這裏使用的可重入鎖; 而對於阻塞與喚醒機制則有與鎖綁定的 Condition 實現 應用場景:生產者消費者模式 java中的阻塞隊列 java中的阻塞隊列根據容量可以分為有界隊列和無界隊列: 有界隊列:隊列中只能存儲有限個元素,超出后存放元素線程會被阻塞或者失敗。 無界隊列:隊列中可以存儲無限個元素。 java8中提供了7種阻塞隊列阻塞隊列供開發者使用,如下錶: 類名 描述 ArrayBlockingQueue 一個由數組結構組成的有界阻塞隊列 LinkedBlockingQueue 由鏈表結構組成的有界阻塞隊列(默認大小Integer.MAX_VALUE) PriorityBlockingQueue 支持優先級排序的無界阻塞隊列 DelayQueue 使用優先級隊列實現的延遲無界阻塞隊列 SynchronousQueue 不存儲元素的阻塞隊列,即單個元素的隊列 LinkedTransferQueue 由鏈表結構組成的無界阻塞隊列 LinkedBlockingDeque 由鏈表結構組成的雙向阻塞隊列 另外還有一個在 ScheduledThreadPoolExecutor 中實現的 DelayedW...

Python面試進階問題,__init__和__new__的區別是什麼?

本文始發於個人公眾號: TechFlow ,原創不易,求個關注 今天這篇是 Python專題 的第17篇文章,我們來聊聊Python當中一個新的默認函數__new__。 上一篇當中我們講了如何使用type函數來動態創建Python當中的類,除了type可以完成這一點之外,還有另外一種用法叫做metaclass。原本這一篇應該是繼續元類的內容,講解metaclass的使用。但是metaclass當中用到了一個 新的默認函數__new__ ,關於這個函數大家可能會比較陌生,所以在我們研究metaclass之前,我們先來看看__new__這個函數的用法。 真假構造函數 如果你去面試Python工程師的崗位,面試官問你,請問Python當中的類的 構造函數 是什麼? 你不假思索,當然是__init__啦!如果你這麼回答,很有可能你就和offer無緣了。因為在Python當中__init__並不是構造函數,__new__才是。是不是有點蒙,多西得(日語:為什麼)?我們不是一直將__init__方法當做構造函數來用的嗎?怎麼又冒出來一個__new__,如果__new__才是構造函數,那麼 為什麼我們創建類的時候從來不用它呢? 別著急,我們慢慢來看。首先我們回顧一下__init__的用法,我們隨便寫一段代碼: class   Student :      def   __init__ (self, name, gender) :         self.name = name         self.gender = gender 我們一直都是這麼用的,對不對,毫無問題。但是我們換一個問題,我們在Python當中怎麼實現單例(Singleton)的設計模式呢?怎麼樣實現工廠呢? 從這個問題出發,你會發現只使用__init__函數是不可能完成的,因為__init__並不是構造函數,它只是 初始化方法 。也就是說在調用__init__之前,我們的...