1, Java虚拟机的内存结构1) stack栈内存:用于运行线程,包括了方法里的临时数据,存放的是线程运行的局部变量,还有对象的引用2) heap 堆内存:对象的实例3) non heap 非堆内存:方法区域:运行时常量值和静态方法。 例如:person p = new person(); P 这变量是对象的引用存在stack中, new person()是一个对象的实例
分类:
编程语言 时间:
2018-04-18 21:16:23
阅读次数:
174
今后一段时间会全面读一下《深入理解Java虚拟机》 在这里先记一下在网上看到的几篇介绍 类加载器 的文章,等读到虚拟机类加载机制再详细介绍。 超详细Java中的ClassLoader详解 深入理解Java类加载器 贴一个自己写的类加载器。 Hello类。 把编译后的class文件放到别的路径下。 W ...
分类:
编程语言 时间:
2018-04-17 16:49:48
阅读次数:
159
前言: 想提高Java开发,了解jvm是必不可少的。它让开发者了解他们的代码,jvm是如何变异与运行。深入了解jvm:会让你的代码写的高效,逐步成为大神 下面介绍jvm的基本知识 >>数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。 基本类型的变量保存 ...
分类:
其他好文 时间:
2018-04-17 11:43:16
阅读次数:
155
本篇文章从JVM的角度来理解Java学习中经常提到的重载和重写。 方法调用:方法调用不等同于方法执行,在Java虚拟机中,方法调用仅仅是为了确定调用哪个版本的方法。方法调用分为解析调用和分派。解析调用一定是静态的,而分派可以是静态的,也可以是动态的。我们这里只介绍分派中的静态分配和动态分配。 静态分 ...
分类:
其他好文 时间:
2018-04-16 22:45:38
阅读次数:
186
在说栈和堆之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进 ...
分类:
其他好文 时间:
2018-04-16 14:38:14
阅读次数:
169
简述 今天继续写《深入理解java虚拟机》的对象创建的理解。这次和上次隔的时间有些长,是因为有些东西确实不好理解,就查阅各种资料,然后弄明白了才来做记录。 (此文中所阐述的内容都是以HotSpot虚拟机为例的。) 对象的创建 java程序在运行过程中无时无刻都有对象被创建出来,那么创建对象是个怎么样 ...
分类:
其他好文 时间:
2018-04-15 20:57:49
阅读次数:
175
一、基础概念 初步认知 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置,所以修改对象的引用数据变量不会对 ...
分类:
其他好文 时间:
2018-04-13 14:29:34
阅读次数:
200
网络带来的挑战和机遇: 平台无关性、安全性和网络移动性,Java体系的这三方面共同使得Java和发展中的网络计算环境相得益彰 Java体系结构包括四个独立但相关的技术: Java程序设计语言 Java class文件格式 Java应用编程接口 Java虚拟机 1、Java虚拟机 Java虚拟机是一台 ...
分类:
编程语言 时间:
2018-04-13 14:26:29
阅读次数:
201
一、Java GC 概念说明 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自 ...
分类:
编程语言 时间:
2018-04-11 21:39:32
阅读次数:
201
JVM -- Java Virtual Machine(Java虚拟机) —— 因为要说堆和栈,所以我们必须要先简单的说一下JVM。(JVM详细请找度娘啦~) 首先,我们都知道 java 一直宣传的口号是:一次编译,到处运行。其实它具体的实现是因为 java 程序经过一次编译之后,将 java 代码 ...
分类:
编程语言 时间:
2018-04-11 17:11:53
阅读次数:
224