1·.JVM
在JVM这个大类中,我认为需要掌握的知识有:
JVM内存模型和结构GC原理,性能调优调优:Thread Dump, 分析内存结构
class 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程
方法执行过程:Java各个大版本更新提供的新特性(需要简单了解)。
2.Java的运行(基础必备)
这条可能出看很简单,java程序的运行谁不会呢?
不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。
这 个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完 了,IDE用上了,就把这个都忘了。为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的目录多少,执行命名如何,参数如何,是否有缺失等。这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。
在这里需要掌握的知识有:
javac 编译java文件为 class 文件java 命令的使用, 带package的java类如何在命令行中启动java程序涉及到的各个路径(classpath, java。library。path, java运行的主目录等)。
3.数据类型
这条没有什么好多说的,无非就是Java中的基本类型和对象类型的掌握。可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断 。
主要知识点:
基本类型:int, long, float, double, boolean ······
对应的对象类型:Integer 等类型到基本类型的转换, 装箱和拆箱Object类型:equals, hashcodeString 类型的特点。
4.对象和实例,对象的创建
在这方面,开发者需要了解class和instance的概念以及之间的差别, 这是java面向对象特性的一个基础。
主要知识点有:Class和 Instance 的概念。
Instance 创建的过程:
1. 无继承:分配内存空间, 初始化变量, 调用构造函数;
2.有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类->子类, 处理定义处的初始化, 执行构造方法。
需要注意的点:
1. 静态属性等从基类->子类进行初始化
2.默认无参构造方法相关的特性。
5.访问控制
这也是java封装特性的一个基础需要掌握的有:public protected default private 对于class, method, field 的修饰作用。
6.流程控制
Java 流程控制的基础,虽然有些语法不一定很常用,但是都需要了解,并且在合适的地方使用它们。需要掌握的有:if, switch, loop, for, while 等流程控制的语法。
|