做爲一個Java 程序員 你應該會什麼

一,JAVA架構師

一、語法:Java 程序員必須比較熟悉語法,在寫代碼的時候IDE 的編輯器對java

某一行報錯應該可以根據報錯信息 知道是什麼樣的語法錯誤而且知道任何修mysql

正。nginx

二、命令:必須熟悉JDK 帶的一些經常使用命令及其經常使用選項,命令至少須要熟git

悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、程序員

javaw、native2ascii、serialver,若是這些命令你沒有所有使用過,那麼你對web

java 實際上還很不瞭解。面試

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

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

經常使用選項的設置、插件的安裝配置以及進行調試。數據庫

四、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 的解析及內容處理。

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

六、管理:Java 程序員必須熟悉使用ant 完成工程管理的經常使用任務,例如工

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

七、排錯:應該能夠根據異常信息比較快速的定位問題的緣由和大體位置。

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

的Java 系統。

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

員和方法名首字母小寫,方法名的第一個單詞通常是動詞,包名所有小寫等,這

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

十、博學: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-5工做經驗的,面對目前流行的技術不知從何下手,須要突破技術瓶頸的能夠加羣。

二、在公司待久了,過得很安逸,但跳槽時面試碰壁。須要在短期內進修、跳槽拿高薪的能夠加羣。

三、若是沒有工做經驗,但基礎很是紮實,對java工做機制,經常使用設計思想,經常使用java開發框架掌握熟練的,能夠加羣。

四、以爲本身很牛B,通常需求都能搞定。可是所學的知識點沒有系統化,很難在技術領域繼續突破的能夠加羣。

五、羣號:高級架構羣 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集成使用

相關文章
相關標籤/搜索