淺談Java未來的發展方向
做java程序員也有很多方向
一般來說,java的應用還是非常廣的,有erp等大型系統方面的,有web方面的,還有游戲方面的。java在大型B/S系統方面的應用非常廣泛,什么是B/S呢,實際上就是通過瀏覽器訪問的,網站就是一種B/S結構。作為新手,你會先從實習生或者初級程序員做起,然后隨著自己技術的成熟,逐步的達到中級工程師的水準,能夠獨立分擔一部分開發任務,如果達到高級工程師的水準的話,你還需要再學習更多的技術,這些技術不僅僅局限于java,如js和數據庫等,當你對整套技術都非常精通時,你便是一個真正的高級工程師,而Java則只是你所掌握的主要技術之一罷了。
做項目管理和分析也是一個方向
不少人學了java后,可能往軟件工程方向發展,這個時候參與具體的編碼工作不會那么多,主要要做的工作是需求分析,項目管理,隨著水平的提升,有可能做到系統架構師的職位,一般能做系統架構的都是大牛或者高學歷者,因為這不僅僅需要掌握jaav技術,更需要掌握數據庫和算法邏輯等知識。
產品經理也是一個方向
實際上有不少初中級java程序員或項目經理轉行做產品經理了,雖然說現在是“人人都是產品經理“的時代,一個懂Java開發的產品經理卻更加備受青睞。產品經理不僅僅需要對技術頗為了解,更需要懂得策劃和規劃,了解項目管理和產品管理的知識,并要具備非常好的溝通能力。當然,一個剛剛從業的`人很難跨入產品經理的行列,一般做1到2年開發工作的人可能會跨到這個行業來。
【相關閱讀】java編程的總結與思考
為什么需要并發
并發其實是一種解耦合的策略,它幫助我們把做什么(目標)和什么時候做(時機)分開。這樣做可以明顯改進應用程序的吞吐量(獲得更多的CPU調度時間)和結構(程序有多個部分在協同工作)。做過Java Web開發的人都知道,Java Web中的Servlet程序在Servlet容器的支持下采用單實例多線程的工作模式,Servlet容器幫助你處理了并發請求的問題。
誤解和正解
最常見的對并發編程的誤解有以下這些:
A. 并發總能改進性能。(真相:并發在CPU有很多空閑時間時能明顯改進程序的性能,但當線程數量較多的時候,線程間頻繁的調度切換反而會讓系統的性能下降)
B. 編寫并發程序無需修改原有的設計。(真相:目的與時機的解耦往往會對系統結構產生巨大的影響)
C. 在使用Web或EJB容器時不用關注并發問題。(真相:只有了解了容器在做什么,才能更好的使用容器)
下面的這些說法才是對并發編程比較客觀的認識:
A. 編寫并發程序會在代碼上增加額外的開銷。
B. 正確的并發是非常復雜的,即使對于很簡單的問題。
C. 并發中的缺陷因為不易重現也不容易被發現。
D. 并發往往需要對設計策略從根本上進行修改。
并發編程的原則和技巧
1. 單一職責原則:分離并發相關代碼和其他代碼(并發相關代碼有自己的開發、修改和調優生命周期)。
2. 限制數據作用域:兩個線程修改共享對象的同一字段時可能會相互干擾,導致不可預期的行為,解決方案之一是構造臨界區,但是必須限制臨界區的數量。
3. 使用數據副本:數據副本是避免共享數據的好方法,復制出來的對象只是以只讀的方式對待。Java 5的java.util.concurrent包中增加一個名為CopyOnWriteArrayList的類,它是List接口的子類型,所以你可以認為它是ArrayList的線程安全的版本,它使用了寫時復制的方式創建數據副本進行操作來避免對共享數據并發訪問而引發的問題。
4. 線程應盡可能獨立:讓線程存在于自己的世界中,不與其他線程共享數據。有過Java Web開發經驗的人都知道,Servlet就是以單實例多線程的方式工作,和每個請求相關的數據都是通過Servlet子類的service方法(或者是doGet或doPost方法)的參數傳入的。只要Servlet中的代碼只使用局部變量,Servlet就不會導致同步問題。Spring MVC的控制器也是這么做的,從請求中獲得的對象都是以方法的參數傳入而不是作為類的成員,很明顯Struts 2的做法就正好相反,因此Struts 2中作為控制器的Action類都是每個請求對應一個實例。
【淺談Java未來的發展方向】相關文章:
1.Java的十種發展方向
2.未來物流發展方向
3.淺談Java語言的優點
4.淺談Java中的弱引用
5.淺談理解Java中的弱引用
6.淺談如何使用java多線程
7.淺談Java類與類之間的關系
8.高級會計師未來發展方向
这里有更多你想看的
|
- 上一篇:那一次,我嘗到了幸福的滋味作文 那一次,我嘗到了幸福的作文
- 下一篇:返回列表