![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
ba拉扒la
这个作者很懒,什么都没留下…
展开
-
深入理解Java虚拟机(1)--java的发展历史
Java虚拟机之Java的发展历史原创 2017-06-21 13:02:27 · 2558 阅读 · 0 评论 -
深入理解Java虚拟机(2)--JDK、JRE、JVM的区别
很多程序员已经干了一段时间java了依然不明白jdk、jre以及jvm的区别,尤其是jdk与jre之间的区别。JDK(Java Development Kit)Java 语言的软件开发工具包(SDK),是面向Java开发人员的使用者,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runt原创 2017-06-21 13:36:33 · 942 阅读 · 0 评论 -
深入理解Java虚拟机(3)--Java内存区域的划分及作用
Java虚拟机在执行Java程序的过程中会把它所管咧内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和小会的时间,有的区域随着虚拟机的启动而存在,有些区域再依赖用户线程的启动和结束而建立和销毁。根据Java虚拟机规范Java虚拟机所管理的内存包括以下几个运行区域:1、程序计数器1.1、简述: 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器原创 2017-06-22 16:07:51 · 352 阅读 · 0 评论 -
深入理解Java虚拟机(4)--对象的创建(虚拟机再遇到一条new指令时,会怎么做?)
我们在编写程序的时候经常使用new指令来创建一个对象,那么虚拟机再遇到一条new指令创建对象(仅限于简单对象,不包括数组和Class对象等)的时候,在虚拟机的内部到底是一个怎么样的过程。首先介绍几个在创建对象的过程中使用到的几个生词。1、Java分配内存的方式:1.1、 指针碰撞: 假设Java堆中内存是绝对完规整的,所有用过的内存都放在一边,空闲的内存都放在另一边,中间放着一个指针作为分界点原创 2017-06-22 16:35:38 · 774 阅读 · 1 评论 -
深入理解Java虚拟机(5)--对象的访问定位
建立对象是为了使用对象,我们的Java程序需要通过栈上的reference数据来操作堆上的具体对象。由于reference类型在Java虚拟机规范中之规定了一个指向对象的引用,并没用定义这个引用因该通过何种方式去定位、访问队中的对象的具体位置,所以对象的访问方式也是通过虚拟机实现而定的。访问方式分类:1、直接指针: reference 中存储的直接就是对象地址,对象实例数据中有一块区域存储原创 2017-06-24 15:24:09 · 373 阅读 · 0 评论 -
深入理解Java虚拟机(6)--String.intern()方法
String str1 = new StringBuilder("计算机").append("软件").toString();System.out.println(str1.intern() == str1);//jdk1.6 false jdk1.7 trueString str2 = new StringBuilder("ass").append("ert").toString();Sy原创 2017-06-26 17:28:39 · 332 阅读 · 0 评论