程序猿都有哪些“黑話”

視頻:https://www.bilibili.com/video/av21006208/

PPT

日常中經(jīng)常聽到技術(shù)的師兄們說一些奇怪的“技術(shù)黑話”,什么“對象”什么“進程”之類,引得PM們都不解起來伞辛,交流中充滿了不解的氣息卷拘。

1.對象氢橙,類

所以今天咱們就梳理一下他們常用的“黑話” 類叫搁、對象甩鳄、抽象和實例在技術(shù)的世界里逞度,有一類編程語言叫面向?qū)ο缶幊蹋绲湫偷拿嫦驅(qū)ο笳Z言Java娩贷。說到面向?qū)ο蟮谖坏貌惶岬膸讉€概念是類、對象彬祖、抽象和實例茁瘦。

首先介紹第一個概念“抽象”。我們說某一個概念聽起來非常抽象的意思是不具體的事物储笑,對應的反義詞是具象甜熔。抽象在技術(shù)術(shù)語里的意思是提煉出一個通用模板,然后基于模板做具象化的實現(xiàn)突倍。例如腔稀,在現(xiàn)實世界中關(guān)于人的分類盆昙,會有男人、女人焊虏、老人和小孩淡喜,如果將這個具體的分類抽象出一個類別,得到的抽象結(jié)果就是人诵闭。


所以炼团,人就是一個抽象出來的分類,也就是技術(shù)術(shù)語里面的“類”疏尿。在編程語言的世界中瘟芝,通過程序語言描述現(xiàn)實世界中的事物時,使用的就是抽象的方法褥琐,將一類事物抽象成一個類锌俱,就得出了程序世界中的一個基本模型。

有了基本模型后敌呈,可以基于抽象出來的模型(類)產(chǎn)生很多具體的實例贸宏,也就是基于類實例化的具體對象。例如驱富,將“人”這個類實例化為兩個對象锚赤,分別是男人和女人,也可以實例化為其他對象褐鸥,例如小孩和老人,甚至可以實例化為具體的人赐稽,例如Maggie和Ryan叫榕。這一系列的過程如圖所示。

從上述流程中可以看出姊舵,程序猿做的工作就是根據(jù)產(chǎn)品需求將現(xiàn)實世界中的事物抽象成程序世界中的一個個類晰绎,然后根據(jù)需要實例化很多對象,不同對象間通過相互協(xié)作完成一個具體的產(chǎn)品功能括丁。

2.“寫死”是什么

例如淘寶收貨地址荞下,兩種方案,設(shè)計一個下拉選擇框用來切換不同的城市史飞,這個產(chǎn)品需求在技術(shù)層面有兩種實現(xiàn)方案尖昏,第一種是將城市數(shù)據(jù)放在服務器端,客戶端通過請求數(shù)據(jù)接口將城市數(shù)據(jù)獲取回來再顯示在下拉列表中构资。

第二種是將城市列表數(shù)據(jù)存放在客戶端抽诉,客戶端從本地讀取城市列表并展示在下拉列表中。簡單的官網(wǎng)例子第一種方式是一種相對靈活的方案吐绵,當城市數(shù)據(jù)有變化時迹淌,只需要調(diào)整服務端的數(shù)據(jù)內(nèi)容即可河绽,客戶端不用做任何修改,但需要開發(fā)一個專門的數(shù)據(jù)接口獲取這部分數(shù)據(jù)唉窃。第二種方式就是工程師所說的“寫死”耙饰,將數(shù)據(jù)集寫死在本地,這樣可以省去數(shù)據(jù)接口的開發(fā)纹份,也能快速實現(xiàn)想要的效果榔幸。

這兩種不同的實現(xiàn)方式在很多產(chǎn)品設(shè)計環(huán)節(jié)中都會體現(xiàn),例如一些客戶端的文案或者圖片會經(jīng)常變化矮嫉,這時就不太適合將需要變化的數(shù)據(jù)“寫死”在本地削咆,合理的方案是將變化的數(shù)據(jù)存儲在服務端,客戶端通過數(shù)據(jù)接口靈活地獲取這部分數(shù)據(jù)蠢笋。

當然拨齐,也不是所有的數(shù)據(jù)都不適合“寫死”在本地,例如性別數(shù)據(jù)昨寞,無非就是男和女瞻惋,不必專門為了它開發(fā)一個數(shù)據(jù)接口,我們得根據(jù)具體需求和使用場景判斷哪些數(shù)據(jù)應該寫死援岩。

3 進程與線程

當我們點擊手機屏幕上的一個App按鈕(啟動一個產(chǎn)品)時歼狼,系統(tǒng)會為這個產(chǎn)品的運行分配系統(tǒng)資源(例如CPU和存儲空間),分配好資源后享怀,產(chǎn)品會在這個資源區(qū)域運行應用程序羽峰。這里所說的運行應用程序就是進程,也可以理解為每一個正在運行的App都是一個進程添瓷。

線程是什么梅屉?要理解這個概念,須要先了解一下操作系統(tǒng)的一些相關(guān)概念鳞贷。大部分操作系統(tǒng)(如Windows坯汤、Linux)的任務調(diào)度是采用時間片輪轉(zhuǎn)的搶占式調(diào)度方式,也就是說一個任務執(zhí)行一小段時間后強制暫停去執(zhí)行下一個任務搀愧,每個任務輪流執(zhí)行惰聂。任務執(zhí)行的一小段時間叫做時間片,任務正在執(zhí)行時的狀態(tài)叫運行狀態(tài)咱筛,任務執(zhí)行一段時間后強制暫停去執(zhí)行下一個任務搓幌,被暫停的任務就處于就緒狀態(tài)等待下一個屬于它的時間片的到來。這樣每個任務都能得到執(zhí)行眷蚓,由于CPU的執(zhí)行效率非常高鼻种,時間片非常短,在各個任務之間快速地切換沙热,給人的感覺就是多個任務在“同時進行”叉钥,這也就是我們所說的并發(fā)(別覺得并發(fā)有多高深罢缸,它的實現(xiàn)很復雜,但它的概念很簡單投队,就是一句話:多個任務同時執(zhí)行)枫疆。

4.腳本

當需要對數(shù)據(jù)庫進行批量處理時,程序猿會說“跑一個腳本統(tǒng)一處理一下”當需要查詢某一數(shù)據(jù)報表時敷鸦,工程師會說“用一個腳本批量查詢”息楔。腳本也是一種被計算機執(zhí)行的程序,為什么叫腳本呢扒披?可以把腳本理解成拍戲用的劇本值依,劇本里會按照角色及對白把要拍的戲清晰地列出來,導演和演員會嚴格按照劇本表演碟案。腳本就是一種面向計算機的劇本愿险,是一個可被計算機執(zhí)行的文件,文件里是一系列計算機指令价说,這些指令會按照順序被計算機解析并執(zhí)行辆亏。

5.同步處理與異步處理

同步:發(fā)送一個請求,等待返回,然后再發(fā)送下一個請求?

異步:發(fā)送一個請求,不等待返回,隨時可以再發(fā)送下一個請求?

同步可以避免出現(xiàn)死鎖,讀臟數(shù)據(jù)的發(fā)生鳖目,一般共享某一資源的時候用扮叨,如果每個人都有修改權(quán)限,同時修改一個文件领迈,有可能使一個人讀取另一個人已經(jīng)刪除的內(nèi)容彻磁,就會出錯,同步就會按順序來修改惦费。

異步則是可以提高效率了兵迅,現(xiàn)在cpu都是雙核,四核薪贫,異步處理的話可以同時做多項工作,當然必須保證是可以并發(fā)處理的刻恭。這些都是對的瞧省。同步和異步最大的區(qū)別就在于。一個需要等待鳍贾,一個不需要等待鞍匾。

比如廣播,就是一個異步例子骑科。發(fā)起者不關(guān)心接收者的狀態(tài)橡淑。不需要等待接收者的返回信息

電話,就是一個同步例子咆爽。發(fā)起者需要等待接收者梁棠,接通電話后置森,通信才開始。需要等待接收者的返回信息


以上存在不足的地方符糊,專業(yè)技術(shù)人員輕噴~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凫海,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子男娄,更是在濱河造成了極大的恐慌行贪,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件模闲,死亡現(xiàn)場離奇詭異建瘫,居然都是意外死亡,警方通過查閱死者的電腦和手機尸折,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門啰脚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人翁授,你說我怎么就攤上這事拣播。” “怎么了收擦?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵贮配,是天一觀的道長。 經(jīng)常有香客問我塞赂,道長泪勒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任宴猾,我火速辦了婚禮圆存,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仇哆。我一直安慰自己沦辙,他們只是感情好,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布讹剔。 她就那樣靜靜地躺著油讯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪延欠。 梳的紋絲不亂的頭發(fā)上陌兑,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天,我揣著相機與錄音由捎,去河邊找鬼兔综。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的软驰。 我是一名探鬼主播涧窒,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碌宴!你這毒婦竟也來了杀狡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤贰镣,失蹤者是張志新(化名)和其女友劉穎呜象,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碑隆,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡恭陡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了上煤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片休玩。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劫狠,靈堂內(nèi)的尸體忽然破棺而出拴疤,到底是詐尸還是另有隱情,我是刑警寧澤独泞,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布呐矾,位于F島的核電站,受9級特大地震影響懦砂,放射性物質(zhì)發(fā)生泄漏荞膘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一羽资、第九天 我趴在偏房一處隱蔽的房頂上張望淘菩。 院中可真熱鬧屠升,春花似錦弥激、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至习劫,卻和暖如春袒餐,著一層夾襖步出監(jiān)牢的瞬間灸眼,已是汗流浹背焰宣。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工闸天, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留苞氮,地道東北人笼吟。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓诱告,卻偏偏與公主長得像锄禽,于是被迫代替她去往敵國和親磁滚。 傳聞我的和親對象是個殘疾皇子垂攘,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)掂名,斷路器,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,932評論 6 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法穴墅,內(nèi)部類的語法,繼承相關(guān)的語法悼泌,異常的語法松捉,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 眾所周知,在北方人眼里馆里,遠比下雪本身有趣的,是看見下雪的南方人以舒。 今年冬天極其寒冷,這一點從比往年提前了一個月穿上...
    薇布什克多利亞閱讀 303評論 0 0
  • 喬布斯,作為我們這一代最偉大的CEO之一,他的職業(yè)生涯并不是一帆風順的液斜。 從1985年被趕出蘋果到1996年回歸累贤,...
    老徐的自白書閱讀 440評論 0 0