Java程序員除了要掌握的20%以外還要掌握些什麼知識才能遊刃有餘。下面說說我接觸(使用)過、的東西吧。
- java以分佈式應用豐富的生態聞名,在分佈式系統中逃不過CAP的抉擇。早早了解一些分佈式一致性協議paxos、raft等。學習zookeeper的原理和使用場景(metadata、分佈式鎖、leaderEletion... etc)
- RPC框架在SOA架構中起著重要的作用,好好探究終是有好處的,在這裡推薦阿里巴巴的dubbo框架,同時會netty、mina等網絡庫
- Hadoop系列 Storm Spark 等離線\\實時計算框架
- ElasticSearch\\SolrCloud 分佈式搜索 ELK 日誌相關的東西對這些比較敏感,當然在更多的場景使用ES也是有很多
- 消息隊列 kafka\\MetaQ RabbitMQ 緩存 Redis/memcached .容器tomcat/jetty web服務器NGINX/OpenResty
- 然後就是各種基礎知識,編程語言、網絡方面、數據庫、數據結構和算法。不要覺得任何一項都精通了,敢說精通的能有幾個。
- 掌握技能也就是需要時間成本和學習成本,要成為一個好的程序員不要怕學習,有學歷能力需要新技術才能跟得上,想當年才學的時候struts2比springmvc高出一截,不過現在也基本沒人用啦。
Java程序員一定要學好重點的技術,如下面這些
- 併發包:理解 ConcurrentHashMap原理,線程池,異步併發,鎖。
- 集合類,線程類。
- http請求
- json,xml讀寫。
- 常用api。
- 前端模塊javascript、css,熟悉一個前端框架。
- 常用框架、常見的設計模式、面向對象。
加薪必備知識點
- 掌握Java編程語言,包含io/nio/socket/multi threads/collection/concurrency等功能的使用;
- 熟練掌握jvm(sun hotspot和ibm j9)內存模型、gc垃圾回收調優等技能;
- 精通JVM,JMM,MVC架構,熟練使用struts2。
- 熟練使用spring、struts、ibatis構建應用系統。
- 熟練使用Servlet,jsp,freemark等前端技術。
- 熟練使用axis搭建基於SOAP協議的WebService服務接口。
- 熟練使用MAVEN構建項目工程。
- 熟練使用tomcat等web服務。
- 熟練使用mysql等關係型數據庫,熟悉mysql集群搭建
- 熟練使用redis等NOSQL技術。
- 熟悉tcp、http協議。
- 熟悉nginx、haproxy等配置。
- 熟悉javascript、ajax等技術。
- 熟悉主流分佈式文件系統FastDFS等。
- 熟悉JMS,可熟練使用ActiveMQ。
底層計算機理解內存管理/數據挖掘系統
可靠性和可用性如何理解
- jsp和sever lap對比
- 數據庫到界面,字符集轉化
- 基棧
- jvm優化cup高的時候如果分析和監控
- java curb突出細節問題
- 分佈式緩存文檔如何分流
- 遷移數據庫垂直分割
- 高併發如何處理前端高併發應用層
- LB設計load balance
- 負載均衡
- 防網絡攻擊
- 數據日誌事件監控後通知
- 數據庫事務實現的底層機制
- 字符串空格輸入的網絡攻擊
- Quartz框架的底層原理
- 數據庫同步中不通過數據庫引擎直接讀日誌等方式同步數據
針對上面的內容,我精心整理了一份【Java進階核心技術知識點】,助力成長進階。本架構專題合集由原BAT資深架構師依據過往項目實踐經驗,耗時巨長、精心創作。內容非常廣泛,讀者老哥們可以參考一下。
需要的老哥獲取方式:轉發+關注後,私信【技術】來免費領取到這份Java進階核心技術知識點!
JVM
![Java程序員,除了最常用的20%技術還需掌握哪些技術才能遊刃有餘](http://p2.ttnews.xyz/loading.gif)
Spring原理
![Java程序員,除了最常用的20%技術還需掌握哪些技術才能遊刃有餘](http://p2.ttnews.xyz/loading.gif)
微服務
Netty與Rpc
設計模式
數據結構與算法
由於篇幅限制,只能展示部分截圖出來,需要獲取這份【Java進階核心技術知識點】的讀者老哥們可以轉發關注一下小編,後臺私信:“技術”來免費獲取吧。
閱讀更多 互聯網架構小馬哥 的文章