Java体系结构包含四个独立却又彼此相关的技术:
Java程序设计语言
Java API
Java Class文件格式
JVM: Java Virtual Machine
JVM的实现方式:
1、一次性解释器,解释字节码并执行;
2、即时编译器(just-in-time complier)
依赖于更多内存缓存解释后的结果
3、自适应编译器
缓存20%左右代码,提高80%左右的速度;
运行时数据区:
线程私有内存区:
程序计数器
java虚拟机栈
线程共享内存区:
方法区
堆:java自动内存回收,GC(Garbage Collector)
垃圾回收算法:
1、标记-清除
2、复制
二分之一
3、标记-整理
java配置参数:
-XX:+<option>: 开启此参数指定的功能;
-XX:-<option>:关闭功能
-XX:<option>=<value>:给option指定的选项赋值;
-D<name>=<value>: set a system property
java -XX:+PrintFlagsFinal:显示所有参数及其默认值
Sun JDK监控和故障处理工具:
jps, JVM Process Status Tool: 显示指定系统内所有的HotSpot虚拟机进程的列表信息
jstat, JVM Statistics Monitoring Tool:收集并显示HotSpot虚拟机各方面的运行数据
jinfo:显示正在运行的某HotSpot虚拟机配置信息
jmap: 生成某HotSpot虚拟机的内存转储快照
可视化工具:
jconsole: Java的监控与管理控制台
jvisualvm: