Thread Dump 和Java应用诊断 Thread Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的thread-dump的能力。虽然各个Java虚拟机thread dump打印输出格式上略微有一些不同,但是Thread dumps出来...
分类:
编程语言 时间:
2015-03-31 12:18:45
阅读次数:
191
垃圾回收的前提是判断对象是否存活,对象不再存活时将会被回收,下面是2种判断的方法。 引用计数法: 主流的Java虚拟机并没有使用引用计数法来管理内存,重要的原因就是循环引用的问题难以解决。 可达性分析法: 这个算法的基本思路是:通过一系列称为“GCRoots”的对象作为起始点,向下搜...
分类:
编程语言 时间:
2015-03-30 01:20:35
阅读次数:
275
##2.1 运行时数据区域## Java虚拟机在执行Java程序的过程中把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用...
分类:
编程语言 时间:
2015-03-29 23:51:51
阅读次数:
399
1. Java运行时数据区域Java虚拟机在执行java程序的过程中会把它管理的内存划分为若干个不同的数据区域。1.1程序计数器程序计数器是一块较小的内存空间,它可看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式实现),字节码解释器工...
分类:
编程语言 时间:
2015-03-29 16:19:25
阅读次数:
224
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。
1.强引用
本章前文介绍的引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,...
分类:
编程语言 时间:
2015-03-29 15:06:10
阅读次数:
277
一、Servlet基础:
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。最大的用途是通过动态响应客户机请求来扩展服务器功能。Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。
二、Servlet工作原理 :...
分类:
其他好文 时间:
2015-03-29 09:29:10
阅读次数:
145
深入理解Java虚拟机/classloader,类的加载机制;new过程;父亲委托机制;内存区域:堆栈方法区、程序计数器线程、常量池、运行时常量池、new string、内存溢出Java编程思想/2015.03.26_不确定对象的个数,如何存储多个对象;arraylist的add、size、get方...
分类:
其他好文 时间:
2015-03-28 01:08:11
阅读次数:
187
这几天从图书馆借了《深入理解Java虚拟机》,看到内存区域这一章,总结了一下。Java虚拟机所管理的内存区域如下图所示:其中各区域具体的作用如下1、程序计数器字节码解释器通过改变程序计数器的值来选取下一条要执行的字节码指令(分支、循环线程恢复等基础功能都需要依赖这个计数器);每个线程都有一个独立的程...
分类:
其他好文 时间:
2015-03-27 23:50:24
阅读次数:
288
Java平台由Java应用编程接口(API)和Java虚拟机(JVM)构成,这个平台构成了Java在不同计算机系统中编译和运行的环境。
分类:
编程语言 时间:
2015-03-21 22:41:19
阅读次数:
175
Java Runtime Environment(JRE) :运行Java程序所必须的环境的集合。JRE的组成: –包括Java 虚拟机 (JVM)、Java核心类和支持文件。 –不包含开发工具 --如编译器、调试器和其它工具。
分类:
编程语言 时间:
2015-03-21 21:14:45
阅读次数:
122