標籤: 台北網站設計

  • 網絡相關的命令工具研究報告

    網絡相關的命令工具研究報告

    主機配置:DHCP

      DHCP(動態主機配置協議),是在一台主機啟動后,第一個運行的客戶/服務器應用程序。換言之,當一台主機啟動后,如果它認為自己當前應當連接到因特網上,但又不知道自己的IP地址時,DHCP就以引導程序的身份發揮作用。

      每個連接到TCP/IP互聯網的計算機都必須知道自己的IP地址、一個路由器的IP地址、一個名字服務器的IP地址以及自己的子網掩碼這四種信息。

     DHCP分組格式:

     

     

    一、曾經使用過的協議

      在DHCP成為正式的主機配置協議之前,還有過一些其他的協議。

    1.RARP:

      在因特網時代的初期,人們曾設計了一個稱為逆地址解析協議(Reverse Address Resolution Protocol,RARP)來向被引導的主機提供IP地址。實際上,RARP是ARP的一個版本。ARP將一個IP地址映射為一個物理地址,而RARP則將一個物理地址映射成為一個IP地址。但是RARP已經被淘汰了,原因有兩個:首先,RARP利用了數據鏈路層的廣播服務,這也就表示每個網絡上都必須存在一台RARP服務器。第二,RARP只能提供計算機的IP地址,但如今的計算機需要前面提到的所有四種信息。

    2.BOOTP:

      引導程序協議(BOOTstrap Protocol,BOOTP)是DHCP的先驅。它是一個客戶/服務器協議,被設計用來克服RARP協議存在的缺陷。但是BOOTP是一個靜態配置協議,當客戶請求自己的IP地址時,BOOTP服務器就諮詢一張表,將客戶的物理地址映射成相應的IP地址。這就意味着客戶的物理地址和IP地址之間的綁定是已經存在的。這個綁定關係是事先設定好的。

      在某些場合,我們需要的是一個動態配置協議。例如,當一台主機從一個物理網絡移動到另一個物理網絡時,它的物理地址就改變了。再比如,有時候主機需要在某一段時間內使用一個臨時的IP地址。BOOTP無法處理這種狀況,因為物理地址和IP地址之間的綁定是靜態的,是固定存放在一張表中的,除非管理員更改這張表。

      而DHCP的設計就是為了解決這些不足之處。

    3. DHCP:

      動態主機配置協議(Dynamic Host Configuration Protocol,DHCP)是一種客戶/服務器協議,設計這個協議是為了將上述四種信息傳遞給無盤計算機或者第一次啟動的計算機。DHCP是BOOTP的繼承者,並且能夠兼容BOOTP。 

    二、DHCP操作

      DHCP客戶和DHCP服務器可以在同一個網絡上,也可以位於不同的網絡。

    1.DHCP客戶和DHCP服務器在同一個網絡

      雖然這種情況不是很常見,不過管理員可以把客戶和服務器放在同一個網絡中。如圖所示:

     

    這種情況的操作如下:

    (1)DHCP服務器在UDP端口67發出被動打開命令,等待客戶請求。

    (2)被引導的客戶在UDP端口68發出主動打開命令。這個報文被封裝成UDP用戶報,其目的端口是67,源端口號是68。這個UDP用戶數據報在封裝成IP數據包。客戶使用的是全0的源地址和全1的目的地址。

    (3)服務器或者用廣播報文,或者用單播報文來響應這個用戶,它使用了UDP源端口號67和目的端口68.這個響應可以是單播的,因為服務器知道客戶的IP地址,同時也知道客戶的物理地址,也就是說它不需要使用ARP的服務進行從邏輯地址到物理地址的映射。但是某些系統不允許旁路掉ARP,結果就要使用廣播地址。

    2. DHCP客戶和DHCP服務器在不同的網絡

    如圖所示:

     
      像其他應用層的進程一樣,客戶可以在某個網絡上,而服務器可以在相隔好幾個網絡之外的另一網絡上。這就帶來了一個必須要解決的問題。DHCP請求是廣播發送的,因為客戶不知道服務器的IP地址。而廣播的IP數據報不能通過任何路由器。路由器收到這樣的分組就丟棄它。

      要解決這個問題,就需要一个中介物。某台主機(或是一台能夠配置為在應用層工作的路由器)可以用來充當中繼。在這種情況下,該主機就稱為中繼代理。中繼代理知道DHCP服務器的單播地址,並在端口67監聽廣播報文。當它收到這種類型的分組后,就把它封裝成一個單播數據報,並且把此請求發送給DHCP服務器。攜帶了單播目的地址的分組可以被任何一個路由器轉發,最終到達DHCP服務器。DHCP服務器知道這個報文來自中繼代理,因為在請求報文中有一個字段定義了中繼代理的IP地址。中繼代理在收到回答后,再把它發送給DHCP客戶。 

    三、配置

      人們設計DHCP是為了提供靜態和動態的地址分配。

    1.靜態地址分配

      對於靜態地址分配,DHCP有一個專門的數據庫,可以靜態地吧物理地址綁定到IP地址。

    2.動態地址分配

      DHCP還有第二個數據庫,包括一個可用的IP地址池。第二個數據庫使DHCP成為動態的。當DHCP客戶請求臨時的IP地址時,DHCP服務器就從可用(即為使用的)IP地址池中取出一個IP地址進行指派,這個IP地址的使用時間長短可協商。

      當DHCP客戶想DHCP服務器發送請求是,服務器首先檢查它的靜態數據庫。若靜態數據庫中存在所請求物理地址的表項,則返回給這個客戶的永久IP地址。反之,若靜態數據庫中沒有這個表項,服務器就從可用IP地址池中選擇一個IP地址,並把這個地址指派給客戶,然後再把相應的表項加入到動態數據庫中。

      如果主機要從一個網絡移動到另一個網絡,或者與一個網絡時連時斷,那麼DHCP的這種動態特性就有了用武之地。DHCP可以在有限時間內提供一個臨時的IP地址。

    從地址池指派的地址都是臨時地址。DHCP服務器向客戶授予某一段時間內對該地址池的租用權。當租用時效過期,客戶或者停止使用這個IP地址,或者續租。服務器有權力選擇同意或不同意續租。若服務器不同意,客戶就停止使用這個地址。

    3.轉換狀態

      為了提供動態的地址分配,DHCP客戶可以像狀態機那樣從一個狀態轉換到另一個狀態,狀態轉換取決於收到的報文和發送的報文。在這種情況下,報文的類型是由包含在DHCP分組中的標記為53的選項來定義的。標記為53 的選項如圖所示:

     

    DHCP的不同狀態:

    (1)INIT狀態

      當DHCP客戶首次啟動時,它處於INIT狀態(初始化狀態)。客戶使用端口67廣播DHCPDISCOVER報文(一個帶有DHCPDISCOVER選項的請求報文)。

    (2)SELECTING狀態

      在發送DHCPDISCOVER報文後,客戶就進入SELECTING(選擇)狀態。能夠提供這種類型服務的服務器要用DHCPOFFER報文進行相應。在此類報文中,服務器提供了一個IP地址。它們還要提供租用時間長度,其默認值是1小時。在發送DHCPOFFER報文的服務器,把提供的IP地址鎖定,使這個地址不會再提供給任何其他的客戶。客戶選擇所提供的地址中的一個,並向所選擇的服務器發送DHCPREQUEST報文。然後就進入REQUESTING狀態。如果客戶沒有收到DHCPOFFER報文,它還要再嘗試四次,每一次間隔2秒。如果對這些DHCPDISCOVER都沒有收到回答,客戶就睡眠5分鐘后再試。

    (3)REQUESTING狀態

      客戶保持在這個REQUESTING(請求)狀態,直至它收到來自服務器的DHCPACK報文為止,這個報文創建了客戶物理地址和它的IP地址之間的綁定。客戶收到DHCPACK報文後進入BOUND狀態。

    (4)BOUND狀態

      在這種狀態下,客戶可以使用該IP地址,直到租用時間到期。當到達租用時間的50%時,客戶就再發送一個DHCPREQUEST報文以請求更新。於是,客戶進入RENEWING。在BOUND(綁定)狀態時,客戶也可以取消租用,並進入到初始化狀態。

    (5)RENEWING狀態

      客戶保持在RENEWING(更新)狀態,直至下面兩個事件之一發生。客戶可以收到更新租用協定的DHCPACK報文。在這種情況下,客戶把計時器複位,然後回到BOUND狀態。或者,如果沒有收到DHCPACK,同時到達租用時間的87.5%時,客戶就進入REBINDING狀態。

    (6)REBINDING狀態

      客戶保持在REBINDING(重新綁定)狀態,直至下面三個事件之一發生。若客戶收到一個DHCPNACK報文或者租用時間到期,則回到初始化狀態,並嘗試得到另一個IP地址。若客戶收到DHCPACK報文,它就進入綁定狀態,並把計時器複位。

    DHCP不同狀態的轉換圖:

     

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 電動車需求高、鋰價漲,澳洲Orocobre擴產

    電動車需求高、鋰價漲,澳洲Orocobre擴產

    澳洲礦商Orocobre Limited聲稱鋰礦需求強、報價攀高,將擴產碳酸鋰,消息傳來激勵股價在8月31日飆高。

    Barron’s.com、The Australian報導,Orocobre公布的全年度財報首度轉虧為盈,淨利來到1,940萬美元、遠優於去年的淨損2,200萬美元,而用於電池等工業產品的碳酸鋰,也將擴充產能。

    Orocobre估計,2018會計年度的碳酸鋰產出,將從2017年度的11,862公噸擴充到14,000公噸,而2018年度的碳酸鋰均價,每噸則有望超過1萬美元。該公司在2017年度共計售出12,296公噸的碳酸鋰,每噸均價為9,763美元,4-6月當季的均價則是10,696美元,生產成本為3,710美元。

    執行長Richard Seville說,全球鋰礦市場的基本面依舊穩健,不但需求強勁、供給吃緊,報價也相當具有吸引力。為了滿足特定電池夥伴的需求,Orocobre會分階段擴充Olaroz鋰礦廠的產能。

    依據Orocobre計畫,位於阿根廷的Olaroz鋰礦廠,產能料將倍增。另外,該公司還會跟豐田通商(Toyota Tsusho Corporation)一同打造一座廠房,預計將年產10,000公噸的氫氧化鋰(lithium hydroxide)。

    採用鋰電池的電動車需求日增、電池榮景全無降溫跡象,隨著鋰礦供給愈來愈難尋、未來恐有短缺之虞。

    OilPrice.com 8月22日報導,特斯拉(Tesla Inc.)內華達州的Gigafactory超級電池廠,估計一年要生產50萬顆車用電池,另外還有諸多車用鋰電池廠也在加緊趕工,顯示未來鋰礦的需求將只增不減,且大部分將來自中國。全球如今有51%的鋰電池是在中國生產,僅10%產自美國。據統計,大陸業者規劃中的車用電池廠,產能預料會在2021年底前達到120億瓦小時(GW hours),是特斯拉內華達州電池廠的三倍之多。

    然而,採集鋰礦在技術上其實有相當難度,成本不但高昂,且由於採礦過程牽涉到蒸餾法,產出也頗難預估。Orocobre在阿根廷北部設立的新礦場,鋰礦產出就比預期少逾20%。

    假如鋰礦產能無法順利擴充、或是新開礦場產出不如預期,那麼電動車的榮景可能因而受阻。Electrek報導,福斯汽車(Volkswagen)研發部主管Ulrich Eichhorn 6月底就曾預估,業界需要多達40座規模跟特斯拉Gigafactory類似的超大電池廠,才能滿足電動車需求,假如新建礦場、工廠無法如期上線,那麼市場恐陷入短缺。

    (本文內容由授權使用。圖片出處:public domain CC0)

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 谷歌打擊流氓索權APP:限制第三方移動軟件訪問用戶數據

    谷歌打擊流氓索權APP:限制第三方移動軟件訪問用戶數據

      騰訊科技訊,手機軟件的“流氓索權”行為遭到了全球輿論的炮轟,媒體譴責流氓軟件大肆採集用戶的隱私信息,侵犯消費者權益。據外媒最新消息,谷歌最近宣布了一項新政策,對於違規採集手機短信和通話記錄的軟件,將做出撤架的懲罰。谷歌也將允許通話有關的軟件,繼續訪問用戶數據。

      據國外媒體報道,為了應對谷歌社交網絡 Google+ 之前爆出的隱私漏洞,該公司宣布了“閘門計劃”,準備限制第三方移動軟件訪問用戶數據,保護消費者隱私權已。

      谷歌規定,在安卓操作系統中,只有特定的客戶端軟件才能夠訪問用戶的短信和通話記錄。據報告,谷歌日前正式對外宣布,該公司將很快開始刪除發現違反規定的 Play 軟件商店中的應用程序。

      在很大程度上,谷歌希望將安卓手機上的短信記錄和通話歷史訪問權限限定於特定的安卓軟件,其中包括短信工具和撥號軟件。谷歌準備限制其他和通信功能無關的應用軟件採集用戶的通信歷史。

      谷歌公司表示:“我們的新政策旨在確保請求這些權限的應用程序對敏感數據進行全面和持續的訪問,以完成應用程序的主要使用功能,並確保用戶理解為什麼應用程序需要這些數據才能運行。”

      自去年 10 月以來,谷歌一直通過电子郵件與安卓應用軟件開發者聯繫,給他們 90 天的時間讓他們的應用程序符合最新規定的要求,或者請求谷歌破例待遇。谷歌規定允許開發人員在 3 月 9 日之前進行軟件更新,調整採集用戶數據的權限。

      該公司日前分享了在法規遵循方面的一些進展,包括最近幾個月如何根據開發人員的反饋擴展批準的應用軟件清單。“數以萬計的開發人員”要麼更新了應用程序以遵循新的政策,要麼請求擴展。谷歌還指出,它自己的應用程序也遵循同樣的標準。據悉,對破例情況進行審查的過程如下:

      ——普通用戶可能會理解為什麼這類應用程序需要完全訪問數據。

      ——該功能的用戶優勢。

      ——與應用程序的核心功能相關的權限的重要性。

      ——使用此用例的所有應用程序都存在訪問此敏感數據的風險。

      ——啟用該功能的備選方案的可用性。

      雖然某些使用功能不再被允許,但谷歌公司指出,該公司審核的許多安卓應用軟件,可以通過一個範圍更窄的軟件開發接口(API)來實現軟件的某些功能,而不是要求獲得訪問用戶隱私的權限。

      谷歌舉例說,使用短信功能進行用戶身份認證的開發人員可以選擇使用 SMS Shareever API,而希望使用短信功能共享內容的應用程序可以預先填充一條消息,並觸發默認的 SMS 應用程序加以显示。

      谷歌也表示,與此同時,未請求功能擴展的安卓應用程序將在“未來幾周內”從谷歌 Play 軟件商店中刪除。

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

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

    網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

    ※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

  • 再擴大充電網路,特斯拉宣布將開始在市區設置充電站

    再擴大充電網路,特斯拉宣布將開始在市區設置充電站

     

    除了擴建超級充電站、推出家用充電器安裝選擇,特斯拉(Tesla)近日又宣布將在美國一些大型城市內設置市區充電站,來提供給駕駛人更方便的充電選擇。

    根據特斯拉透露,市區內的小型充電站將會先在芝加哥、波士頓推出,市區充電站僅能夠提供約72kW 的電力,大約是以往超級充電站120kW 功率的一半,這意味著充電時間會稍微變長,大約會需要45-50 分鐘來為汽車充電。

    但在市區充電站中,電動車將不會受到超級充電站內那種「充電分流」的影響,即使另一輛車使用相鄰的充電器,雙方的充電功率也不會因為分流而降低,讓駕駛在高密度人口的城市內也能夠享受快速、實惠的充電。

     

    Major increases in the Supercharger and Tesla urban charger network happening over the next several months

    — Elon Musk (@elonmusk)

     

    除此之外,為了讓駕駛人在汽車充電時不會無聊,特斯拉計畫將這些充電站設置在超級市場、購物中心和市中心的景點附近,讓駕駛能夠利用時間去採買或逛街。市區充電站的收費也將和超級充電站一致,價格遠比汽油的花費便宜的多。

    特斯拉希望透過這些市區充電站的設置,能在家庭充電器或目的地級充電站之外,提供給駕駛一個新的選擇,並慢慢達成特斯拉遠大計劃的一部分——建立一個完整的充電網路,讓特斯拉駕駛能夠開車到達世界各地。

    「我們會持續擴大充電網路,讓特斯拉駕駛無論身在何處,都能隨時找到可靠的方法取得電力。」

    (合作媒體:。圖片出處:)

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 特斯拉「電池交換技術」新專利曝光,為將推出的電動連結車鋪路?

    特斯拉「電池交換技術」新專利曝光,為將推出的電動連結車鋪路?

     

    最近,汽車廠商特斯拉(Tesla)於4 月底新申請的「電池交換系統與技術」專利在外媒報導中爭相曝光,引起不少議論。如果你在趕路中,但汽車電力已經見底,你可以選擇到電池交換站,讓技術人員在15 分鐘內幫你更換好全車電池組,取代前往超級充電站也需等待至少半小時的充電時間。不過這項技術對於充電站點挺充足的美國來說,客戶們似乎不太買單?也許真的有時間壓力的商業卡車會更為青睞。

    其實,特斯拉在2013 年就曾現場展示Model S 車款的快速電池互換技術,只要90 秒就能換上充滿電的電池重新上路,執行長Elon Musk 事後謙稱這只是處於測試階段,無法和主流充電市場抗衡,但從特斯拉到了今年還在申請電池交換的新專利就知道,他們顯然一直沒有放棄直接更換電池這條路。

    在4 月底提交的這份新專利中,特斯拉描述了一種類似於「汽車升降架」的概念,利用液壓升降機將車子托高之後,由技術人員從車底下「手動」幫車輛進行全車電池組更換,取代了之前的「自動」電池交換設計理念。

    (source:)

    外媒《Clean Technica》將這項技術描述為「快速交換電能儲存系統(quick-swap Electric Energy Storage System ,縮寫EESS)」,專利明確提到Model X 和Model S 的電池組都可以進行更換,但沒有提及Model 3,外界猜測或許還是可以和系統相容。而目前看來,電池交換系統可以考慮設置在遠途道路上(如兩個城市之間的高速公路),確保車輛一路行駛過來都不會有斷電風險。

    不過,由於充電站推行在美國非常成功,更習慣進充電站邊「加油」邊休息聊天的特斯拉客戶們,對於電池更換技術並沒有表現出太熱衷的態度,Elon Musk 之前在提到電池互換策略時也曾表示,如果真的要落實這項技術,最可能推及的是商業車,這讓外界專家紛紛預測它很可能支持特斯拉即將在10 月26 日推出的電動聯結車(semi-truck),不過這一點尚未經官方確認。

    (合作媒體:。圖片出處:)  

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 中國推「雙積分」發展新能源車,明年4月起實施

    中國推「雙積分」發展新能源車,明年4月起實施

    新華社報導,中國工信部等五部委於9月28日聯合發布《乘用車企業平均燃料消耗量與新能源汽車積分並行管理辦法》(簡稱:「雙積分」管理辦法),擬從兩個方面進行積分核算管理,並納入準入條件;積分為負且未抵償歸零的企業,將調整生產或進口計畫。該辦法自2018年4月1日起實施,中國境內乘用車生產企業、進口乘用車供應企業一視同仁;而有關先前市場熱議的禁售燃油車時間表一事則未提及。

    截至2016年底,中國汽車保有量達到1.94億輛,車用汽柴油占全國汽柴油消費70%以上。中國工信部表示,為緩解能源與環境壓力,促進節能與新能源汽車產業發展的要求,辦法中建立積分核算制度和積分管理平台,明確積分核算方法,有條件地放寬小規模企業的燃料消耗量達標要求;對傳統能源乘用車年度生產量或進口量不滿3萬輛的乘用車企業,則不設定新能源汽車積分比例要求。

    2019年度、2020年度,新能源汽車積分比例要求分別為10%、12%;2021年度及以後年度的新能源汽車積分比例要求,由中國工信部另行公佈。

    另外,對積分計算和轉讓問題,辦法中提出,建立積分交易機制,由企業自主確定負積分抵償方式;企業平均燃料消耗量積分中,正積分可按照80%或者90%的比例結轉後續年度使用,也可在關聯企業間轉讓;新能源汽車積分中,正積分可自由交易,但不得結轉。

    (本文內容由授權使用。圖片出處:public domain CC0)

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 印度政府宣布向Tata Motors採購1萬輛電動車

    印度政府宣布向Tata Motors採購1萬輛電動車

     

    Thomson Reuters報導,印度政府9月29日宣布向Tata Motors Ltd採購1萬輛電動車、未來3到4年將用來分批汰換原有的公務車。Tata Motors將自11月起分兩階段供應電動車。印度政府約有50萬輛公務車。

    英國最大汽車製造商Jaguar Land Rover(Tata Motors子公司)9月7日宣布,2020年起旗下所有新車都將具備電動或油電混合驅動選項。英國跟隨法國以及馬德里、墨西哥城和雅典等城市的抗空汙腳步,7月宣布將自2040年起禁止販售汽油和柴油新車。

    livemint.com 9月30日報導,Tata第一批電動車將在今年11月交送給印度政府旗下合資企業「能源效率服務有限公司(Energy Efficiency Services Limited;EESL)」。

    (本文內容由授權使用。圖片出處:public domain CC0)

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 不看好歐洲純電動車市場,BMW 高層:監管機構想要,但沒有顧客真的需要

    不看好歐洲純電動車市場,BMW 高層:監管機構想要,但沒有顧客真的需要

    電動車已成為多數車商的發展趨勢,然而近日在慕尼黑舉行的 NextGen 活動期間,BMW 執行董事 Klaus Fröhlich 卻語出驚人的表示,他認為電動車轉型被過度吹捧,實際上消費者對這些車輛根本沒有需求。

    考量到 BMW 日前才宣布將加速純電動車發展計畫,Fröhlich 的發言看似大膽,但其實並非沒有道理。據了解,這項發言主要是針對遊說團體 Transport and Environment 日前公開譴責歐洲車商的回應。

    該篇報告 T&E 引述 EEA 的最新排氣數據,指出歐洲在電動車銷售明顯落後中美兩國,主要原因是市場純電動車的選擇和可用性都受侷限,而 T&E 認為,這是因為歐洲車商故意推遲純電動車的銷售計畫,好最大程度提高燃油車的利潤,「在環境方面,車商只會做法律規定他們要做的事情」。

    對這項指控,Fröhlich 表示,他認為 T&E 忽略了最重要的問題:那就是歐洲客戶實際上並不想買純電動車。

    Fröhlich 解釋,與美國人為不同目的駕駛不同車輛的習慣不同,歐洲人通常是「單車家庭」,車庫中只會有一輛車使用,因此他們並不願完全依賴純電動車,不應該拿美國的市場情況來比較。

    除此之外,還有充電基礎設施的普及問題,Fröhlich 認為,柴油引擎至少還有 20 年、汽油引擎至少還有 30 年,即使是俄羅斯、中東、中國中西部地區這些市場,在缺乏基礎建設下,燃油引擎都至少還有 10~15 年時間。

    「純電動車只適用中國、美國加州市場,至於其他地方,有更大電池的混合式動力車應該是更好的選擇。」

    除了基礎設施普及,Fröhlich 也指出,在電池原始材料,純電動車的成本要遠高於燃油或混合動力車,隨著未來市場對電池原料的需求增加,一旦供應鏈無法支持,那麼價格可能只會有增無減。

    Fröhlich 表示,如果政府能提供許多協助,BMW 可生產足以淹沒歐洲的百萬台純電動車,但在他看來,歐洲人並不想買這些東西,「監管機構想要純電動車,但沒有顧客真的需要。」

    (合作媒體:。首圖來源: CC BY 2.0)

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • Java虛擬機詳解(十)——類加載過程

    Java虛擬機詳解(十)——類加載過程

      在上一篇文章中,我們詳細的介紹了Java,那麼這些Class文件是如何被加載到內存,由虛擬機來直接使用的呢?這就是本篇博客將要介紹的——類加載過程。

    1、類的生命周期

      類從被加載到虛擬機內存開始,到卸載出內存為止,其聲明周期流程如下:

      

      上圖中紅色的5個部分(加載、驗證、準備、初始化、卸載)順序是確定的,也就是說,類的加載過程必須按照這種順序按部就班的開始。這裏的“開始”不是按部就班的“進行”或者“完成”,因為這些階段通常是互相交叉混合的進行的,通常會在一個階段執行過程中調用另一個階段。

    2、加載

      “加載”階段是“類加載”生命周期的第一個階段。在加載階段,虛擬機要完成下面三件事:

      ①、通過一個類的全限定名來獲取定義此類的二進制字節流。

      ②、將這個字節流所代表的靜態存儲結構轉化為方法區的運行時數據結構。

      ③、在Java堆中生成一個代表這個類的java.lang.Class對象,作為方法區這些數據的訪問入口。

      PS:類的全限定名可以理解為這個類存放的絕對路徑。方法區是JDK1.7以前定義的運行時數據區,而在JDK1.8以後改為元數據區(Metaspace),主要用於存放被Java虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。詳情可以參考這邊該系列的第二篇文章——。

      另外,我們看第一點——通過類的權限定名來獲取定義此類的二進制流,這裏並沒有明確指明要從哪裡獲取以及怎樣獲取,也就是說並沒有明確規定一定要我們從一個 Class 文件中獲取。基於此,在Java的發展過程中,充滿創造力的開發人員在這個舞台上玩出了各種花樣:

      1、從 ZIP 包中讀取。這稱為後面的 JAR、EAR、WAR 格式的基礎。

      2、從網絡中獲取。比較典型的應用就是 Applet。

      3、運行時計算生成。這就是動態代理技術。

      4、由其它文件生成。比如 JSP 應用。

      5、從數據庫中讀取。

      加載階段完成后,虛擬機外部的二進制字節流就按照虛擬機所需的格式存儲在方法區中,然後在Java堆中實例化一個 java.lang.Class 類的對象,這個對象將作為程序訪問方法區中這些類型數據的外部接口。

      注意,加載階段與連接階段的部分內容(如一部分字節碼文件的格式校驗)是交叉進行的,加載階段尚未完成,連接階段可能已經開始了。

    3、驗證

      驗證是連接階段的第一步,作用是為了確保 Class 文件的字節流中包含的信息符合當前虛擬機的要求,並且不會危害虛擬機自身的安全。

      我們說Java語言本身是相對安全,因為編譯器的存在,純粹的Java代碼要訪問數組邊界外的數據、跳轉到不存在的代碼行之類的,是要被編譯器拒絕的。但是前面我們也說過,Class 文件不一定非要從Java源碼編譯過來,可以使用任何途徑,包括你很牛逼,直接用十六進制編輯器來編寫 Class 文件。

      所以,如果虛擬機不檢查輸入的字節流,將會載入有害的字節流而導致系統崩潰。但是虛擬機規範對於檢查哪些方面,何時檢查,怎麼檢查都沒有明確的規定,不同的虛擬機實現方式可能都會有所不同,但是大致都會完成下面四個方面的檢查。

    ①、文件格式驗證

      校驗字節流是否符合Class文件格式的規範,並且能夠被當前版本的虛擬機處理。

      一、是否以魔數 0xCAFEBABE 開頭。

      二、主、次版本號是否是當前虛擬機處理範圍之內。

      三、常量池的常量中是否有不被支持的常量類型(檢查常量tag標誌)

      四、指向常量的各種索引值中是否有指向不存在的常量或不符合類型的常量。

      五、CONSTANT_Utf8_info 型的常量中是否有不符合 UTF8 編碼的數據。

      六、Class 文件中各個部分及文件本身是否有被刪除的或附加的其他信息。

      以上是一部分校驗內容,當然遠不止這些。經過這些校驗后,字節流才會進入內存的方法區中存儲,接下來後面的三個階段校驗都是基於方法區的存儲結構進行的。

    ②、元數據驗證

      第二個階段主要是對字節碼描述的信息進行語義分析,以保證其描述的信息符合Java語言規範要求。

      一、這個類是否有父類(除了java.lang.Object 類之外,所有的類都應當有父類)。

      二、這個類的父類是否繼承了不允許被繼承的類(被final修飾的類)。

      三、如果這個類不是抽象類,是否實現了其父類或接口之中要求實現的所有普通方法。

      四、類中的字段、方法是否與父類產生了矛盾(例如覆蓋了父類的final字段、或者出現不符合規則的重載)

    ③、字節碼驗證

      第三個階段字節碼驗證是整個驗證階段中最複雜的,主要是進行數據流和控制流分析。該階段將對類的方法進行分析,保證被校驗的方法在運行時不會做出危害虛擬機安全的行為。

      一、保證任意時刻操作數棧中的數據類型與指令代碼序列都能配合工作。例如不會出現在操作數棧中放置了一個 int 類型的數據,使用時卻按照 long 類型來加載到本地變量表中。

      二、保證跳轉指令不會跳轉到方法體以外的字節碼指令中。

      三、保證方法體中的類型轉換是有效的。比如把一個子類對象賦值給父類數據類型,這是安全的。但是把父類對象賦值給子類數據類型,甚至賦值給完全不相干的類型,這就是不合法的。

    ④、符號引用驗證

      符號引用驗證主要是對類自身以外(常量池中的各種符號引用)的信息進行匹配性的校驗,通常需要校驗如下內容:

      一、符號引用中通過字符串描述的全限定名是否能夠找到相應的類。

      二、在指定類中是否存在符合方法的字段描述符及簡單名稱所描述的方法和字段。

      三、符號引用中的類、字段和方法的訪問性(private、protected、public、default)是否可以被當前類訪問。

    4、準備

      準備階段是正式為類變量分配內存並設置類變量初始值的階段,這些內存是在方法區中進行分配。

      注意:

      一、上面說的是類變量,也就是被 static 修飾的變量,不包括實例變量。實例變量會在對象實例化時隨着對象一起分配在堆中。

      二、初始值,指的是一些數據類型的默認值。基本的數據類型初始值如下(引用類型的初始值為null):

      

     

       比如,定義 public static int value = 123 。那麼在準備階段過後,value 的值是 0 而不是 123,把 value 賦值為123 是在程序被編譯后,存放在類的構造器方法之中,是在初始化階段才會被執行。但是有一種特殊情況,通過final 修飾的屬性,比如 定義 public final static int value = 123,那麼在準備階段過後,value 就被賦值為123了。

    5、解析

      解析階段是虛擬機將常量池中的符號引用替換為直接引用的過程。

      符號引用(Symbolic References):符號引用以一組符號來描述所引用的目標,符號可以是任何形式的字面量,只要使用時能無歧義的定位到目標即可。符號引用與虛擬機實現的內存布局無關,引用的目標不一定已經加載到內存中。

      直接引用(Direct References):直接引用可以是直接指向目標的指針、相對偏移量或是一個能間接定位到目標的句柄。直接引用是與虛擬機實現內存布局相關的,同一個符號引用在不同虛擬機實例上翻譯出來的直接引用一般不會相同。如果有了直接引用,那麼引用的目標必定已經在內存中存在。

      解析動作主要針對類或接口、字段、類方法、接口方法四類符號引用,分別對應於常量池的 CONSTANT_Class_info、CONSTANT_Fieldref_info、CONSTANT_Methodref_info、CONSTANTS_InterfaceMethodref_info四種類型常量。

    6、初始化

       初始化階段是類加載階段的最後一步,前面過程中,除第一個加載階段可以通過用戶自定義類加載器參与之外,其餘過程都是完全由虛擬機主導和控制。而到了初始化階段,則開始真正執行類中定義的Java程序代碼(或者說是字節碼)。

      在前面介紹的準備階段中,類變量已經被賦值過初始值了,而初始化階段,則根據程序員的編碼去初始化變量和資源。

      換句話來說,初始化階段是執行類構造器<clinit>() 方法的過程

      ①、<clinit>() 方法 是由編譯器自動收集類中的所有類變量的賦值動作和靜態語句塊(static{})中的語句合併產生的,編譯器收集的順序是由語句在源文件中出現的順序所決定的,靜態語句塊中只能訪問到定義在靜態語句塊之前的變量,定義在它之後的變量,在前面的靜態語句塊中可以賦值,但是不能訪問。

      比如如下代碼會報錯:

      

     

       但是你把第 14 行代碼放到 static 靜態代碼塊的上面就不會報錯了。或者不改變代碼順序,將第 11 行代碼移除,也不會報錯。

      ②、<clinit>() 方法與類的構造函數(或者說是實例構造器<init>()方法)不同,它不需要显示的調用父類構造器,虛擬機會保證在子類的<init>()方法執行之前,父類的<init>()方法已經執行完畢。因此虛擬機中第一個被執行的<init>()方法的類肯定是 java.lang.Object。

      ③、由於父類的<clinit>() 方法先執行,所以父類中定義的靜態語句塊要優先於子類的變量賦值操作。

      ④、<clinit>() 方法對於接口來說並不是必須的,如果一個類中沒有靜態語句塊,也沒有對變量的賦值操作,那麼編譯器可以不為這個類生成<clinit>() 方法。

      ⑤、接口中不能使用靜態語句塊,但仍然有變量初始化的賦值操作,因此接口與類一樣都會生成<clinit>() 方法。但接口與類不同的是,執行接口中的<clinit>() 方法不需要先執行父接口的<clinit>() 方法。只有當父接口中定義的變量被使用時,父接口才會被初始化。

      ⑥、接口的實現類在初始化時也一樣不會執行接口的<clinit>() 方法。

      ⑦、虛擬機會保證一個類的<clinit>() 方法在多線程環境中被正確的加鎖和同步。如果多個線程同時去初始化一個類,那麼只會有一個線程去執行這個類的<clinit>() 方法,其他的線程都需要阻塞等待,直到活動線程執行<clinit>() 方法完畢。如果在一個類的<clinit>() 方法中有很耗時的操作,那麼可能造成多個進程的阻塞。

      比如對於如下代碼:

    package com.yb.carton.controller;
    
    /**
     * Create by YSOcean
     */
    public class ClassLoadInitTest {
    
    
        static class Hello{
            static {
                if(true){
                    System.out.println(Thread.currentThread().getName() + "init");
                    while(true){}
                }
            }
        }
    
        public static void main(String[] args) {
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+"start");
                Hello h1 = new Hello();
                System.out.println(Thread.currentThread().getName()+"run over");
            }).start();
    
    
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+"start");
                Hello h2 = new Hello();
                System.out.println(Thread.currentThread().getName()+"run over");
            }).start();
        }
    
    }

    View Code

      運行結果如下:

      

     

       線程1搶到了執行<clinit>() 方法,但是該方法是一個死循環,線程2將一直阻塞等待。

      知道了類的初始化過程,那麼類的初始化何時被觸發呢?JVM大概規定了如下幾種情況:

      ①、當虛擬機啟動時,初始化用戶指定的類。

      ②、當遇到用以新建目標類實例的 new 指令時,初始化 new 指定的目標類。

      ③、當遇到調用靜態方法的指令時,初始化該靜態方法所在的類。

      ④、當遇到訪問靜態字段的指令時,初始化該靜態字段所在的類。

      ⑤、子類的初始化會觸發父類的初始化。

      ⑥、如果一個接口定義了 default 方法,那麼直接實現或間接實現該接口的類的初始化,會觸發該接口的初始化。

      ⑦、使用反射 API 對某個類進行反射調用時,會初始化這個類。

      ⑧、當初次調用 MethodHandle 實例時,初始化該 MethodHandle 指向的方法所在的類。

     

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

  • 搶攻 EV 需求,三菱化學傳倍增美國鋰電池關鍵材料產能

    搶攻 EV 需求,三菱化學傳倍增美國鋰電池關鍵材料產能

    日刊工業新聞 3 日報導,為了搶攻電動車(EV)需求,三菱化學(Mitsubishi Chemical)將擴增鋰離子電池關鍵材料「電解液」產能,計畫於 2019 年度內(2020 年 3 月底前)將美國工廠(位於田納西州曼非斯)電解液年產能提高至 2 萬噸、將達現行的 2 倍水準。

    三菱化學計畫於 2020 年度結束前(2021 年 3 月底前)將電解液全球年產能提高至 8.5 萬噸、將較 2017 年度大增 95%,且計畫將另一項鋰電池關鍵材料「負極材」全球年產能提高至 2.9 萬噸(將較 2017 年度增加 61%),目標在 2020 年度將電池材料等新能源部門營收提高至 1,000 億日圓、2025 年度進一步倍增至 2,000 億日圓的規模。

    三菱化學 2018 年 12 月 26 日宣布,日本國內外電動車、插電式油電混合車(PHV)、油電混合車(HV)市場呈現急速擴大,因此將擴增日本「電解液」產能,計畫將四日市事業所的電解液年產能自現行的 1.1 萬噸大幅擴產約 5 成至 1.6 萬噸。

    日韓企業紛紛擴增鋰離子電池關鍵材料產能

    旭化成(Asahi Kasei)3 月 14 日宣布,因鋰離子電池以電動車等車用需求為中心呈現急速增長,故決議投資 300 億日圓對位於日本滋賀縣守山市的守山製造所、以及位於北卡羅萊納州的美國工廠進行增產投資,增產鋰離子電池關鍵材料「分隔膜」,上述增產工程預計於 2021 年度上半年開始商轉,預估 2021 年度旭化成分隔膜全球年產能將擴增至約 15.5 億平方公尺、將較 2018 年度末提高 1 倍。

    住友化學(Sumitomo Chemical)日前也傳出將階段性提高南韓工廠產能,目標在 2021 年度將分隔膜總年產能(合併日本工廠產能計算)提高至 6 億平方公尺、將達現行的近 2 倍水準。

    全球第 2 大鋰離子電池關鍵材料「分隔膜」廠商南韓 SK Innovation 5 月 27 日表示,計畫在 2025 年結束前將分隔膜產能提高至現行的 5 倍,SK Innovation 社長金俊 27 日在首爾舉行的記者會上表示,「目標藉由大規模增產、搶當全球龍頭」。在全球分隔膜市場上,日本旭化成市佔約 2 成、位居首位,SK Innovation 市佔率超過 1 成居次。

    日本民間調查機構矢野經濟研究所公布調查報告指出,因中國自 2019 年起開始實施新能源車規範,加上 2019-2020 年期間日歐車廠將進行車輛電動化,提振車用鋰離子電池材料需求今後將持續擴大,預估 2020 年全球 4 大關鍵材料(正極材、負極材、電解液和分隔膜)市場規模(廠商出貨金額)將擴增至 281.46 億美元、將較 2017 年暴增 9 成(增加 91.3%)。

    (本文內容由 授權使用。首圖來源:)

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

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

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選