前言
目前绝大部分的Java程序员都是处于增删改查的阶段,但是到了这个阶段后就应该考虑下一个层次的突破了,总不能做一辈子的crud吧…
**以目前IT行业的发展趋势以及就业情况来看,**市场早已经不缺初级开发了,对于中高级开发人才倒是挺稀罕的,编程这一工作,如逆水行舟不进则退。技术不断更新,你可以设想一下,公司因为疫情的影响实在撑不下去了,你是不幸中枪的那一个,你之后的工作该怎么找?你的工作经验是否能匹配行业当前的招聘要求呢?
当你的身体和思维已经形成了摸鱼划水的习惯,短期内迅速改变是非常困难的,你能做的只有循序渐进,接下来再过两个月即将迎来跳槽高峰期,不如趁早准备,每天抽出一点时间来学习,在金九银十收获一份满意的工作。
那么作为Java开发人员如何进阶,改变现状?其实这种问题在知乎上一搜一大把,里面有很多回答都很不错,可以供大家参考学习一下,但是说到底还是努力+坚持学习。
在市场上很少能够看到一套不错的学习笔记,小编也是花了挺久的时间总结了这份**《Java程序员人手必备的进阶知识体系》**,帮助大家系统化高效的进阶学习,而不是零散低效的阅读。
1 基础
-
为什么 Java 中只有值传递?
-
int 范围?float 范围?
-
hashCode 与 equals,什么关系?
-
String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的?
-
Java 序列化中如果有些字段不想进行序列化 怎么办?
-
构造器 Constructor 是否可被 override?
-
java 异常体系?RuntimeException Exception Error 的区别,举常见的例子
-
字符型常量和字符串常量的区别?
-
在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
2 集合
集合这块关注一下 1.8 的实现吧,和 1.7 相比变化了很多
-
ArrayList和linkedList的区别?
-
堆是怎么存储的,插入是在哪里?
-
HashMap和HashTable的区别?讲一下 hashMap 原理。hashMap 可以并发读么?并发写会有什么问题?
-
集合类存放于 Java.util 包中, 主要有几种接口?
-
Array与ArrayList有什么不一样?简单介绍下 ArrayList 怎么实现,加操作、取值操作,什么时候扩容?
-
说说ConcurrentHashMap?头插法还是尾插法?扩容怎么做?
-
集合在迭代的过程中,插入或删除数据会怎样?
3 并发
-
notify()和notifyAll()有什么区别?
-
volatile 是什么?