点击上方 Java后端,选择 设为星标
优质文章,及时送达
ava开发,以及结合平时面试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的一些总结 。这当中还有些内容不够完善的地方,会通过以后的文章再添加上。
如果看到这里,说明你喜欢这篇文章,请 转发、点赞。同时 标星(置顶)本公众号可以第一时间接受到博文推送。
推荐阅读
1. Spring Boot 分布式锁的实现
2. 死磕 Nginx 系列:Nginx 限流配置
3. 快来薅当当的羊毛!
4. 卧槽!原来 IOC 这么简单
《Java技术栈学习手册》
,覆盖了Java技术、面试题精选、Spring全家桶、Nginx、SSM、微服务、数据库、数据结构、架构等等。
获取方式:点“ 在看,关注公众号 Java后端 并回复 777 领取,更多内容陆续奉上。
喜欢文章,点个在看
本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。