版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y41992910/article/details/83548962
第一部分:走进java
Java虚拟机
代码在华章下载
jdk发布了六个命令行工具和两个可视化故障处理工具。
推荐书籍
设计原本
领域特定语言
现在著名的Java虚拟机
hotspot vm(默认)
jrockit vm
j9 vm
jdk
sun jdk
open jdk:是开源的(是sun公司宣布开源之后有的)
oracle jdk是商用的(大部分跟openjdk是一样的,只是有了一些商用的功能)
Java的下一个十年规划
1.模块化(jdk9中实现)
2.混合语言
3.多核并行
4.丰富的语法
5.64位虚拟机(这就是为什么java内存限制在4G的主要原因)
第二部分 自动内存管理机制
第2章 java内存区域与内存溢出异常
2.1 运行时数据区域
Java虚拟机运行时数据区
1.程序计数器。
2Java虚拟机栈
3本地方法栈
4.Java堆:
作用:存放对象的实例,被所有线程所共享。
5.方法区:用于存储已被虚拟机加在的类信息,常量,静态变量,即时编译器编译后的代码数据等。(一般人们也把这部分归入堆中,单严格来说,它有自己的学名)
6.运行时常量池:是方法区的一部分
7.直接内存:nio使用