随到随学/常年招生
全日制班
蓝鸥西安
陕西省西安市高新区唐兴路10号后楼一层详细地图
15626540795
课程介绍
Java 运行时环境就是 JRE 的中文翻译,本质上其实就是指 JVM。
首先对于 JVM 必须要知道的是,JVM 与 Hotspot 的关系。
JVM 更多的是指 JVM 规范,而 Hotspot 是 JVM 的一种实现,也是我们较常用的 JVM 实现。
你可以把 JVM 规范当做接口,Hotspot 当做实现类,这样去理解会比较简单一些。
此外,JVM 较重要的三个部分必须要非常清楚,内存划分、class 加载机制以及 GC 策略。
搞清楚这三部分不仅仅是为了面试,也是为了让你对于 Java 有更深刻的理解,这对于你的 Java 生涯非常有帮助。
而且,关于内存划分,还有一点要注意,咱们常说的划分方式,其实是指的 Hotspot 的划分方式,而非 JVM 规范所规定的。
Hotspot 的内存划分简单说分为三个部分,Young Generation(年轻代)、Old Generation(年老代)以及 Perm Generation(代)。
其中的 Young Generation(年轻代),又分为 Eden、From 和 To,其中From 和 To 又统称为 Survivor Spaces(幸存区)。
正常情况下,一个对象从创建到销毁,应该是从 Eden,然后到 Survivor Spaces(幸存区),再到 Old Generation(年老代),较后在某次 GC 下消失。
当然,一个对象也可能直接在 Eden 里死掉,也可能一直在 Old Generation(年老代)存活,这些都是有可能的。
关于内存划分,可以自己没事用内存分析工具看看,比如 jmap、jvisualvm 等等,观察一下各个区域的内存变化,结合实际去了解一下。
关于 classloader 机制的学习,可以结合 tomcat 去学习,了解清楚 tomcat 的 classloader 机制,看 tomcat 是如何保证各个 APP 之间的类隔离的。
如果可能的话,看一下 tomcat 中 classloader 的源码,当中包含了与 tomcat 类加载机制相似的部分。
至于 GC,需要清楚 GC Roots 都有哪些,以及如何判断一个对象可以被回收。
此外,GC 的算法和策略也要有大概的了解。
蓝鸥科技西安中心,移动互联网科技育人专家,教育部产学合作协同育人项目承办企业,专注西安Java培训、西安大数据培训、西安VR/AR培训、西安HTML5培训、西安PHP培训,选择蓝鸥,不止高薪更是高起点!
显示全部
学校介绍
学校人气度:2047
2016-04-19
共439个
软件开发与培训
杨老师
蓝鸥科技是一家集产、学、研为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发和HTML5前端开发等软件人才的培养。蓝鸥强大的师资阵容,纯净的教育理念,严格的管理制度,使其成为了美国苹果公司AATC认证官方授权培训中心、Unity官方授权培训中心,也是目前国内仅有的一家”两大官方授权于一身“的移动互联网培训企业。
相关课程
加载更多
热门推荐
QQ咨询
微信咨询