女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

工程師人生 ? 來源:工程師吳畏 ? 2019-06-10 17:36 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

6、缺乏開源社區支撐、大數據相關研發乏力……

7、國內部分互聯網公司提供的開放平臺工具,居然不提供C#的SDK……(根據http請求自己寫SDK)

諸如此類,不勝枚舉。

轉Java吧。

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

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

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

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

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

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

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

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

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

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

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

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

    關注

    20

    文章

    2985

    瀏覽量

    106945
  • 程序員
    +關注

    關注

    4

    文章

    954

    瀏覽量

    30271
  • .NET
    +關注

    關注

    0

    文章

    48

    瀏覽量

    24282
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現了全面升級。現在,它支持VS Code
    的頭像 發表于 01-09 11:16 ?629次閱讀

    TMS320C6000程序員指南

    電子發燒友網站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發燒友網站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發燒友網站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發布CODE AI程序員

    近日,英特爾新質生產力技術生態大會在成都舉行,機械革命作為重要參展商帶來了多款明星產品引爆全場!其中更是在AI PC軟件生態產品發布分論壇上,Intel、智譜、機械革命三方聯合發布了專為程序員設計的CODE AI程序員本,成為本次大會的
    的頭像 發表于 11-30 10:34 ?974次閱讀

    Linux驅動程序程序員指南

    電子發燒友網站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發表于 11-08 10:17 ?479次閱讀

    第五屆長沙·中國1024程序員節開幕

    據官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節在湖南湘江新區開幕;本次中國1024程序員節以“智能應用新生態”為主題。設置有岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,
    的頭像 發表于 10-25 15:42 ?437次閱讀

    90后程序員的職業成長漫談

    開始,逐步了解公司的業務、文化,以及學習如何成為一名合格的職場人;19-21年,我開始負責塊完整的業務,并逐漸成長為小組負責人; 2022年開始負責整個部門的架構,并且開始參與些公
    的頭像 發表于 10-15 15:24 ?480次閱讀
    90后<b class='flag-5'>程序員</b>的職業成長漫談

    【轉型必看】Java到AI,程序員的逆襲秘籍,轉行人工智能不再是夢!

    人工智能,轉型的優勢,薪資對比,以及轉型所需的知識和學習路線等。01Java開發者能否轉型人工智能?答案是肯定的。Java作為種廣泛使用的編程語言,擁有強大的生
    的頭像 發表于 07-31 14:42 ?2245次閱讀
    【轉型必看】<b class='flag-5'>Java</b>到AI,<b class='flag-5'>程序員</b>的逆襲秘籍,轉行人工智能不再是夢!

    京東上萬程序員都AI用它!

    對大模型生成代碼進行智能修復,為程序員開啟代碼漏洞修復的“自動駕駛”模式,不但減少人工接入、提高工作效率,更為企業抵御內外部各種攻擊構建起道堅固的安全屏障,確保業務的連續性和穩定性。 JoyCoder是京東云自主研發的款輔助
    的頭像 發表于 07-17 16:29 ?441次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!

    程序員節視頻創意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節日里,我們盛大開啟“程序員節視頻創意大賽”特別活動!這不僅是場視覺的盛宴,更是智慧與創意的璀璨碰撞。我們誠摯邀請每
    的頭像 發表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節視頻創意大賽,用串口屏贏取千元大獎

    程序員節視頻創意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節日里,我們盛大開啟“程序員節視頻創意大賽”特別活動!這不僅是場視覺的盛宴,更是智慧與創意的璀璨碰撞。我們誠摯邀請每
    的頭像 發表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節視頻創意盛宴,邀您共襄盛舉!

    助力程序員告別困擾已久的夢魘-Bug

    程序員的噩夢是什么?不用懷疑,就是讓你加班到崩潰的Bug!下面是經過業界大佬們“長期加班”積累的小妙招,助力你離早下班又進步~、定位Bug范圍及性質要有效解決問題,首先要縮小范圍,集中關注最近
    的頭像 發表于 07-02 08:10 ?646次閱讀
    助力<b class='flag-5'>程序員</b>告別困擾已久的夢魘-Bug