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

2020-12-15 CSDN

一,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高級大牛直播講解知識點,分享知識,上面五大專題都是各位老師多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!

相關焦點

  • 如何使Java程式設計師擁有高效率的開發環境
    如何使Java程式設計師擁有高效率的開發環境 作為一名程式設計師,好的開發環境可以提升你的工作效率,事半功倍。那麼一名Java程式設計師應該擁有什麼樣的開發工具呢。
  • Java四大名著是什麼?java程式設計師提高技能的經典編程書籍推薦
    學任何語言,基本的語法知識不能少,首推,Java四大名著( java編程思想+Effective java中文版+Java核心技術卷12),下面來具體介紹以下包含Java四大名著在內的java程式設計師類圖書。
  • Java 程式設計師必讀的 9 本書
    連結:https://hackernoon.com/10-best-java-books-for-beginners-and-advanced-developers-z27r3wvs如果你一名Java程式設計師,並且想知道如何通過閱讀書籍來提高自己的Java技能水平,那你今天算是來對地方了,在本文,我將分享一些有史以來我讀過的最好的Java書籍,這些書籍非但沒有因為時間的流逝而過時
  • Java和C/C++的區別是什麼?java高級程式設計師的未來發展是怎樣的?
    中國網際網路科技越來越發達,技術人員成了網際網路科技的驅動先鋒,不僅是C/C++類的從業人員,連java類的從業人員也變得越來越多。據大數據獵頭了解,在科技當道的時代,技術是實現科技發達的主導者,為此,我們來了解一下java高級程式設計師和C/C++有什麼區別?
  • 阿里螞蟻金服Java程式設計師面試的11個問題,你會幾個呢?
    此前,w3cschool app開發者頭條上分享了各種的名企程式設計師面經。比如阿里巴巴java面經、小米java面經、網易java面經等,吸引了大多數的程式設計師們的圍觀。2、經典面試題練習面試題會考察哪些這無法猜到,不過可以刷一些經典的面試題,比如在W3Cschool app開發者頭條上查看名企面試題,對於面試大有裨益。
  • 為什麼很多java程式設計師都不喜歡PHP程式設計師?
    為什麼很多java程式設計師都不喜歡PHP程式設計師?這不是引戰的標題,小編是根據身邊很多程式設計師講述,特別是比較喜歡java程式設計師而總結出來的。在工作中,很多公司隨著業務的增加與需求多樣性,有些企業就是要求用PHP開發,所以很多開發公司都是跟著市場走,主流的程式語言java與PHP碰面,多數情況下java程式設計師都不喜歡PHP程式設計師。
  • 看了這個鍵盤,你認為是什麼語言程式設計師?python程式設計師:不是我!
    百度員工:不好意思,我的C和V也沒了作者點評:這也是我正想問的,作為程式設計師,這兩個高頻使用的按鍵怎麼會可能好好的呢。騰訊員工:這幾個鍵都沒了的應該是遊戲玩家+程式設計師了吧。。不好意思,我好像暴露了什麼,我在公司不玩遊戲的。作者點評:懂了,我不會說的。網友一:能不打分號就不打的路過。
  • Java程式設計師憑什麼工資那麼高?
    1.Java技術的工作難度強度都很大很多人調侃程式設計師脫髮、」禿頭「,可是為什麼會有這種現象呢?Java程式設計師是一個專業性技術性要求很強的工作,而且很費腦力,他們的大腦必須不停的運轉,時刻不能停下學習的腳步,不停地學習新技術,原地踏步就等於落後於人。
  • java程序編譯後會產生什麼
    反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。   Java類的編譯與反編譯   我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。
  • 細思極恐,你真的會寫java嗎
    原文地址:http://lrwinx.github.io/2017/03/04/細思極恐-你真的會寫java嗎/作者: Lrwin導語自2013年畢業後,今年已經是我工作的第4個年頭了,總在做java相關的工作,終於有時間坐下來,寫一篇關於java寫法的一篇文章,來探討一下如果你真的是一個java程式設計師,那你真的會寫java嗎?
  • 程式設計師學Java要關注的6個網站,你知道幾個呢?
    下面w3cschool給程式設計師小夥伴們分享java學習的6個網站:0、SourgeForgeSourgeForge是開源軟體開發者進行開發管理的集中式網站。有相當豐富的Java開放原始碼的著名的軟體。其實,你可以用w3cschool網站上的編程微課學習Java,遊戲化闖關的編程學習方式會讓你感受到編程的樂趣,更容易入門Java。
  • 細思極恐 —— 你真的會寫 Java 嗎?
    相關的工作,終於有時間坐下來,寫一篇關於java寫法的一篇文章,來探討一下如果你真的是一個java程式設計師,那你真的會寫java嗎?java程式設計師,我相信你應該和我一樣,已經數次重複review過自己的代碼很多次了。
  • 細思極恐-你真的會寫java嗎?
    來探討一下如果你真的是一個java程式設計師,那你真的會寫java嗎?java程式設計師,我相信你應該和我一樣,已經數次重複review過自己的代碼很多次了。不知道在看完這段代碼之後,讀者有是否發現還有其他問題的存在,作為一個優秀的java程式設計師,請看一下這段我們剛剛抽象完的代碼:User user = new UserInputDTOConvert().convert(userInputDTO);你會發現,new這樣一個DTO轉化對象是沒有必要的,而且每一個轉化對象都是由在遇到DTO轉化的時候才會出現,那我們應該考慮一下
  • 細思極恐-你真的會寫Java嗎?
    java程式設計師,我相信你應該和我一樣,已經數次重複review過自己的代碼很多次了。不知道在看完這段代碼之後,讀者有是否發現還有其他問題的存在,作為一個優秀的java程式設計師,請看一下這段我們剛剛抽象完的代碼:User user = new UserInputDTOConvert().convert(userInputDTO);你會發現,new這樣一個DTO轉化對象是沒有必要的,而且每一個轉化對象都是由在遇到DTO轉化的時候才會出現,那我們應該考慮一下
  • 3年的java程式設計師,歷經3月7輪面試入職阿里,最後薪資意外
    一位螞蟻金服的員工:什麼崗位,這個價格對於一個三年的來說確實低了網易員工:七輪面試才19k (應該不是所有人都經歷這麼多輪面試吧,這名java程式設計師的情況,真不清楚是怎麼回事)阿里巴巴員工:別去了,媽的面試這麼難,流程這麼長,最後只給19k (呵呵,我想也是仔細評估過的
  • 開課吧:Java程式設計師發展前景怎麼樣難不難?Java用人需求量分析!
    程式設計師是一個行業,無論是java程式設計師還是Python程式設計師等,在這裡java和python只是一種開發工具。想要學好一門開發語言,最重要也最核心的是其編程思想,例如java是一門面向對象的開發語言,那麼什麼是對象?
  • SUN JAVA程式設計師和開發員(SCJD)認證
    java程式設計師的認證Sun Certified JAVA Programmer(SCJP)     課程:SL-275 JAVA語言編程    本課程使學員掌握如何使用標準JAVA Development Kit,V1.1 (JDK) 開發應用程式和applets
  • 為什麼用 Java:一個 Python 程式設計師告訴你
    最 後,Java承諾的「write once, run anywhere」終於得已實現——你可以輕鬆地在任何架構上部署一個Java應用(大家還是承認applet從來沒有過吧)。為什麼用Scala和 Clojure這樣新式語言的聰明人會選擇JVM作為他們的執行環境呢?——因為JVM為你的代碼提供了一個無出其右的分發環境。拋棄像JVM這樣堅如磐 石的工具是非常不合理的。
  • Java程式設計師常用的軟體
    java程式設計師常用的軟體一、常用的開發工具(1)EclipseIDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程式設計師為主。二、常用的接口測試工具(1)SoapUISoapUI是一個開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。
  • Java程式設計師必備基礎:Java代碼是怎麼運行的?
    前言 作為一名Java程式設計師,我們需要知道Java代碼是怎麼運行的。最近複習了深入理解Java虛擬機,做了一下總結,希望對大家有幫助,如果有不正確的地方,歡迎提出,感激不盡。