java伺服器開發
㈠ java游戲伺服器開發有前途嗎
最近剛跳槽,到新公司已經幹了有兩周時間了,這兩周時間是過得比較充實的,因為這家新公司是個小公司,以前以單機開發為主,伺服器方面我一個人,做兩個游戲的伺服器開發工作,當然,一個很簡單,另一個就相對復雜點,簡單的那個是個弱聯網游戲,伺服器只需要做好數據存檔和登錄支付驗證就好了,而另一個,則是相對復雜的slg游戲,我感覺這是又一款cok,而公司目前並不打算再招伺服器了,所以估計這個項目我會一個人干到明年吧,等第一款上線賺錢了,可能會再招伺服器。老實說,面試的時候,我就覺得這份工作對我而言是一個挑戰,而當我清楚的了解了公司狀況之後,我依然決定接受這個挑戰。
說說我之前的經歷吧,大四的時候,學校安排來北京培訓java(培訓沒什麼丟臉的,出來找工作我也用的真學歷真背景,不像某峰互聯),之後我去了培訓機構推薦的公司實習,那個時候,工資2k,然而工作也幹得很開心,跟著前輩學到了不少東西,當時是做微信公眾號開發的,我跟著前輩做微信後台開發,當時使用SpringMVC+MyBatis框架,剛接觸的時候,我自己學了挺久才弄明白,後來弄明白之後想想,其實挺簡單,對於邏輯開發的程序員來說,你只需要弄懂工作流程就好了,頁面怎麼跳轉,跳轉怎麼傳值,數據怎麼處理,這些足夠了,當然我是個不滿足的人,我會去弄明白,為什麼用這個框架、為什麼不用別的、用這個有什麼好處、如果讓我自己來做這個後台、我會怎麼搭建?帶著這些問題,我會試著自己搭建一下後台框架(雖然前期大部分是復制粘貼)。除了框架部分,微信高級介面也是我研究的重點,我會去官方文檔看看微信是怎麼接入的,然後研究研究前輩的代碼是怎麼寫的,所謂的干一行愛一行大概就是這樣吧,當時我覺得,微信開發,是很有前途的,而我們公司用的框架,也是最先進的(後來看來,確實這個框架組合是當前最流行的框架,而當時,微信公眾號也確實是當時互聯網行業的一個風口,微信後來把h5帶起來了,導致現在一個好的h5前端都是供不應求的,薪資很高)。
說了這么多,為什麼後來又轉行做游戲了呢?其實是這樣的,當時在第一家公司,我的上級打算跳槽走了,帶走整個下面的技術,而不帶實習生,有那麼一兩個月,實習生就一直閑著沒事做,對於我來說,這樣過著就太無聊了,我喜歡挑戰,於是我投簡歷,重新找了份實習工作,在一個游戲公司做java伺服器開發,公司挺大的,幾年前憑借一款slg頁游稱霸游戲行業(什麼游戲我就不說了,說了就知道什麼公司了),後來游戲行業往手游發展,這款slg也出了手游版,這一款游戲,幾乎支撐了整個公司,再加上後來出的幾款手游,公司發展挺好的,我所實習的部門做的是一款mmorpg手游,從實習做到了轉正,做了近一年了,然而這款rpg手游的數據卻不是太好,第一次封測次日留存23,第二次26(現在這家公司的游戲能達到80多次日留存),七日就更不用說了,而我也能感覺到,作為一款mmo游戲,玩家之間的交互實在太少,從頭玩下來,我覺得這是一款單機,失去了mmo的本質,在項目組准備進行第三次封測的時候,我選擇了離開,原因很多,不僅僅因為游戲數據不好,也有一些個人原因吧,不過說實話,是這家公司帶我走進了游戲行業,我很感謝,我覺得游戲行業是一個非常有前景的行業,甚至比之前我認為最好的微信開發還要好,游戲行業非常暴利,在這家公司工作就能感受到,策劃文檔中,充滿了挖坑預留的計費點,這一塊可以正常玩兒,但你如果充錢,你就比別人牛逼。網路游戲,最重要的,就是控制好平民玩家跟普通玩家的佔比以及游戲平衡(當意識到公司的游戲如此處心積慮想要坑錢的時候,我突然明白為什麼公司的游戲大多被騰訊代理了,為什麼騰訊控股,原來如此,沒錢玩兒你**,哈哈)。由此也可以看出,游戲的商業化,已經把游戲公司帶入了一個固定的模式——無條件坑錢,我覺得已經失去了游戲的本質,我看過一本書,叫《游戲人生》(當時在cocos2014年開發者大會上買的。覺得挺值的),書已經送人了,但內容我看了一大半,從游戲的產生,到玩家的心理,到為什麼需要游戲,這本書都詮釋的熱別好(我覺得游戲策劃都應該看看這本書,做良心游戲,拒絕一味坑錢)。啊,突然發現這一段說的有點偏了,說到底,我也只是做游戲伺服器開發的,我也改變不了游戲行業,我只要做好我做的。其實大的游戲公司,就應該走這種商業化路線,憑借幾款長生命周期的游戲,支撐公司流水。
從轉行做游戲之後,我倒是覺得,游戲開發比web開發有趣多了,當然技術上也比web難多了,之前發過一篇討論,web開發何和游戲開發的區別,http://gad.qq.com/content/wendetail/7082370,我把我的答案再粘貼一遍(實際上是別人要求我上他的號去回答的,於是我就自己回答了我自己的問題):
1.從第三方支持來說,web後台有很多成熟的第三方框架,開發者不需要關心底層控制器跳轉的實現,只需要一個或幾個配置文件,就能完成核心控制器的部分,而開發者只需要關注web自身的業務邏輯,將邏輯與框架融合即可,使用框架一方面簡化控制層代碼,一方面很好的實現了業務邏輯的分層。而游戲後台開發中,因為各種游戲的需求差異性很大,從網路層,到業務邏輯層,各方面都必須根據自己游戲需求搭建適合自己的框架,因此很難有一些通用的東西能提煉出來一款成熟的框架,游戲後台開發基本上需要自己搭建適合自己的框架。
2.從業務邏輯層面來說,web後台基本上邏輯都是大同小異的,或許這一套系統,稍微改改,另一套系統就能用,而游戲就不同了,每個游戲都有自己的特色,根據策劃的不同需求而實現不同的邏輯,不過也會有一些通用的模塊,但整體上差異性還是很大的。
3.從數據持久化來說,web的數據基本上是很規整的,表與表之間關系很明確,並且以後也不會有太大的變化,而游戲中的數據多種多樣,隨著開服之後,數據的變化也是多種多樣,甚至傳統的關系型資料庫根本無法滿足游戲數據持久化的需求,游戲中有很多狀態和數據是需要伺服器來保存的,我個人認為,在游戲開發中,nosql比關系型資料庫更實用。
4.從通信層來說,web中的用戶都是一個個獨立的個體,而游戲中是多人在線的一個游戲世界,在這個游戲世界中,玩家與玩家之間需要進行交互,這就需要伺服器實時的向所有在線玩家進行消息廣播,這一點很損耗伺服器性能的,在這方面,游戲後台要比web做更多的處理,游戲伺服器是一個IO密集的伺服器類型。
以上便是我當時的答案,或許我的見解尚淺,畢竟我做游戲不到一年,不過對於後台開發這塊,我還是有一點話語權的,從實習游戲開發開始,我便經歷了一個轉換的過程,幾乎又是一個從零開始的學習過程,從mina框架到protobuffer,這些東西,我相信web開發很少接觸(mina作為網路通信框架,web中幾乎只有http通信,protobuffer作為通信協議,web最多用json,其實二者形式上差別不大,但數據大小千差萬別)。而游戲的邏輯,也是比web復雜得多,不得不說,web後台成熟的第三方框架是做的真的很好。
經歷了上家公司的洗禮,我想我對游戲後台開發有了足夠的了解,於是我找到了我現在這家公司,這家公司目前只有我一個伺服器後台,做兩款游戲,一款是塔防類,准備由單機改成弱聯網,伺服器存檔,並做登錄支付驗證,另一款,是比較龐大的slg手游,是准備帶領公司走上巔峰的項目,說一款slg帶領一個公司走上巔峰一點兒不為過,我上家公司就是這樣的,憑借一款《xxxx》(哈哈,名字不透露),走上人生巔峰。我之所以接受這份工作,是因為我接受挑戰,從底層寫起,從架構寫起,這是作為一年工作經驗的我想都不敢想的,不過這是一個挑戰自我,證明自我的機會,我願意接受這個挑戰,人生總會有很多爬坑的時候,但爬過了坑,就真的是人生巔峰了。我接受這個工作的另一個原因,就是公司發展確實不錯,以前做的單機,都是很火的(雖然我認為我自己一個人也能做,我也是學過cocos的),而現在公司也准確的把握了游戲行業的風口——slg,coc和cok的成功案例就能證明一切,mmorpg也不一定能做起來了,moba倒是有可能,但你要跟lol做不到80%的相似,我估計沒人願意在手機玩兒moba,slg或許是性價比最高的了。這么有挑戰的工作,還要從架構寫起,這樣的挑戰,我喜歡!
說說互聯網業的書吧,我認為這個行業的書,分為兩種,理論型的和技術型的,所謂理論型,就是長篇大論互聯網發展,行業模式等,而技術型,就是類似技術的工具書,是從技能入手的書,這兩種書,我家裡都有,但我發現買了之後,我很少有時間看,下班沒多少時間,北京上班,大多數時間都浪費在地鐵上了,上班時間,看看理論型的吧,覺得啰嗦,浪費時間(後來我發現,做這行,除了會技術,你還是需要去看看牛人眼中的互聯網的,你需要透過前輩的眼光看世界,不要做IT民工,要做互聯網從業者),看看技術型的吧,讓別人看見了感覺你太low,所以我大多數時間還是能在網上down到pdf就在電腦看,down不到網路谷歌我要研究的技術,畢竟從事這行,還是用電腦學技術好點,主要是電腦看久了眼睛會疲憊,偶爾看看紙質的書也不錯的。而以前面試的時候,面試官經常問,除了大學課本,你還看什麼書啊?(如果是你們,恰巧又沒看什麼書,你們怎麼說?),我一般會說,我會自學其他技術,如cocos2dx,然後買一些技術指南之類的書看。我覺得這已經算最大誇張化了,因為大學我真的很少看書,我記憶中就看過一本C++技術類的,一本C#的,一本Android,還有其他幾本是什麼都不大記得了,大學畢竟十幾層的圖書館,除了英語四六級的時候進去復習,其他時間感覺都浪費了這十幾層的圖書館。
說說成長過程中遇到的問題吧,如果遇到我解決不了的,以前是先自己網路谷歌,看看有沒有辦法解決,不行就問老大,而現在,先網路谷歌,看有沒有辦法解決,沒辦法在網路谷歌,實在不行還要看框架源碼如何實現,上國外論壇看外國友人如何解決,問題總能解決的,總會有辦法的。當我開始學習寫架構的時候,我會開始關心游戲的網路層使用什麼框架,mina還是netty,數據怎麼存儲mysql還是mongo,是否需要緩存redis存什麼,memcached存什麼,緩存什麼數據,數據傳輸用什麼協議,json還是protobuffer,怎麼寫效率高,最高支持多少並發等等,我想這些都是我現在需要考慮的問題,當然這些都需要根據游戲具體的需求來決定的,最終伺服器能否高效穩定的運行,都是取決於我的架構是否高效穩定,所以這個過程我要不斷學習,不斷吸取別人的經驗。剛到新公司的時候,我才體會到,自己寫代碼其實也是一種挑戰,整個後端我自己一個人實現,代碼是否規范,數據如何存儲,都是我說了算,我想我的代碼不僅要高效,還要讓別人看得懂,後來的人能接著我的代碼繼續寫下去。
最後說說Java的題外話,語言之爭,從未停過,為什麼有人擁護Java,有人擁護PHP,有人喜歡C#,有人喜歡C++,各個語言各有各的優勢,業余時間,我也了解了不少其他語言,go,node.js我都有了解,我覺得go的語言層面支持協程並發以及node.js的非同步,都是很適合游戲伺服器的,我特別看好node.js,非同步io真的是對游戲伺服器很好的特性,並且加入對原聲js支持的mongo模塊也是很方便的(上面我有說到,我相信nosql是很適合存儲游戲數據的)。說到游戲行業,我認為h5游戲的發展也是越來越快了,上次白鷺的h5開發者生態大會我去了,白鷺的一整套工作流程,以及web vr,真的很令人興奮(第一輪抽獎我還抽了一個暴風魔鏡,哈哈!),另外,大會的模特挺漂亮,哈哈!2015年,互聯網行業也略呈下降趨勢了,不少創業公司面臨倒閉,泡沫經濟破滅,因為很多老闆抓不住當前經濟形勢,以為不管是啥,有個app就是創業了,其實全然不知一款app後面有多少運營模式、盈利模式,就像一句諷刺的話,「我有個絕壁好的idea,可以顛覆bat,什麼都不缺,就缺個程序員了,等等,千萬別告訴馬雲!」,哈哈,聽到這句話,當時我就笑了,估計好多倒閉的創業公司老闆都這么想的吧,他們並不能抓住用戶真正的需求,只有抓住用戶真正的需求,才會抓住用戶的心,真正活下來的,才是用戶真正需要的,然而,相對來說,游戲行業更是復雜多變,或許今天玩家喜歡這種游戲,明天玩家就喜歡另一種游戲了,就像我們永遠也想不到,flappy bird、圍住神經病貓這類的游戲竟然能活起來,愚公移山竟然也能讓h5游戲變為付費的可能。就像一句話,「只要站在風口上,豬也能飛起來!」,只要抓住了玩家此時此刻真正想要的,產品就一定能做起來。
㈡ 用java做伺服器開發都要學些什麼啊請高手幫忙解惑 ps:本人不是學計算機專業的。
java 書籍選擇方向
一、入門
《Java 2從入門到精通》- 推薦
《Thinking in Java》- 強烈推薦*
O』reilly的Java編程基礎系列 - 參考*
二、進階
《Java Cook Book》- 非常推薦* (包含了Java編程的Tips,適合當做手冊來查閱)
《O』reilly-Java IO》- 推薦* (包含Java IO編程的各個方面)
《O』reilly-Database Programming with JDBC》- 推薦* (JDBC編程)
《O』reilly-Java Programming with Oracle JDBC》- 參考*
三、Java Web編程
《O』reilly-Java Server Pages》- 強烈推薦*
《O』reilly-Java Servlet Programming》- 非常推薦*
《O』reilly-Jakarta Struts》- 推薦* (Java Web編程的一個MVC實現框架Struts的書)
四、EJB編程
《J2EE應用與BEA Weblogic Server》- 強烈推薦
《Mastering EJB 2.0》- 非常推薦*
《Enterprise Java Bean》- 推薦*
五、Java XML編程
《O』reilly-Java and XML》- 推薦*
《O』reilly-Java and SOAP》- 參考* (Java的SOAP編程)
六、設計模式
《Core J2EE Patterns》- 強烈推薦* (J2EE設計模式,設計企業應用軟體必備參考書)
《EJB Design Patterns》- 推薦*
七、其它
《O』reilly Ant - The Definitive Guide》- 推薦* (Ant是一種功能非常強大的Java工具)
Note:
強烈推薦書籍:建議購買,重點學習
非常推薦書籍:建議花時間學習
推薦書籍:在學有餘力的情況下,建議學習
參考書籍:有興趣的情況下學習
Java, 那些美妙的書籍
文章分類:Java編程
整理一下最近看過或者比較有興趣的Java書籍,以供大家參考:
1,數據結構、演算法方面
《演算法導論》 適合有一定基礎而且可以平心靜氣慢慢推薦的人看,有一定難度。個人覺得這本書可以讓程序員的水平提升一個檔次。(附件有MIT的部分答案)
2,Java 基礎相關
《Java 編程思想》 不多說了,看過,沒看完,不過的確名不虛傳 (附件添加第三版的電子書,中文)
《輕松學用Java2》 個人的Java入門書籍,很適合Java初學者
《Effective Java》正在看,很不錯,建議e文不錯的直接看英文原版,雖然很多東西以前也會注意到,但是系統的過一遍還是有好處的。(英文版部分章節電子書見附件)
《深入JVM》適合想進一步了解Java以及JVM虛擬機實現的,寫的不錯。不過很難買得到書了,附件提供中文電子版的下載(掃描版,不是很清晰,還有 英文chm版)。
《Java解惑》 再加一本Java進階的書,這本書跟Effective Java類似,不過更直接,將各種可能出現的問題進行了歸納整理,目前手頭有中文版部分章節的電子書,看看先再決定是不是要買。
3,Eclipse plugin/RCP開發
《Eclipse 從入門到精通》,陳剛著,雖然看完了不一定精通,但是作為少有的幾本國內優秀的Eclipse教材,很不錯了。個人的RCP入門書籍。(部分章節電子書見 附件)
《Eclipse Rich Client Platform》,著名Addison Wesley Eclipse Rich Client Platform 的第二版,Eclipse官網推薦,hyperbola示例很有用。(電子書見附件)
《Contributing To Eclipse》,大師經典之作。遺憾的是現在各大書店都沒貨。(附件中有英文版chm格式電子書)
《Swt JFace in Action》個人覺得in action 系統的書都不錯,包括《Eclipse in action》《JUnit in action》等,本書對SWT/Jface 組件講得很詳細,也有很多示常式序。(電子書見附件)
《RCP 教程》個人整理的RCP教程,已經在CSDN上提供下載了。
4,GEF/EMF
《Eclipse Model Framework》,第二版出了,中文版也有了,這方面根本沒有多少可以選擇的餘地。GEF就完全沒有成形的書,EMF據我所知就這一本了。不便宜,看 過第一版的電子書,那時候覺得對應的版本太老了,看不下去。第二版有機會再試試。
GEF相信很多人是看八進制的博客,和Eclipseworld社區上的某位熱心的tx翻譯的一本日文教材入門的,至少我是,後來又收集了一些其他方面的 資料,不過還是太少。附件有IBM Developerworks上的GEF進階系列的文章的電子書版。
4, 結構、設計模式
《敏捷軟體開發——原則、模式和實踐》,Uncle Bob的大作,個人強烈推薦。裡面很詳細的講解了敏捷開發,以及很多實例。這本書花了很多章節講解常用設計模式,例子非常巧妙,部分由C++實現,也有 Java實現的。如果想了解敏捷開發、軟體類包設計、設計模式這方面的東西,這本書是不二選擇。
《設計模式》 GOF的23種設計模式。不多說了,有人說很難懂,有人說很經典。(已添加電子書,中英版本都有,pdf)
比較適合入門的還是《Head First 設計模式 》系列,至少語言更生動,一樣有人貶低有人熱捧,建議先看電子書再決定 是否買,有點小貴。
《Thinking in Patterns》,突然想起Eckel還有一本講設計模式的書,很早就聽說過了,這本書還沒看過,不過還是列出來吧。
5,JUnit
《JUnit in action》講解JUnit很不錯的一本書,某看了一部分,受益匪淺,使用JUnit測試就是從看這本書起的。
6, 編程技巧
《編程之美》,據說是微軟的面試題集合,不過有些題的確不太好搞。提供部分章節電子書下載,有興趣的可以看看。
先 寫這么多了,上面的書某90%都看過,如果有什麼與各位見解上的差距,還請諒解。
索性再加幾本電子書吧:
A,《代碼大全》也是久負盛名的書了,中文版 清晰版
學院派圖書
Java編程入門類
對於沒有Java編程經驗的程序員要入門,隨便讀什麼入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是「囫圇吞棗不求甚 解」,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫代碼,要「知其然」。
1、《Java編程思想》
在有了一定的Java編程經驗之後,你需要「知其所以然」了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對於基本的面向對象知 識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適 合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了。
2、《Agile Java》中文版
這本書是出版社送給我的,我一拿到就束之高閣,放在書櫃一頁都沒有翻過,但是前兩天整理書櫃的時候,拿出來一翻,竟然發現這絕對是一本好書!這本 書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書 成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的 內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好 書。
雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點。
Java編程進階類
打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對你產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。你可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。
Java架構師之路
到這個階段,你應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是你可能還缺乏對應用軟體整體架構的把握,現在就是你邁向架構師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在我所推薦的這些書籍當中,是我看過的最仔細,最認真的書,我當時讀這本書幾乎是廢寢忘食的一氣讀 完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精闢的總結出來,讀完這本書以後,我有種被打通經脈,功力爆 增的感覺。
但是後來我看過一些其他人的評價,似乎閱讀體驗並沒有我那麼high,也許是因為每個人的知識積累和經驗不同導致的。我那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。
3、《企業應用架構模式》
Martin的又一本名著,但這本書我只是泛泛的看了一遍,並沒有仔細看。這本書似乎更適合做框架的人去看,例如如果你打算自己寫一個ORM的 話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,我還是推薦認真看看,會讓你知道框架為什麼要這樣設計,這樣你的層次可以晉升 到框架設計者的角度去思考問題。Martin的書我向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《敏捷軟體開發 原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。
軟體開發過程
了解軟體開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟體開發過程》UP
其實UP和敏捷並不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎麼說,UP值得你去讀,畢竟在中國真正接受敏捷的企業很少,你還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,這本書非常的progmatic,告訴你怎麼既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。 你可以把《解析極限編程 擁抱變化》、《統一軟體開發過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形 成自己的理論體系,那麼你也可以去寫書了。
軟體項目管理
如果你突然被領導提拔為項目經理,而你完全沒有項目管理經驗,你肯定會心裡沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的 理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似於「軟體項目點子大全」之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及 應該如何解決問題的點子,你只需要稍加變通,找方抓葯就行了。
找個相關工作,踏踏實實干吧,戒浮躁~~~
㈢ Java開發的學習內容都有哪些
java學習內容你可以參考以下:
一、JavaEE基礎
Java基礎語法、面向對象、核心類庫、集合、異常、IO、線程、JDK新特性;
二、JavaWeb開發
前端技術、資料庫、JAVA資料庫操作、軟體伺服器及伺服器相關技術、動態網頁JSP、AJAX;
三、Java高級框架
SpringMVC、MyBatis、Spring、MySQL高級、Linux&Redis&Nginx、Maven;
四、大型微服務分布式項目實戰
SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、AngularJS、Spring Security、BCrypt加密、FastDFS、分布式事務處理、Redis Cluster、Solr、SolrCloud、Freemarker、JMS、簡訊發送平台、SSO解決方案、CORS、Twitter的Snowflake、SpringTask、Maven Profile、MongoDB簡介、MyCat、Docker、Jenkins;
五、微服務大型項目實戰
㈣ java伺服器開發是做什麼和web端的區別
標準的web伺服器只具有與客戶端瀏覽器通訊的功能,不能處理業務邏輯請求。
需要編寫程序來復制處理客戶端的請求。通過組件來處理客戶端的請求,這個組件就是實現特定規范的可以單獨部署的軟體模塊。組件必須通過容器來實現。容器是實現特定規范的程序,負責組件的運行環境和管理組件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解為tomcat,並且tomcat中運行著你編寫的程序,這個程序稱為web應用。
java伺服器開發就是通過java語言來編寫程序,組合成web應用,將來部署到tomcat中,
編寫的這些程序就是組件,用來處理客戶端請求的。為了高效還會使用一些框架和技術來配合java程序,比如SpringMVC,struts2,Servlet
㈤ java是伺服器開發 什麼是伺服器
伺服器就是用來存放互聯網上的數據的,供別人進行使用或者是訪問。
java開發是可以在普通主機上開發,但是如果供別人進行使用或者是應用的話
需要在伺服器上搭建下的。
㈥ java主要用來幹嘛
Java語言 可以做很多的事情,我來大致的說一下Java具體可以用來做些什麼!
一、做網站
Java可以用來做網站,很多大型網站都是用Java寫的,比如我們熟悉的B站,所以想學習Java的同學還可以負責網站方面的製作,這方面的崗位(網站開發)也比較多,一直以來都相當流行。
二、做安卓軟體
安卓是基於Linux的操作系統,其中源代碼就是Java,市面上所有的安卓手機都是修改Java運行的,對於更多的開發人員來說,他們更多的時間是花在開發APP上面。你隨便打開一個App應用,他們就是用Java語言做的。
三、做游戲
電腦上的大多數游戲也是用Java來開發的,最經典的就是《我的世界》,還有當今世界最具影響力的游戲英雄聯盟,吃雞也是用Java寫的
四、寫軟體
很多編程語言都是可以來寫軟體的,但Java是現在應用最廣泛的,比如:企業級應用開發,還有OA、郵箱、物流、醫療、投票、金融、考試、礦山等信息方面的系統,Java都佔有極為重要的地位。現在國內的最熱門的就是手機應用,學習Java去做手機應用還是比較吃香的。
五、Java伺服器程序
Java在金融服務業的應用非常廣泛,許多跨國投資銀行都用Java來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。
大多數情況下,Java被用在伺服器端開發,但多數沒有任何前端,它們通常是從一個伺服器(上一級)接收數據,處理後發向另一個處理系統(下一級處理)。
六、Java大數據技術
Hadoop以及其他大數據處理技術都是用Java或者其他,Java 依舊還有潛力去在這個市場占據一部分。
㈦ java伺服器後台開發需要學習哪些知識
首先你得有有良好的Java SE基礎
1.Servlet/JSP,Cookie、Session等,一定要深入理解web伺服器
2.html、css、javascript同時需要學習前端的知識
3.jdbc,mysql,sql,資料庫相關知識
4.最後你需要學習,javaweb相關的框架
比如ssh(struts,spring,hibernite),ssm(spring,spring mvc,mybatis)等等等
㈧ 如何學習java游戲伺服器開發
無論什麼語言,伺服器主要考慮的就是兩點,一是並發,二是數據(庫)對接,Java在這個方面很適合的。
並發除了有netty神庫以外,還有很多其他的網路庫,或者直接用tomcat也行,總之挺好,不過如果你要用netty的話,需要了解這個庫和並發編程,都有很多(經典)書,去看,不然你就等著踩坑吧。
數據(庫)方面,有memcache,radis的緩存庫,還有mysql和其他nosql,對接起來也很簡單,但是還是那句話,坑很多,需要自己填。
首先確定游戲需不需要長鏈接的主動推送功能,再確定並發量(效率),就基本上可以確定用什麼庫和框架了,至於數據壓縮用gzip還是7z,傳遞協議是protobuff還是json還是xml,那都是細節問題了,總之都能解決問題,不要過早考慮性能啊什麼的,先把最簡單的登錄搞起來再說。
㈨ Java伺服器開發工程師是什麼職位
是工程師職位,主要從事軟體開發類工作,java伺服器端開發主要是使用java開發後端應用。當然,也會涉及系統操作、設計、管理、評估需求等工作需要做。
㈩ java伺服器開發是做什麼和web端的區別是什麼
web開發,是開發服務端的,開發好的web程序,打包成war,然後放到web容器中運行,而web容器,是部署在伺服器中的。
web的客戶端就是瀏覽器,教你設計頁面,學CSS/HTML之類的。
標準的web伺服器只具有與客戶端瀏覽器通訊的功能,不能處理業務邏輯請求。
需要編寫程序來復制處理客戶端的請求。通過組件來處理客戶端的請求,這個組件就是實現特定規范的可以單獨部署的軟體模塊。組件必須通過容器來實現。容器是實現特定規范的程序,負責組件的運行環境和管理組件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解為tomcat,並且tomcat中運行著你編寫的程序,這個程序稱為web應用。
java伺服器開發就是通過java語言來編寫程序,組合成web應用,將來部署到tomcat中,
編寫的這些程序就是組件,用來處理客戶端請求的。為了高效還會使用一些框架和技術來配合java程序,比如SpringMVC,struts2,Servlet。