
【Jvm基础知识】
文章平均质量分 80
空默寒
这个作者很懒,什么都没留下…
展开
-
Jvm知识学习(一)-初识Jvm
一,JVM的概念JVM是Java Virtual Machine的简称。意为Java虚拟机虚拟机 :指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统 有哪些虚拟机 :VMWareVisual BoxJVMVMWare或者Visual Box都是使用软件模拟物理CPU的指令集JVM使用软件模拟Java 字节码的指令集二,Java和Jvm的历史三,规范Java语言规范–...原创 2018-06-30 18:33:17 · 304 阅读 · 0 评论 -
Jvm知识学习(二)-Jvm运行机制
一,JVM启动流程二,JVM基本结构PC寄存器 :每个线程拥有一个PC寄存器在线程创建时 创建指向下一条指令的地址执行本地方法时,PC的值为undefined方法区:保存装载的类信息类型的常量池字段,方法信息方法字节码通常和永久区(Perm)关联在一起Java堆 :和程序开发密切相关应用系统对象都保存在Java堆中所有线程共享Java堆对分代GC来说,堆也是分代的GC的主要工作区间Java栈 :线...原创 2018-06-30 18:44:20 · 232 阅读 · 0 评论 -
Jvm知识学习(九)-锁
一,线程安全1,示例说明:多线程网站统计访问人数 使用锁,维护计数器的串行访问与安全性多线程访问ArrayList代码:public static List<Integer> numberList =new ArrayList<Integer>();public static class AddToList implements Runnable{ int startnu...原创 2018-07-09 09:00:56 · 261 阅读 · 0 评论 -
Jvm知识学习(三)-常用JVM配置参数
一,Trace跟踪参数-verbose:gc-XX:+printGC可以打印GC的简要信息[GC 4790K->374K(15872K), 0.0001606 secs][GC 4790K->374K(15872K), 0.0001474 secs][GC 4790K->374K(15872K), 0.0001563 secs][GC 4790K->374K(15872K)...原创 2018-07-02 13:51:41 · 281 阅读 · 0 评论 -
Jvm知识学习(四)-GC算法与种类
一,GC的概念Garbage Collection 垃圾收集1960年 List 使用了GCJava中,GC的对象是堆空间和永久区二,GC算法根 对象:(1)栈中引用的对象(2)方法区中静态成员或者常量引用的对象(全局对象)(3)JNI方法栈中引用对象1,引用计数法老牌垃圾回收算法通过引用计算来回收垃圾使用者 :COM,ActionScript3,Python 原理:引用计数器的实现很简单,对于一...原创 2018-07-03 09:00:48 · 316 阅读 · 0 评论 -
Jvm知识学习(五)-GC参数
一,JAVA堆Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。这个区域是用来存放对象实例的,几乎所有对象实例都会在这里分配内存。堆是Java垃圾收集器管理的主要区域(GC堆),垃圾收集器实现了对象的自动销毁。Java堆可以细分为:新生代和老年代;再细致一点的有Eden空间,From Survivor空间,To Survivor空间等。Java堆可以处于物理上不连续的内存空间中,只要...原创 2018-07-04 09:04:13 · 397 阅读 · 0 评论 -
Jvm知识学习(六)-类装载器
类加载的机制的层次结构每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载,这里我们需要了解一下类加载的过...转载 2018-07-04 09:11:07 · 298 阅读 · 0 评论 -
Jvm知识学习(七)-性能监控工具
1,linux命令(1)uptime系统时间 ,运行时间 (例子中为7分钟) ,连接数 (每一个终端算一个连接) ,1,5,15分钟内的系统平均负载 (运行队列中的平均进程数) (2)top(3)vmstat可以统计系统的CPU,内存,swap,io等情况 (1,4分别代表采样频率和采样次数) CPU占用率很高,上下文切换频繁,说明系统有线程正在频繁切换(4)pidstat可以细致观察...原创 2018-07-05 15:28:51 · 378 阅读 · 0 评论 -
Jvm知识学习(八)-Java堆分析
一,内存溢出(OOM)的原因1,JVM内存区间可以简单的分为:堆,永久区,线程栈,直接内存2,内存溢出的几种:(1)堆内存溢出:(2)永久区内存溢出:(3)Java栈内存溢出:(4)直接内存溢出:备注说明:直接内存需要GC回收,但是直接内存无法引起GC。直接内存使用满时,无法触发GC。如果堆空间很富余,无法触发GC,直接内存可能就会溢出。如果堆空间触发GC,直接内存可以回收二,MAT使用基础支配树...原创 2018-07-06 14:45:41 · 276 阅读 · 0 评论