你必须掌握的 21 个 Java 核心技术!
扫描二维码
随时随地手机看文章
经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。
1. JVM相关
不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。
我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。
在JVM这个大类中,我认为需要掌握的知识有:
-
JVM内存模型和结构 -
GC原理,性能调优 -
调优:Thread Dump, 分析内存结构 -
class 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程 -
方法执行过程 -
Java各个大版本更新提供的新特性(需要简单了解)
2. Java的运行
这条可能出看很简单,java程序的运行谁不会呢?
不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。
这个知识点是最最基本的java开发者需要掌握的,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完了,IDE用上了,就把这个都忘了。
为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。
-
javac 编译java文件为 class 文件 -
java 命令的使用, 带package的java类如何在命令行中启动 -
java程序涉及到的各个路径(classpath, java。library。path, java运行的主目录等)
3. 数据类型
可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断。
-
基本类型:int, long, float, double, boolean 。。。 -
对应的对象类型:Integer 等类型到基本类型的转换, 装箱和拆箱 -
Object类型:equals, hashcode -
String 类型的特点
4. 对象和实例
在这方面,开发者需要了解class和instance的概念以及之间的差别, 这是java面向对象特性的一个基础。
-
无继承:分配内存空间, 初始化变量, 调用构造函数 -
有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类->子类, 处理定义处的初始化, 执行构造方法
-
静态属性等从基类->子类进行初始化 -
默认无参构造方法相关的特性
5. 访问控制
6. 流程控制
7. 面向对象编程的概念
-
面向对象三大特性:封装,继承,多态; -
各自的定义概念,有哪些特性体现出来,各自的使用场景 -
静态多分派,动态单分派的概念 -
重载的概念和使用 -
继承:接口多实现,基类单继承 -
抽象,抽象类,接口 -
多态:方法覆盖的概念和使用 -
接口回调
8. static
-
静态属性的定义,使用,以及类加载时如何初始化 -
静态方法的定义和使用 -
静态类的定义和使用 -
静态代码块的定义和初始化时机
9. 基础知识点
-
equals -
hashcode -
tring/stringbuffer -
final -
finally -
finalize
10. 集合框架
这个是一个需要多加掌握的部分,做java开发,可以说没有不用到集合框架的,这很重要,这里整理的Java集合面试题及答案你必须都要清楚。
但是这里的知识点并不难,但是对于集合最好要了解内部的实现方式,因为这样有助于你在各个不同的场景选择适合的框架来解决问题,比如有1W个元素的集合,经常要进行contains判断操作,知道了集合的特性或者内部实现,就很容易做出正确的选择。
11. 异常框架
一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响。不过在企业级设计开发中, 异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性。
12. Java IO
在这中的知识点主要有:
13. 多线程
-
多线程的实现和启动 -
callable 与 runable 区别 -
syncrhoized ,reentrantLock 各自特点和比对 -
线程池 -
future 异步方式获取执行结果 -
concurrent 包 -
lock
14. 网络
15. 时间日期处理
16. XML解析/JSON解析
17. Maven 使用
18. 泛型
19. 注解
20. RMI
21. JNI
这些内容都源自于我这些年来使用java的一些总结 。这当中还有些内容不够完善的地方,会通过以后的文章再添加上。
特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:
长按订阅更多精彩▼
如有收获,点个在看,诚挚感谢
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!