跟踪收集器 跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任 何引用链时,则证明此对象是不可用的。 下图中,对象Object6、Object7、Object8虽然 ...
分类:
编程语言 时间:
2017-02-28 17:47:13
阅读次数:
159
java程序运行期数据区 每个java虚拟机都有一个方法区和一个java堆,它们由该java虚拟机中所有线程共享的 对于基本类型的变量,java虚拟机将其放在栈中 对于引用类型的变量,引用变量本身放在java栈中,而引用所指向的对象放在java堆中 运算符和表达式 1.增量和减量运算符:++,-- ...
分类:
其他好文 时间:
2017-02-28 15:41:09
阅读次数:
132
一:Java技术体系模块图 二:JVM内存区域模型 1.方法区 也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。 ...
分类:
编程语言 时间:
2017-02-28 15:35:31
阅读次数:
203
(注:原文请见《深入理解Java虚拟机》周志明 著,知识点部分参考百度百科) 总述 第1章分为两个部分:Java概述及自己动手编译JDK的教程。 1 Java概述 介绍了Java的整体特性、Java的技术体系组成、Java及JVM的发展史。 1.1 Java的总体特性 1)Java不仅仅是一门编程语 ...
分类:
编程语言 时间:
2017-02-27 21:05:34
阅读次数:
259
1.Java虚拟机 2.垃圾回收 1.Java虚拟机 2.垃圾回收 ...
分类:
编程语言 时间:
2017-02-26 23:59:25
阅读次数:
346
2006-2007-2 《JAVA程序设计》第1周学习总结 一、关于教材内容的学习 粗看教材,提出每一章自己的问题 我们怎么样才能java?我们首先该做什么? 做一个项目,我们应该怎样去用项目管理程序? java有没有自己独特的语法 以前听说过java是面向对象,C语言是面向过程,它们到底有什么区别 ...
分类:
其他好文 时间:
2017-02-26 18:59:31
阅读次数:
166
如图: 1.加载 我们编写一个java的源文件,经过编译后生成一个后缀名为.class的文件,这结合四字节码文件,java虚拟机就识别这种文件,java的生命周期就是class文件从加载到消亡的过程。 关于加载,其实,就是将源文件的class文件找到类的信息将其加载到方法区中,然后在堆区中实例化一个 ...
分类:
编程语言 时间:
2017-02-25 12:36:17
阅读次数:
197
一、堆内存和栈内存 程序运行时内存分配有三种:静态存储分配,栈式存储分配,堆式存储分配 1.静态存储分配: 在程序编译时就可以确定数据目标在运行时所需要的内存,因此在编译时就为其分配固定大小的内存。 这种分配策略不允许代码中有可变数据结构,比如可变数组,嵌套循环结构或者递归,否则无法计算所需要的内存 ...
分类:
编程语言 时间:
2017-02-22 16:41:19
阅读次数:
210
一、Java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返 ...
分类:
其他好文 时间:
2017-02-21 19:11:19
阅读次数:
266
1:java的体系结构 java程序设计语言 java class文件格式 java应用编程接口 java虚拟机 2:java虚拟机的主要任务是装载class文件并且执行其中的代码。 3:java有两种方法,Java方法和本地方法。 4:通过本地方法,java程序可以直接访问系统的内部资源。 5:j ...
分类:
编程语言 时间:
2017-02-20 22:45:46
阅读次数:
190