您的位置:首頁>科技>正文

Java程式猿跳槽應該學哪些方面的技術

互聯網產品、大型企業級專案常會用到的:

併發處理技術。 具體到Java上通常是涉及java.util.concurrent、併發鎖機制、NIO等方面, 當然最近比較火爆的Netty框架也可以作為高併發處理的備選方案之一, 這需要對Java的執行緒調度機制有著比較深的理解。 不過這些可能會涉及併發控制的物件(比如reentrantlock等)只能存在於一個JVM裡的問題, 一旦系統規模大到需要部署多個JVM來處理併發的情況, 則需要採用共用session的技術(比如spring-session), 或者盡可能將系統後臺設計為無狀態的服務, 這需要對RESTful有著較深的理解。

高可用、負載均衡技術。 互聯網產品、企業級應用通常要求一年裡的Downtime控制在很小的範圍內,

這需要足夠的高可用和負載均衡架構來支撐, 這個一般和Java技術本身沒太大關係, 但卻是一名初級程式師向高級程式師甚至是架構師CIO進階的必備技術, 因此可以適當瞭解一下Nginx、HAProxy等對這方面的支持。 另外現在最“時髦”的做法是將應用docker化, 配合ETCD、kubernetes等工具在容器的層面上實現高可用和負載均衡, 當然這需要看實際的需求, 最時髦的不見得是最適用的, 要考慮構建成本。

緩存技術。 緩存應該是大型系統中或高併發條件下提高回應速度的亙古不變的真理(雖然也看到過淘寶搜索商品功能採用的大資料處理技術實現的零緩存的文章, 但能達到淘寶的體量和技術水準一般不太可能),

這方面的工具太多了, ehcache、memcached、redis……從Java的角度來講, 需要瞭解的一是Java對這些工具的連接器, 二是緩存技術背後的JSR-107標準, 可以參考spring-cache的實現, 閱讀一下源碼加深理解。

非同步處理技術。 這通常也是抵消高併發的處理手段之一, 從Java的角度看最簡單的非同步處理就是新啟動一個非同步執行緒, 這同樣也需要對Java的執行緒調度有所瞭解, 當然也可使用Spring中的@Async之類的也可以簡單實現非同步執行緒的處理。 如果是非常消耗資源的業務處理, 簡單的非同步執行緒是滿足不了需求的, 這就需要一些消息中介軟體來做這些非同步處理了, 消息中介軟體有很多, activemq、rabbitmq、kafka……需要瞭解的是Java對這些中介軟體的連接器。 不過非同步處理中最關鍵的是事務保證的問題,

這可能需要對事務的兩步提交有所瞭解。

在這裡我有一個專門為跳槽JAVA開發人員想要跳槽準備的一個線路圖:

一共分為5大專題:

工程化專題:

源碼分析:

分散式/高可用/高併發專題:

雙十一架構:

性能優化:

想瞭解學習以上課程內容可加群:623241711

2群:478052716

一共分為5大專題:

工程化專題:

源碼分析:

分散式/高可用/高併發專題:

雙十一架構:

性能優化:

想瞭解學習以上課程內容可加群:623241711

2群:478052716

Next Article
喜欢就按个赞吧!!!
点击关闭提示