作為一個Java 程式設計師 你應該會什麼

詩意偶然發表於2017-09-20

一,JAVA架構師

1、語法:Java 程式設計師必須比較熟悉語法,在寫程式碼的時候IDE 的編輯器對

某一行報錯應該能夠根據報錯資訊 知道是什麼樣的語法錯誤並且知道任何修

正。

2、命令:必須熟悉JDK 帶的一些常用命令及其常用選項,命令至少需要熟

悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、

javaw、native2ascii、serialver,如果這些命令你沒有全部使用過,那麼你對

java 實際上還很不瞭解。

3、工具 :必須至少熟練使用一種IDE 的開發工具,例如Eclipse、Netbeans、

JBuilder、Jdeveloper、IDEA、JCreator 或者Workshop,包括進行工程管理、

常用選項的設定、外掛的安裝配置以及進行除錯。

4、API:Java 的核心API 是非常龐大的,但是有一些內容筆者認為是Java

程式設計師必須熟悉的,否則不可能熟練的運用Java,包括:

◆java.lang 包下的80%以上的類的功能的靈活運用。

◆java.util 包下的80%以上的類的靈活運用,特別是集合類體系、規則 表

達式、zip、以及時間、隨機數、屬性、資源和Timer.

◆java.io 包下的60%以上的類的使用,理解IO 體系的基於管道模型的設計

思路以及常用IO 類的特性和使用場合。

◆java.math 包下的100%的內容。

◆java.net 包下的60%以上的內容,對各個類的功能比較熟悉。

◆java.text 包下的60%以上的內容,特別是各種格式化類。

◆熟練運用JDBC. 8)、java.security 包下40%以上的內容,如果對於安全

沒有接觸的話根本就不可能掌握java.

◆AWT 的基本內容,包括各種元件事件、監聽器、佈局管理器、常用元件、

列印。

◆Swing 的基本內容,和AWT 的要求類似。

◆XML 處理,熟悉SAX、DOM 以及JDOM 的優缺點並且能夠使用其中的一種完

成XML 的解析及內容處理。

5、測試 :必須熟悉使用junit 編寫測試用例完成程式碼的自動測試。

6、管理:Java 程式設計師必須熟悉使用ant 完成工程管理的常用任務,例如工

程編譯、生成javadoc、生成jar、版本控制、自動測試。

7、排錯:應該可以根據異常資訊比較快速的定位問題的原因和大致位置。

8、思想:必須掌握OOP 的主要要求,這樣使用Java 開發的系統才能是真正

的Java 系統。

9、規範:編寫的程式碼必須符合流行的編碼規範,例如類名首字母大寫,成

員和方法名首字母小寫,方法名的第一個單詞一般是動詞,包名全部小寫等,這

樣程式的可讀性才比較好。

10、博學:Java 程式設計師除了精通Java 意外,還要掌握J2EE 、Oracle 、

WebLogic、Jboss、Spring、Struts、Hibernate 等流行技術,掌握軟體架構設

計思想、搜尋 引擎優化、快取系統設計、網站負載均衡、系統效能調優等實用

技術

二, 羅列一下架構知識點







我把它分為了五大專題

工程化專題

工程化專題 git git安裝使用

git日常使用:fetch/pull/push/revert/rebase git分支管理git flow

Jenkins多套環境(test/pre/production)系統自動化釋出

Jenkins自動釋出到遠端主機

MavenMaven私服搭建setting.xml檔案剖析pom.xml詳解Maven實用外掛教學(靜態程式碼檢查、生成可執行jar包)profile使用

原始碼分析

原始碼分析 Spring原始碼分析

Spring IOC的實現原理Spring BeanFactory原始碼分析Spring AOP的實現原理及配置檔案詳解Spring AOP的各種應用場景分析Spring MVC與Struts對比Spring HandlerMapping詳解手寫實現SpringMVC框架Spring與各種框架整合原理Spring JDBC操作原理基於Spring JDBC手寫ORM框架

MyBatis原始碼分析

MyBatis3簡介MyBatis3 SqlMap那些事兒資料庫連線池到底是什麼MyBatis3 SessionFactory實現原理MyBatis3 配置檔案詳解MyBatis3 事務管理與整合淺談HibernateMyBatis3與Hibernate框架對比Netty原始碼分析

NIO通訊原理剖析深入瞭解NIO緩衝區Buffer

NIO Selector原理AIO程式設計Netty產生的背景以及基礎入門

Netty高效能之道Netty的HTTP與Socket通訊原理利用Netty搭建高效能的

WebSocket聊天室

Netty聊天室客戶端架構實現Netty的編碼解碼

Netty的拆包粘包操作MsgPack原理講解及各種序列化框架對比MsgPack與Netty整合

Netty HTTP通訊與Spring整合Netty RPC架構Netty與各種架構整合以及Netty原始碼分析

效能調優


效能調優 JVMJVM記憶體模型JVM執行時資料區垃圾回收機制GC日誌詳解

根據GC日誌調優系統,調優不靠碰運氣!Mysql資料庫優化

資料庫底層資料結構索引資料儲存結構 innodb詳解SQL調優及原理分庫、分表實現Nginx調優動靜資源分離

nginx引數詳解nginx + lua使用應用:ip過濾,扛DDOSTomcat調優

Tomcat原始碼、架構分析Tomcat具體調優引數設定Tomcat壓力基準測試Tomcat NIO配置

雙十一技術架構專題-九陽真經

九陽真經技術專題 秒殺系統實戰

從0到1構建秒殺系統從all-in-one到分散式從1到100的優化重構分散式壓測系統

最簡單的單機壓測壓測應該關注的點如何做分散式壓測分散式跟蹤系統

如何梳理鏈路依賴如何做到優雅降級分散式配置系統

靈活配置熱釋出一切都是為了自動化分散式訊息系統

非同步化&系統隔離應對瞬時大流量分散式快取體系

五級快取體系熱點資料處理
1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加群。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加群。

3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加群。

4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加群。

5、群號:高階架構群 283943715 備註好資訊!

6.阿里Java高階架構師免費直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!


高效能及分散式專題

分散式專題分散式快取技術 RedisRedis簡介及安裝Redis基礎知識、資料型別、Keys的操作命令Redis對不同資料型別的操作命令使用Redis核心配置分析Redis持久化概述,RDB原理、AOP原理分析Redis事務操作分析以及釋出訂閱模式的操作使用Redis叢集搭建,一步步教你如何搭建Redis叢集Redis主從複製原理分析Redis的優化建議、最佳實踐Redis的JAVA客戶端使用Redis整合Spring的使用MemcachedMemcached的介紹和安裝、基本配置、常用運維命令

Memcached的工作原理Memcached的常用操作命令使用分析理解Memcached的資料儲存方式,理解Slab Allocator、新建Item分配記憶體的過程Memcached資料儲存方式的缺點;分析Memcached的資料過期方式Memcached記憶體調優建議、常見問題的解決方案Memcached的典型應用場景、不適用的場景Memcached基於Java客戶端的使用分散式介面技術

DubboDubbo的發展過程及基本原理Dubbo控制檯及監控平臺的搭建使用快速搭建Dubbo服務框架Dubbo常用配置的使用及分析Dubbo註冊中心原理、整合Zookeeper實現服務動態發現Dubbo多註冊中心、多協議支援Dubbo服務分組、服務版本號控制Dubbo併發控制、連線控制Dubbo負載均衡、叢集容錯使用和分析Dubbo配置檔案優先順序別Dubbo和DubboX的比較以及DubboX的使用介紹ThriftThrift基本介紹、

如何安裝配置ThriftThrift的資料型別、基本型別、結構體型別、容器型別介紹通過Thrift搭建服務端客戶端通訊Thrift資料傳輸協議分析

Restful什麼是RestfulRestful的起源如何實現一個滿足Restful架構的設計Restful實戰

分散式服務協調 技術

Zookeeper 什麼是Zookeeper、Zookeeper的安裝配置、常用命令使用Zookeeper節點特性以及節點屬性分析如何搭建zookeeper的叢集環境Zookeeper客戶端的使用:zkclient/curatorZookeeper的實現原理分析Zookeeper實戰,共享鎖、

master選舉Consoul Eureka 微服務架構Spring BootSpring Boot概述、如何快速搭建一個Spring Boot的專案Spring 常用註解回顧Spring Boot核心配置檔案分析Spring Boot四大神器使用剖析自定義Starter、自定義ActuatorSpring Boot 實現原理分析Spring Boot 資料儲存配置、快取配置、日誌框架配置

DockerDocker原理分析入門介紹及安裝配置網路模型常用命令講解自己構建Docker映象倉庫管理實際案例使用搭建微服務架構Docker叢集及編排工具分散式訊息技術

ActiveMQActiveMQ功能簡介、安裝配置使用通過ActiveMQ實現簡單的訊息收發測試JMS的基本概念、PTP、Pub/Sub域分析JMS訊息結構分析、理解JMS可靠性機制演示Topic持久化接收與非持久化接收理解Broker,Java內嵌Broker啟動ActiveMQ結合Spring的使用理解ActiveMQ的傳輸協議ActiveMQ訊息持久化方式(jdbc/KahaDB/Memory)及特點ActiveMQ叢集(靜態網路連線、動態網路連線)ActiveMQ的高階特性分析

KafkaKafka的基本介紹、安裝配置使用Kafka的設計原理分析利用Kafka快速搭建一個訊息傳送接收程式Kafka資料傳輸的事務特點Kafka訊息儲存格式Kafka的叢集部署配置Kafka訊息分組、訊息消費原理

分散式事務 分散式事務的基本介紹常用的分散式技術說明理解2PC和3PC協議分散式事務實踐演練分散式環境session共享 什麼時候需要用到Session共享Session共享的常用解決方案

高效能專題高效能web容器nginx Nginx簡介、安裝和基本配置Nginx的程式模型分析深入理解Nginx核心配置檔案Nginx http模組功能配置及使用Nginx location定位功能的優先順序Nginx 反向代理、負載均衡的配置Nginx 如何實現動靜分離Nginx rewrite模組的使用Nginx 的使用建議Keepalived+nginx實現nginx高可用資料庫效能

分庫分表的基本概念mysql的主從配置分庫分表的基本規則Mycat的安裝使用Mycat配置深入分析及實踐Mycat結合Mysql實現讀寫分離

MongoDBMongoDB是什麼?MongoDB安裝配置、及常用命令MongoDB增刪改查的基本操作MongoDB查詢操作命令使用深入理解MongoDB文件儲存機制MongoDB索引使用分析MongoDB副本集配置及基本原理分析MongoDB分片功能介紹、分片和複製、片鍵的選擇MongoDB資料備份、資料恢復MongoDB於spring整合使用

相關文章