<什么是守护线程,什么是非守护线程> Java有两种Thread:“守护线程Daemon”(守护线程)与“用户线程User”(非守护线程)。 用户线程:非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程,Java虚拟机在它所有非守护线程已经离开后自动离开。 守护线程:守护线程则是用来 ...
分类:
编程语言 时间:
2016-10-10 16:40:59
阅读次数:
217
一java异常分类 Java异常:(1)Error:java虚拟机无法解决的严重问题(2)Exception:空指针异常 访问不存在的文件 网络连接中断Error和Exception都继承子java.lang.throwableError类型:1.java.lang.StackOverflowErr ...
分类:
编程语言 时间:
2016-10-09 17:00:20
阅读次数:
199
Java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主 ...
分类:
其他好文 时间:
2016-10-07 15:49:03
阅读次数:
437
本文为原创,根据《深入理解java虚拟机》和自己的一些理解进行整理,单纯和看其他人的博客感觉不如自己一点点的画和记录来的印象深刻。 JAVA内存模型: 判断对象是否已死(可以回收)的算法 方法区(永久代)回收的相关说明: 垃圾收集的算法: 1、标记 - 清除算法 包含标记和清除2个阶段,是最基础的算 ...
分类:
编程语言 时间:
2016-10-07 01:21:26
阅读次数:
199
最近在看周志明所著的《深入理解Java虚拟机》,有几个问题不太明白,希望大家帮我回答一下。先说一下我进行试验的环境: 1. 我发现在年轻代中,即使我只是一个空类,没有进行任何的内存分配工作,Eden区域内存还是会被占用一部分,例子如下: 虚拟机参数设置: 虚拟机GC情况如下: 问题1:这里是什么占用 ...
分类:
编程语言 时间:
2016-10-05 21:46:07
阅读次数:
276
下面是个人阅读周志明编写的深入浅出Java虚拟机做成思维导图的笔记,线条、颜色和图片的视觉印象比起单纯文字笔记好得太多了,文字笔记的枯燥以及硬性记忆我就不再多说,特别对于JVM这块略微有点枯燥的知识,更加需要采取更好的方式来认识它。思维导图的模式更加符合大脑认识事物的流程。我将重点的知识抽取出来,又 ...
分类:
其他好文 时间:
2016-10-05 12:45:26
阅读次数:
99
Class类文件结构 Class文件是一组以8字节为基础单位的二进制流, 各个数据项目严格按照顺序紧凑排列在class文件中, 中间没有任何分隔符,这使得class文件中存储的内容几乎是全部程序运行的程序。 Java虚拟机规范规定,Class文件格式采用类似C语言结构体的伪结构来存储数据,这种结构只 ...
分类:
其他好文 时间:
2016-10-03 19:04:46
阅读次数:
159
Java 虚拟机指令集所支持的数据类型: 在 Java 虚拟机中,实际类型与运算类型之间的映射关系,如下表所示: 加载和存储指令用于将数据从栈帧的局部变量表和操作数栈之间来回传输: 将一个局部变量加载到操作栈的指令包括有:iload、iload_<n>、lload、lload_<n>、fload、f ...
分类:
其他好文 时间:
2016-10-03 17:02:25
阅读次数:
503
JVM的全名是Java Virtual Machine(Java虚拟机)。它是通过模拟一个计算机的形式来实现到计算机所具有的计算功能。让我们先来看看一台真实的计算机具备计算功能的条件: 指令集 这个计算机所能识别的机器语言的命令集合。 计算单元 即能够识别并且控制指令执行的功能模块 寻址方式 地址的 ...
分类:
其他好文 时间:
2016-10-03 14:53:53
阅读次数:
217
这篇文章将简单的说明下当我们运行Java程序时JVM(Java虚拟机)的内存分配情况。 首先我们先来感观的认识下几个名词: 1、栈,一般来说,基本数据类型直接在栈中分配空间,局部变量(在方法代码段中定义的变量)也在栈中直接分配空间,当局部变量所在方法执行完成之后该空间便立刻被JVM回收,还有一种是引 ...
分类:
编程语言 时间:
2016-10-03 14:47:38
阅读次数:
164