1.什么是JVM?

JVM是Java Virtual Machine(Java虚拟机)的缩写,虚拟机是指通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java虚拟机有自己完善的硬体架构,如处理器堆栈寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系...

Continue reading >>

1.Java程序运行状态

1.1 java运行状态

  • RUNNABLE:线程处于正在运行状态。

  • TIMED_WAITING(on object monitor) 表示当前线程被挂起一段时间,说明该线程正在执行obj.wait(int time)方法.

  • TIMED_WAITING(sleeping) 表示当前线程被挂起一段时间,即正在执行Thread.sleep(int time)方法.

  • TIMED_WAIT...

Continue reading >>

1. 垃圾回收器类型及选择

现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenured generation和permanet generation。绝大部分的object被分配在young generation(生命周期短),并...

Continue reading >>

1.Java程序运行

源码XXX.java-->javac编译器-->字节码XXX.class-->JVM-->机器语言(依赖于不同平台)-->执行

JRE(Java Runtime Environment)是包含了JVM和其他一些简单功能的JAVA运行环境,它适用于只运行java程序时。

JDK(Java Development Kit)比JRE包含了更多东西,它除了能作...
Continue reading >>