一,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 等流行技術,掌握軟體架構設
計思想、搜索 引擎優化、緩存系統設計、網站負載均衡、系統性能調優等實用
技術
二, 羅列一下架構知識點
作為一個Java 程式設計師 你應該會什麼
我把它分為了五大專題
工程化專題
工程化專題 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的優化重構分布式壓測系統
最簡單的單機壓測壓測應該關注的點如何做分布式壓測分布式跟蹤系統
如何梳理鏈路依賴如何做到優雅降級分布式配置系統
靈活配置熱發布一切都是為了自動化分布式消息系統
異步化&系統隔離應對瞬時大流量分布式緩存體系
五級緩存體系熱點數據處理
高性能及分布式專題
分布式專題分布式緩存技術 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集成使用
1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加群。
2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加群。
3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加群。
4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加群。
5.群號647490707Java高級開發
6.阿里Java高級大牛直播講解知識點,分享知識,上面五大專題都是各位老師多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!