这篇文章主要讲解了“JVM相关的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JVM相关的知识点有哪些”吧!
JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。
我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。
当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。
在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. 数据类型(重点)
这条没有什么好多说的,无非就是Java中的基本类型和对象类型的掌握。
可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断。
主要知识点:
基本类型: int, long, float, double, boolean 。。。
对应的对象类型: Integer 等类型到基本类型的转换, 装箱和拆箱
Object类型: equals, hashcode
String 类型的特点
4. 对象和实例
在这方面,开发者需要了解class和instance的概念以及之间的差别, 这是java面向对象特性的一个基础。
主要知识点有:
Class和 Instance 的概念
Instance 创建的过程:
无继承:分配内存空间, 初始化变量, 调用构造函数
有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类->子类, 处理定义处的初始化, 执行构造方法
需要注意的点:
静态属性等从基类->子类进行初始化
默认无参构造方法相关的特性
5. 访问控制
这也是java封装特性的一个基础,需要掌握的有:public protected default private 对于class, method, field 的修饰作用。
6. 流程控制
Java 流程控制的基础, 虽然有些语法不一定很常用,但是都需要了解,并且在合适的地方使用它们。
需要掌握的有:if, switch, loop, for, while 等流程控制的语法。
7. 面向对象编程的概念(重点)
这是一个java的核心概念,对于任何java开发者都需要熟练掌握。
Java中很多特性或者说知识点都是和java面向对象编程概念相关的。
在我的理解,一个好的开发者不仅仅需要了解这些特性(知识点)本身。
也更需要知道这些对象在java的面向对象编程概念中是如何体现出来的,这样更有利于开发者掌握java这门开发语言,以及其他面向对象编程的语言。
在这里只是简单罗列了一下,主要的知识点包括有:
面向对象三大特性:封装,继承,多态;
感谢各位的阅读,以上就是“JVM相关的知识点有哪些”的内容了,经过本文的学习后,相信大家对JVM相关的知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。