導航:首頁 > 編程語言 > java做伺服器

java做伺服器

發布時間:2022-05-22 03:31:45

『壹』 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伺服器開發是做什麼和web端的區別是什麼

web開發,是開發服務端的,開發好的web程序,打包成war,然後放到web容器中運行,而web容器,是部署在伺服器中的。
web的客戶端就是瀏覽器,教你設計頁面,學CSS/HTML之類的。

標準的web伺服器只具有與客戶端瀏覽器通訊的功能,不能處理業務邏輯請求。
需要編寫程序來復制處理客戶端的請求。通過組件來處理客戶端的請求,這個組件就是實現特定規范的可以單獨部署的軟體模塊。組件必須通過容器來實現。容器是實現特定規范的程序,負責組件的運行環境和管理組件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解為tomcat,並且tomcat中運行著你編寫的程序,這個程序稱為web應用。
java伺服器開發就是通過java語言來編寫程序,組合成web應用,將來部署到tomcat中,
編寫的這些程序就是組件,用來處理客戶端請求的。為了高效還會使用一些框架和技術來配合java程序,比如SpringMVC,struts2,Servlet。

『叄』 用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實現FTP伺服器

在主函數中,完成伺服器埠的偵聽和服務線程的創建。我們利用一個靜態字元串變數initDir 來保存伺服器線程運行時所在的工作目錄。伺服器的初始工作目錄是由程序運行時用戶輸入的,預設為C盤的根目錄。
具體的代碼如下:
public class ftpServer extends Thread{
private Socket socketClient;
private int counter;
private static String initDir;
public static void main(String[] args){
if(args.length != 0) {
initDir = args[0];
}else{ initDir = "c:";}
int i = 1;
try{
System.out.println("ftp server started!");
//監聽21號埠
ServerSocket s = new ServerSocket(21);
for(;;){
//接受客戶端請求
Socket incoming = s.accept();
//創建服務線程
new ftpServer(incoming,i).start();
i++;
}
}catch(Exception e){}
}

『伍』 JAVA做伺服器端的開發

要學Java Web方面的知識,如《Java Web整合開發王者歸來》、《Java Web開發技術大全》等ssh框架方面的(Struts Hibernate Spring)

『陸』 想用java編寫個代理伺服器,求具體一些思路,詳細一些,謝謝

在編寫代理伺服器之前,首先應該明白一點,Java的代理機制,如圖所示:

那麼Java就處於中間這層代理伺服器,代理伺服器所作的事情如下:
1、接收客戶端請求,進行處理,然後發送給服務端
2、接收服務端響應,進行處理,然後發送給客戶端
這樣,就更清晰了,Java提供了代理的API為,java.net.Proxy類。此類表示代理設置,通常為類型(http、socks)和套接字地址。Proxy 是不可變對象。

也就是說Java可以製作高級協議的代理,如 HTTP 或 FTP。也可以製作SOCKS(V4 或 V5)代理。
首先,使用到了URL類,HttpURLConnection類及其我們的代理類Proxy類。他們都位於java.net包中。

第一步:生成代理,指定埠為8888:

第二步:使用URLConnection類進行連接www.moonsos.com

第三步:打開URL,並且讀取HTML源碼

『柒』 java能做游戲伺服器嗎

服務端的話,很多都是使用java來進行開發的,不過很多公司也是混用的,比如c++之類的都是可以的,還有很多腳本語言.

『捌』 如何用Java實現Web伺服器

如何用Java實現Web伺服器 一、HTTP協議的作用原理

WWW是以Internet作為傳輸媒介的一個應用系統,WWW網上最基本的傳輸單位是Web網頁。WWW的工作基於客戶機/伺服器計算模型,由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成,兩者之間採用超文本傳送協議(HTTP)進行通信。HTTP協議是基於TCP/IP協議之上的協議,是Web瀏覽器和Web伺服器之間的應用層協議,是通用的、無狀態的、面向對象的協議。HTTP協議的作用原理包括四個步驟:

(1) 連接:Web瀏覽器與Web伺服器建立連接,打開一個稱為socket(套接字)的虛擬文件,此文件的建立標志著連接建立成功。

(2) 請求:Web瀏覽器通過socket向Web伺服器提交請求。HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞)。GET命令的格式為:

GET 路徑/文件名 HTTP/1.0

文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。

(3) 應答:Web瀏覽器提交請求後,通過HTTP協議傳送給Web伺服器。Web伺服器接到後,進行事務處理,處理結果又通過HTTP傳回給Web瀏覽器,從而在Web瀏覽器上顯示出所請求的頁面。

『玖』 java伺服器開發是做什麼和web端的區別

標準的web伺服器只具有與客戶端瀏覽器通訊的功能,不能處理業務邏輯請求。
需要編寫程序來復制處理客戶端的請求。通過組件來處理客戶端的請求,這個組件就是實現特定規范的可以單獨部署的軟體模塊。組件必須通過容器來實現。容器是實現特定規范的程序,負責組件的運行環境和管理組件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解為tomcat,並且tomcat中運行著你編寫的程序,這個程序稱為web應用。
java伺服器開發就是通過java語言來編寫程序,組合成web應用,將來部署到tomcat中,
編寫的這些程序就是組件,用來處理客戶端請求的。為了高效還會使用一些框架和技術來配合java程序,比如SpringMVC,struts2,Servlet

『拾』 如何搭建java web伺服器

1.由於伺服器配置比較低綜合考慮,選擇ubuntu系統進行搭建

並通過XFTP或上述的上傳文件方法,上傳至apache-tomcat-7.0.69/webapps中

閱讀全文

與java做伺服器相關的資料

熱點內容
貴陽螺桿壓縮冷凝機組組成 瀏覽:115
掃描製作pdf 瀏覽:515
2016奇駿車機如何安裝app 瀏覽:764
phpvc9x64 瀏覽:73
蜜語星球解壓 瀏覽:476
c語言編譯器怎麼打不開 瀏覽:818
海印程序員 瀏覽:648
為什麼華為手機找不到伺服器 瀏覽:664
pdf增減 瀏覽:608
雲伺服器怎麼公網架設網站 瀏覽:91
pythonrequests慢 瀏覽:140
excel保存沒有pdf 瀏覽:922
冰箱壓縮機管囗示意圖 瀏覽:497
許振民編譯局 瀏覽:625
雙網路加什麼伺服器好用 瀏覽:211
linux命令中文 瀏覽:839
python怎麼做物聯網 瀏覽:731
app有什麼推薦嗎 瀏覽:79
自學程序員能不能面試工作 瀏覽:879
有錢人的解壓方法 瀏覽:84