这篇文章算是分享给即将成为Java程序员或入坑Java的新手们。
这篇文章介绍内容是和J2SE相关的部分,如果效果好一些,未来还会介绍Java框架等相关内容。本人是有十年java的开发经验,结合工作中面试或者和别的Java开发者沟通,觉得对于J2SE方面要掌握的基本有以下几个方面。
![bd95bf0cbd0f89a732149618c014e48a.png](https://i-blog.csdnimg.cn/blog_migrate/fc9151a30600f072184e8ac5c49b6a28.jpeg)
1.JVM相关
对于入坑Java的新人,对于JVM了解即可,并不需要特别深的理解。但是对于从业三年以上的Java开发者,对于JVM的理解可以从很大方面了解他的能力。
在这个方面基本需要掌握的内容:JVM内存模型和结构、GC原理,性能调优、调优:Thread Dump, 分析内存结构、class 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程、方法执行过程、Java各个大版本更新提供的新特性。
2.Java的运行
这个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序。知道了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的概念以及之间的差别,instance创建过程也必须了解。
(1) 无继承:分配内存空间, 初始化变量, 调用构造函数。
(2) 有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类->子类, 处理定义处的初始化, 执行构造方法 。
特别要注意的方向:
静态属性等从基类->子类进行初始化
默认无参构造方法相关的特性
![3ba18005dd7cbdc807053d6655c0926f.png](https://i-blog.csdnimg.cn/blog_migrate/dd0ef86b458dcb3ea4a3caf276658775.jpeg)
5.访问控制
需要掌握:
public protected default private 对于class, method, field 的修饰作用
6.流程控制
了解Java流程控制的基础,需要对语法有一定的了解,例如:
if, switch, loop, for, while 等流程控制的语法。
7.面向对象编程的概念
这是java的核心概念,一定要对这个熟练掌握。Java中很多特性或者说知识点都是和java面向对象编程概念相关的。
主要知识点:
面向对象三大特性:封装,继承,多态; 各自的定义概念,有哪些特性体现出来,各自的使用场景
静态多分派,动态单分派的概念
重载的概念和使用
继承:接口多实现,基类单继承
抽象,抽象类,接口
多态:方法覆盖的概念和使用
接口回调
8.基础知识点
这是大概介绍一些散落但是很常用的知识点,列举几个常用的:
equals , hashcode , string/stringbuffer ,final , finally , finalize
9.集合框架
做Java开发,集合框架的制作必不可少,这个一定要掌握。在未来不同的场景可以选择不同的框架来制作。
集合框架的体系: 基础Collection ,Map
具体集合实现的内容, List ,Set ,Map
具体的实现,内部结构, 特殊的方法,适用场景等
集合相关的工具类 Collections 等的用法
![a6dab6f1f72b207145af49f9a86d92c1.png](https://i-blog.csdnimg.cn/blog_migrate/6479fc738de64fef30222face27fb25d.jpeg)
10.异常框架
其实异常框架在Java开发中并不是特别的重视,但是在企业级的设计中,异常处理的好,说明整个系统设计非常健壮。
Throwable Exception
RuntimeException
Error RuntimeException 和一般 Exception 的区别,具体处理方法等
![52cda3cfbfe2641d762cb177e85627bb.png](https://i-blog.csdnimg.cn/blog_migrate/7d9c1531c3f0fdf6aea81fbc6028df42.jpeg)
目前只分享这几个方向点,毕竟从Java这个方向来说,很多点都是必须要了解的,毕竟这是一个与时俱进而且从业人员非常年轻化的行业。IT行业的升级和变化很快,需要不断的提升知识储备。之后还会更新一些Java、python等方面的知识。