閱讀54 返回首頁    go 技術社區[雲棲]


Java:Shall we begin?

shall_we_begin

內容來源:2017年5月21日,豆子科技首席架構師鍾聲在“餓了麼java專場”進行《Java的純真年代》演講分享。IT大咖說作為獨家視頻合作方,經主辦方和講者審閱授權發布。

_

嘉賓分享視頻地址:https://t.cn/RSXPHEE

很多人已經忘記了Java的純真

用Java去寫跨平台的基礎軟件,利用java優秀的網絡處理能力,去探尋異構係統跨平台java多線程服務程序。

Java的Socket程序也許是用得最多的一個應用方向。每天都在為java多線程的開銷而煩惱,不斷的進行性能診斷和係統的優調。

有時候為了解決java內存消耗太大的問題徹夜未眠。為了降低內存的消耗,減少與磁盤交換數據的可能性而煩惱。為了讓java程序跑得快,不斷的去嚐試簡化應用程序。

互聯網讓純真,再次回歸

快速上線

快速地將程序開發出來,並快速地進行部署上線。如今互聯網越來越快,產品的推出也越來越快,公司和公司之間拚的就是速度。

高並發

用戶量一旦增大,後台的服務器和架構要能支撐得住。

海量數據

大量數據在提供服務,要在海量數據中做數據挖掘和數據分析,為客戶提供所需的東西。

Saas

Saas做一套係統供很多企業用戶使用,用戶看起來覺得每個係統都是他的私有係統,實際上是同一套架構。

而以上這些在有些程序員眼裏,好像跟java是無關的。

那麼再看看一下這些與java有關嗎?

5000次/秒並發的服務;

1w台網絡設備監控指標采集隻需9秒就能完成;

從每天數據增量在20GB的數據庫裏拿出數據出圖表;

高並發的DNS Server;

……

這些都是用java寫的。

一則故事

曾經有一個java開發團隊項目中遇到了一個“數據導出速度慢”的問題,原因是由於其導出方式導致大數據量在網絡上傳遞,導致網絡傳遞速度慢進而影響整體導出速度慢。

然而這個團隊的主管錯誤地認為,這是由於java本身的速度導致的。於是花大力氣招聘C語言工程師來重新完成這個程序的編碼。

最終,C語言工程師開發了近兩個月,由於完全仿照原java導出程序的程序處理方式,結果依然沒有任何改進。

這個主管沒有從影響導出速度的“大數據量”方麵入手解決問題,而是想當然的認為對速度的影響主要來自於java語言本身,最終導致了程序的失敗。

鋒利的設計

作為java程序員,我們不要“青龍偃月刀”,而是需要“紅纓槍”,一槍命中。

想要“青龍偃月刀”的程序員,總是想要完美無瑕疵,就怕有人說自己不專業,程序設計得就越發複雜,濫用設計模式。被架構師“拖死”的公司比比皆是,真是哀鴻遍野。

很多老板誤認為投入足夠的資金和人力就能開發出優秀的係統,其實不然。就好比一個醜女即使全是戴滿金條,依然還是醜女。而最終唯一的結果隻是浪費了資金。

1

它的好處就是完整地實現了HTTP協議,方便控製緩存和觸發機製;對HTTP的接收和返回進行了改造,提高靈活性;省去了原來HTTP一些標準複雜的協議細節。

2

這個架構在1w台網絡設備監控指標采集隻需9秒就能完成。

3

這是一個高並發的DNS Server。

Java是純真的

讓我們變得不再純真的並不是Web開發工作本身,讓我們不再純真的是包裹在一個單純的java開發技術外的複雜的、八股的、晦澀的概念,讓我們變得越來越虛偽,越來越務虛。

我們應讓java自由、直接、透明、簡單、高效,像匕首那樣鋒利,像戰士那樣勇勐,像農夫那樣樸實。

反對繁瑣華麗的設計,反對架床迭屋的層層抽象,反對複雜的結構和不必要的靈活性。

我的分享到此結束,謝謝大家!

---------葉子分割線----------------------------

福利贈票!

IT大咖說作為第二屆APMCon中國應用性能管理大會的官方現場直播合作夥伴,特為小夥伴們爭取了少量免費VIP票福利(原價¥1388)!

獲取方式:

掃碼加這位小姐姐微信(或加微信號:ITDKS666),她會告訴你咋獲取!(備注:聽雲社區)

__20170710103228

小茉莉

_

最後更新:2017-08-13 22:50:11

  上一篇:go  協同OA——讓管理變透明
  下一篇:go  Java多線程問題總結(下)