chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

一名.net程序員的Java學習之路

工程師人生 ? 來源:工程師吳畏 ? 2019-06-10 17:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大學畢業(yè)后筆者進入一家外企,做企業(yè)CRM系統(tǒng)開發(fā),那時候開發(fā)效率最高的高級程序語言,毫無疑問是C#。恰逢公司也在擴張,招聘了不少.net程序員,筆者作為應屆生,也樂呵呵的加入到.net程序員行列中。

C#.net非常容易上手,之前在大學里,做過winform和webform開發(fā),也曾經(jīng)在老師那里承接過小項目,賺點外快。于是在工作崗位上駕輕就熟,很容易就上手了企業(yè)開發(fā)框架,僅一年多,筆者就成為公司的開(jia)發(fā)(ban)骨(feng)干(xian)。

C#.net的網(wǎng)評比Java要差,筆者曾經(jīng)在知乎上看到一個國外華裔程序員的文章,內(nèi)容主要是國外的悠閑不加班的生活,文末一句:“忘了說 我是做.net的”引發(fā)了討論的高潮。知乎程序員中,寫Java、python、go、JavaScript幾乎成了政治正確,作為.net程序員的筆者很少在相關討論中活躍,但對java的印象已經(jīng)有了改變。那時筆者所在的外企仍在大規(guī)模使用C#.net,筆者也就拒絕去接受網(wǎng)上的喧鬧的聲音,專心寫好代碼,學習設計模式和前端技術等等。

恰逢互聯(lián)網(wǎng)行業(yè)發(fā)展勢頭正勁,筆者自然順勢而為,加入了一家規(guī)模稍大的互聯(lián)網(wǎng)公司,當然還是寫C#。由于之前在外企任勞任怨,什么活都愿意攬過來干,積累到不少很有用的研發(fā)知識和經(jīng)驗,于是在跳槽過程中順風順水,基本人家問什么,我都能答出來,于是相對輕松地加入了新公司,開啟了互聯(lián)網(wǎng)研發(fā)之路。正是親眼鑒證了互聯(lián)網(wǎng)研發(fā)模式,才讓筆者確定了轉型Java的決定。

新公司的框架很老舊,那時還在用.net framework2.0,業(yè)務代碼非常復雜龐大,某個十年業(yè)務的項目里的一個方法,居然有一千多行,單是閱讀代碼,就讓筆者心累,更心累的是,這一千行代碼的方法名,居然被叫作“外觀模式”(facade)……很難想象公司最核心的業(yè)務,跑在這么臃腫煩復的代碼里。性能和效率都被看重的互聯(lián)網(wǎng)研發(fā)模式,終于開始和C#.net產(chǎn)生了矛盾:.net framework和iis不開源。系統(tǒng)在運行過程中遇到了如下幾個問題:

1、接口服務項目的訪問效率遇到瓶頸,基本只能上負載均衡加機器。

2、某些大項目要數(shù)十臺機器去承載日常訪問,運維難度加大(后續(xù)上了持續(xù)集成和平滑發(fā)布,運維方便了很多)。

3、較少數(shù)情況,系統(tǒng)會出現(xiàn)一些疑難雜癥,當產(chǎn)生問題的代碼在閉源工具包里,調(diào)試人員幾乎束手無策。(反編譯的代碼真難看囧……)

4、不斷增加機器,成本增加,這可不只是機器成本,人家不開源,收費也不便宜……

5、可定制化較差。某些極端場景下,我們希望程序能夠更大程度的消耗服務器硬件資源,而服務器程序都是別人的,人家為了安全都設定好“最佳閾值”了,很難更進一步壓榨服務器資源。

6、缺乏開源社區(qū)支撐、大數(shù)據(jù)相關研發(fā)乏力……

7、國內(nèi)部分互聯(lián)網(wǎng)公司提供的開放平臺工具,居然不提供C#的SDK……(根據(jù)http請求自己寫SDK)

諸如此類,不勝枚舉。

轉Java吧。

技術轉型的陣痛在所難免。公司內(nèi)的接口研發(fā)和后臺管理系統(tǒng)研發(fā)是分開由不同人員負責,能夠同時開發(fā)接口和后臺系統(tǒng)的人并不多。筆者技術體系相對完善,在團隊中獲得不少尊重。也曾親自帶團隊做研發(fā),寫完接口又帶兄弟研究ckeditor源碼并做定制化修改,忙的不亦樂乎。然而轉Java成了筆者當時的心病:本職工作做得很好,團隊不會允許貿(mào)然改用Java技術棧這種冒險行為。筆者已經(jīng)私下學習了許久,卻不能直接上項目實際操練,非??上?。

精誠所至金石為開,筆者終于等來了一個機會:成為公司新項目的主程序員,負責整個項目的后端架構、設計和研發(fā)。新項目人員不多,但都是各類技術中的優(yōu)秀人才,包含ios、Android和H5研發(fā)人員,筆者為他們提供接口,并開發(fā)后臺管理系統(tǒng)提供給產(chǎn)品和運營同事。

獨立負責設計和研發(fā),工作量雖大,自由度卻大了不少,于是筆者決定用Java來完成整個開發(fā)任務。項目leader對筆者的技術功底很是信任,不過仍希望團隊用C#.net追求穩(wěn)健,但看在筆者執(zhí)著堅持,也就同意了。為了降低技術轉型對新項目帶來的風險和進度影響,筆者還是做了一定妥協(xié):用Java研發(fā)接口服務,后臺管理系統(tǒng)仍用C#.net。

接口研發(fā)期間筆者著實吃了不少苦頭,項目框架搭建問題層出不窮,spring的運用不純熟,導致經(jīng)常在框架層面報錯。新項目的座位與公司Java開發(fā)團隊座位不在同一樓層,筆者幾乎每天都要爬幾次樓梯去Java研發(fā)團隊取經(jīng)。好幾次遇到問題解決不了,都想放棄然后用回C#.net。項目leader多次看到此情景曾多次施壓,筆者跟項目經(jīng)理坦(zhuang)言(bi):“如果Java搞不定,我會在兩天內(nèi)用C#.net把活干完,不拖項目進度?!笨恐@份堅持和韌勁,還有多次對Java研發(fā)團隊的叨擾,項目框架終于搭建完成,筆者也借著多次的取經(jīng),弄清楚框架的原理,完成了對spring的實踐。擁有依賴倒置、控制反轉的編程思想和設計模式的運用經(jīng)驗,理解Java框架的設計思路是很簡單的,在框架搭建結束后,業(yè)務代碼的輸出幾乎是行云流水,在項目完成之際,筆者都忘記自己曾是個.net程序員。項目最終順利上線,并且僅用兩臺機器就抗住了較高的并發(fā),筆者對Java有了更多的信任和喜愛。

有.net的編程基礎,學習Java會相對容易,但必須逃離幾個陷進:

1、對基礎知識務必要重視:C#是一門非常出色的語言,它提供的語法糖讓復雜的業(yè)務表達起來也十分優(yōu)雅,搭配伶俐的lambda表達式和linq,數(shù)據(jù)結構的基本原理在大部分場景下都被弱化,而數(shù)據(jù)結構和算法正是編程的精髓。

2、對原理的渴望和求知欲:用C#編程,無法查看大部分程序集內(nèi)的方法,只能自己上論壇找或反編譯,求知欲可能會逐漸弱化。而寫Java后,經(jīng)常會自己ctrl+鼠標進入方法查看源碼。這一點Java真是非常性感。

3、懶人思維不可取:C#.net對于鏈表數(shù)組等數(shù)據(jù)結構的排序和查詢都做了高度封裝,幾個表達式就能得到想要的結果,而Java的表達式則沒這么伶俐。在Java世界里,自己弄明白原理,自己寫是更高效、更對得起自己的方案。

使用Java完成商用項目的開發(fā),只是技術轉型的開始,只能算踏進門,算不得轉型成功。筆者仍花了很多時間學習Java的數(shù)據(jù)結構;學習Apache的公共工具包,偶爾點進去看看實現(xiàn)源碼;繼續(xù)學習設計模式及其應用。在一些評估用C#研發(fā)更容易的項目,筆者仍然堅持用Java去完成。為了能有更多Java項目練手,筆者申請進入了搜索引擎研發(fā)部門,通過了Java團隊架構師的技術面試,加入了渴望已久的團隊,最終能專職寫Java做搜索引擎服務。當然,離開了當初的部門,也就拋棄了在老團隊中的地位和榮譽,但筆者覺得很值。

在多年開發(fā)經(jīng)歷中,筆者確實感悟 語言是互通的,萬變不離其宗。學習新語言只要下決心并付出努力,基本都能辦到。然而后續(xù)的挑戰(zhàn)則是更大規(guī)模的項目的設計思路,設計模式的運用,架構設計策略,代碼堆疊方案,甚至是不同功能模塊的技術選型。這些都需要仰仗厚重的經(jīng)驗、扎實的功底和日積月累的技術實力。

未來大數(shù)據(jù)和機器學習的熱潮已經(jīng)如火如荼的展開,手握Java這一門利器,運用storm、elasticsearch、Hadoop、lucene等絕技的Java程序員,必然能更好的適應潮流。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    2997

    瀏覽量

    116056
  • 程序員
    +關注

    關注

    4

    文章

    955

    瀏覽量

    30843
  • .NET
    +關注

    關注

    0

    文章

    48

    瀏覽量

    24282
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    大理的AI野心藏不住了——風花雪月中千程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?575次閱讀
    大理的AI野心藏不住了——風花雪月中千<b class='flag-5'>名</b><b class='flag-5'>程序員</b>探討人工智能

    隼眼科技獲得第六屆綜合交通創(chuàng)新創(chuàng)業(yè)大賽總決賽第一名

    由中交集團舉辦的第六屆綜合交通創(chuàng)新創(chuàng)業(yè)大賽總決賽于12月16日落下帷幕,隼眼科技參賽的“基于92-94GHz毫米波雷達的全天候感知系統(tǒng)”獲得了第一名的好成績。
    的頭像 發(fā)表于 12-18 17:07 ?568次閱讀

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點
    發(fā)表于 12-10 08:24

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了個圓滿句號。本屆1024程序員節(jié)以“AI構建世界,智能引領未來”為主題,廣邀技術大咖、產(chǎn)業(yè)領袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?664次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學、以賽選才”|1024程序員節(jié)暨開源鴻蒙構建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術分享與實戰(zhàn)競賽相結合的方式,著力培養(yǎng)“開源鴻蒙+AI”領域
    的頭像 發(fā)表于 10-27 17:58 ?643次閱讀
    開鴻智谷“以賽促學、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構建大會圓滿落幕!

    東風本田CR-V榮獲2025合資SUV質量體驗第一名

    近日,2025年中國汽車產(chǎn)品質量表現(xiàn)研究(AQR)結果發(fā)布暨頒獎典禮圓滿落幕。東風本田CR-V憑借卓越的質量表現(xiàn),榮獲“合資SUV質量體驗第一名”的桂冠,這權威獎項不僅是對東風本田CR-V的肯定,更是對品牌在質量、品質等方面多年堅守“長期主義”的最佳褒獎。
    的頭像 發(fā)表于 10-09 09:56 ?519次閱讀

    軟通動力斬獲2024年中國IT服務市場份額第一名

    近日,賽迪顧問發(fā)布《2024-2025年中國信息技術服務市場研究年度報告》。軟通動力憑借在智能化轉型浪潮中的卓越表現(xiàn),以領先的數(shù)智化能力持續(xù)領跑中國IT服務市場,不僅斬獲2024年市場份額第一名,更在IT咨詢、IT運維等核心領域鞏固優(yōu)勢,綜合競爭力持續(xù)提升。
    的頭像 發(fā)表于 08-01 17:53 ?1838次閱讀

    潤和軟件穩(wěn)居數(shù)字業(yè)務類解決方案市場第一名

    ”)憑借自身卓越的技術實力和創(chuàng)新能力,連續(xù)五年穩(wěn)居數(shù)字業(yè)務類解決方案市場第一名;在細分領域:數(shù)字信貸系統(tǒng)解決方案子市場持續(xù)保持第一名,數(shù)字銀行解決方案子市場躍升至第一名。同時,其在開放銀行、交易銀行、智能營銷、智能風控、數(shù)據(jù)智能
    的頭像 發(fā)表于 07-14 17:36 ?1279次閱讀

    華為榮登GlobalData運營商基礎設施管理服務排名報告Leader象限第一名

    象限第一名。 報告對通信服務商從商業(yè)模式、解決方案、網(wǎng)絡設計與優(yōu)化、網(wǎng)絡轉型能力、服務規(guī)模、和業(yè)務敏捷性六個維度進行了全面評估,華為綜合得分第。這印證了華為在對全球運營商客戶提供領先服務解決方案、網(wǎng)絡極致性能和數(shù)智化轉型等方面做出了卓越
    的頭像 發(fā)表于 05-22 18:43 ?1008次閱讀
    華為榮登GlobalData運營商基礎設施管理服務排名報告Leader象限第<b class='flag-5'>一名</b>

    程序設計與數(shù)據(jù)結構

    的地址)出發(fā),采用推導的方式,深入淺出的分析了廣大C程序員學習和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結構和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    如何成為一名合格的KaihongOS北向應用開發(fā)工程師

    :參加相關的培訓、研討會或會議,不斷提升自己的技能。 10. 獲得認證 專業(yè)認證:如果可能,獲取相關的專業(yè)認證,這可以增加你的可信度和市場競爭力。 成為一名合格的北向應用開發(fā)工程師需要時間和努力,通過不斷學習和實踐,你將能夠掌握所需的技能,并在這
    發(fā)表于 04-23 06:46

    如何成為一名嵌入式軟件工程師?

    如何成為一名嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負責開發(fā)運行在特定硬件平臺上的軟件,這些軟件通常與硬件緊密集成,以實現(xiàn)特定的功能。 不僅需要精通編程語言(如C/C++
    發(fā)表于 04-15 14:37

    如何在 樹莓派 上編寫和運行 C 語言程序?

    ,本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學習C語
    的頭像 發(fā)表于 03-25 09:28 ?1054次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎入門:如何在樹莓派上編寫和運行Python程序

    種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?1736次閱讀
    零基礎入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    基于XIAO ESP32C6的HA空氣質量檢測儀設計

    今天小編給大家?guī)淼氖莵碜訫IT的Jason的基于XIAO ESP32C6的HA空氣質量檢測儀項目,作為一名程序員,Jason經(jīng)常自己連續(xù)幾個小時坐在辦公桌前,沉浸在行行代碼中。后來意識到周圍的空氣質量,尤其是二氧化碳水平不斷
    的頭像 發(fā)表于 03-21 14:09 ?1925次閱讀
    基于XIAO ESP32C6的HA空氣質量檢測儀設計