Java程序員這個職業是公平的,基本上都以技術實力來確定薪酬。
一、決定薪酬主要因素1、基礎技術能力;
2、技術深度(項目經驗);
3、技術廣度。
二、如何提升技術實力如果想要漲薪,首先我們得重視自身技術實力的提升,Mike往期總結的1-5年工作經驗Java程序員技術進階過程中需要掌握的內容,現分享給大家,希望有所裨益。
1、編程基礎:數據結構和算法
1)算法分析與計算
算法時間復雜度和空間復雜度的分析計算
2)算法思想
遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限
3)常用數據結構
數組、鏈表、堆、棧、隊列、Hash表、二叉樹等
4)經典算法
排序
經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合并排序等
查找
經典查找:順序查找、二分查找、二叉排序樹查找
2.java語言掌握
Java語言基礎
1)語言基礎
Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,各種基本數據類型及包裝類
2)面向對象基礎
面向對象編程思想,類與對象,成員變量和局部變量,封裝,this關鍵字,final關鍵字,static關鍵字。
3)常用集合使用
Collection以及各種List、Set、Queue、Map的實現以及集成關系,實現原理。
ArrayList,HashMap等常用集合優劣比較。
3、Java語言高級
1)面向對象高級
對象的三大特性:封裝、繼承和多態,優缺點
如何設計類,類的設計原則。
構造函數,內部類,抽象類,接口,對象的多態性,接口和抽象類的區別。
2)異常處理
Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,異常的捕捉和拋出,異常捕捉的原則,finally的使用
3)多線程
創建與啟動
線程和進程的概念
如何在程序中創建多線程,線程安全問題,線程之間的通訊
線程的同步與鎖
死鎖問題的剖析
線程生命周期
線程池
4)輸入與輸出
java.io包,理解IO體系的基于管道模型的設計思路以及常用IO類的特性和使用場合。
File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩沖流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用
分析IO性能
5)反射
類加載機制原理
反射構造方法、字段、方法
Properties配置文件
代理、泛型、枚舉、Java正則表達式等
6)網絡編程
網絡機制
Socket原理機制
UDP、TCP傳輸等
7)JVM深入理解
一定要深入理解JVM原理,JVM內存劃分、class加載機制以及GC策略等。
內存劃分,Young Generation(年輕代)、Old Generation(年老代)以及Perm Generation(永久代)。
4、java web 核心技術
1)前段技術
html、css語法
css需要學習原生態,對css繼承等掌握
js原生語法,js原生繼承等的掌握
jquery
bootstrap
2)Java Web
建議把java web從容器啟動到request、filter、listener了解原理,最好的方法就是通過調試代碼一層層斷點進入了解源碼。
3)模板引擎
常見的模板引擎的語法掌握以及源碼查看
4)其他
高性能
安全
事務JTA
其他需要了解的,如:管理JMX、安全JCCA/JAAS、集成JCA、通信JNDI/JMS/JavaMain/JAF、SSI技術。
以上只是一部分,覺得有用請點贊支持下,送你一整套全面、系統的技術進階學習專題資料,真福利、不加群、無套路、直接領。
真福利、不加群、無套路、直接領。
福利:《架構師系列專題合集》,目前已更新至100+,持續更新。
領取:轉發+關注+私信關鍵詞【架構】,即可領取。