java必备基本知识点.docx
java
必备基本知识点
java必备基本学问点
Java是目前企业中应用最广的跨平台编程语言,在学习Java的过程中,我们需要把握下面这些Java中的必备学问点。
01JVM相关
JVM作为java运行的基础,很难信任对于JVM一点都不了解的人可以把java语言吃得很透。在面试有超过3年Java阅历的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一打算技术力量好坏的面试问题,但是可以佐证java开发力量的凹凸。
在JVM这个大类中,需要把握的学问有:
GC原理,性能调优
调优:ThreadDump,分析内存结构
class二进制字节码结构,classloader体系,class加载过程,实例创建过程
方法执行过程
Java各个大版本更新供应的新特性
02Java的运行这个学问点是最最基本的java开发者需要把握的,初学java,第一个确定是教你如何在命令行中执行java程序,但是许多人一旦把java学完了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的名目多少,执行命名如何,参数如何,是否有缺失等。这样有利于你真正开发中去解决那些奇惊奇怪的可能和环境相关的问题。
在这里需要把握的学问有:
javac编译java文件为class文件
java命令的使用,带package的java类如何在命令行中启动
java程序涉及到的各个路径(classpath,javaolibraryopath,java运行的主名目等)
03数据类型
这条无非就是Java中的基本类型和对象类型的把握。可以再了解一些JDK如何自动转换方面的学问,包括装箱拆箱等,还要留意避开装箱之后的类型相等的推断。
主要学问点:
基本类型:int,long,float,double,boolean, 。。。
对应的对象类型:Integer等类型到基本类型的转换,装箱和拆箱
Object类型:equals,hashcode
String类型的特点
04对象和实例,对象的创建
在这方面,开发者需要了解class和instance的概念以及之间的差别,这是java面对对象特性的一个基础。
主要学问点有:
Class和Instance的概念
Instance创建的过程:
lo无继承:安排内存空间,初始化变量,调用构造函数
2o有继承:处理静态动作,安排内存空间,变量定义为初始值,从基类-子类,处理定义处的初始化,执行构造方法
需要留意的点:
静态属性等从基类-子类进行初始化
默认无参构造方法相关的特性
05访问掌握
这也是java封装特性的一个基础。
需要把握的有:publicprotecteddefaultprivate对于class,method,
field的修饰作用
06流程掌握
Java流程掌握的基础,虽然有些语法不肯定很常用,但是都需要了解,并且在合适的地方使用它们。
需要把握的有:
if,switch,loop,for,while等流程掌握的语法
07面对对象编程的概念
这是一个java的核心概念,对于任何java开发者都需要娴熟把握。Java中许多特性或者说学问点都是和java面对对象编程概念相关的。一个好的开发者不仅仅需要了解这些特性本身,也更需要知道这些对象在java的面对对象编程概念中是如何体现出来的,这样更有利于开发者把握java这门开发语言,以及其他面对对象编程的语言。
这里简洁排列一下主要的学问点:
面对对象三大特性:封装,继承,多态;各自的定义概念,特性体现,使用场景
静态多分派,动态单分派的概念
重载的概念和使用
继承:接口多实现,基类单继承
抽象,抽象类,接口多态:方法掩盖的概念和使用
接口回调
08Static
静态属性在java日常开发中也是常常使用,需要了解和static关键字相关的用法,还有和其他关键字的协作使用,如是否可以和abstract,final等关键字联合使用。
主要需要把握的有:
静态属性的定义,使用,以及类加载时如何初始化
静态方法的定义和使用
静态类的定义和使用
静态代码块的定义和初始化时机
09集合框架
这个是一个需要多加把握的部分,做java开发,可以说没有不用到集合框架的,这很重要。但是这里的学问点并不难,但是对于集合最好要了解内部的实现方式,由于这样有助于你在各个不同的场景选择适合的框架来解决问题,比如有1W个元素的集合,常常要进行contains推断操作,知道了集合的特性或者内部实现,就很简单做出正确的选择。
这里包括了如下内容(并发相关不包含在内):
集合框架的体系:基础Collecti