Java知识点整理归纳?
经过这么多年的开发,以及结合平时面试开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。
1.JVM相关(包括了各个版本的特性)
对于刚刚接触的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上经验的资深开发者来说,不会JVM几乎是不可接受的。
JVM作为运行的基础,很难相信对于JVM一点都不了解的人可以把语言吃得很透。我在面试有超过3年经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证开发能力的高低。
在JVM这个大类中,我认为需要掌握的知识有:
JVM内存模型和结构
GC原理,性能调优
调优:ThreadDump,分析内存结构
class二进制字节码结构,classloader体系,class加载过程,实例创建过程
方法执行过程
各个大版本更新提供的新特性(需要简单了解)
2.的运行(基础必备)
这条可能出看很简单,程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行程序,底层IDE又是如何执行程序呢?很多人并不了解。
这个知识点是最最基本的开发者需要掌握的,初学,第一个肯定是教你如何在命令行中执行程序,但是很多人一旦把学完了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。
在这里需要掌握的知识有:
c编译文件为class文件
命令的使用,带package的类如何在命令行中启动
程序涉及到的各个路径(clasth,。library。path,运行的主目录等)
3.数据类型
这条没有什么好多说的,无非就是中的基本类型和对象类型的掌握。昌平IT培训建议可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断
主要知识点:
基本类型:int,long,float,double,boolean,。。。
对应的对象类型:Integer等类型到基本类型的转换,装箱和拆箱
Object类型:equals,hashcode
String类型的特点