JVM
红的羊
主要是项目开发:
后台:java
前段:html、jsp
开发工具:eclipse、idea
展开
-
JVM介绍和类加载机制
JVM 什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节...原创 2019-03-29 15:03:00 · 124 阅读 · 0 评论 -
JVM内存模型以及GC
1、堆 保存局部变量的值包括:new产生的对象,数组 a、堆是被所有线程共享的一块内存区域,在虚拟机启动的时候被创建。 b、堆是垃圾收集的主要区域,因此很多时候被称为"GC"堆,现在垃圾收集一般是按照分代收集的的所以java堆还可以细分为:新生代、老年代;再细分就是Eden空间 、From Survivor 空间、ToSurvivor 空间。 c、PermGen(永久区,1.8以后就没有了改成了M...原创 2019-03-29 15:13:15 · 448 阅读 · 0 评论 -
JVMGC算法
引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。 缺点:此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep) 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。 缺点:此算法需要暂停整个应用,同...原创 2019-03-29 22:17:54 · 480 阅读 · 0 评论 -
JVM垃圾收集器
串行收集器 1、serial收集器(JDK1.7之前默认) 使用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。 特点:CPU利用率最高,停顿时间即用户等待时间比较长。 使用场景:小型应用 JVM...原创 2019-03-29 22:23:38 · 195 阅读 · 0 评论 -
JVM的参数
默认配置: 对内存最大值是物理内存的1/4,堆内young:old=1:2,young中一个s:e=1:6,元数据空间12m-20m,年轻代默认拷贝次数15次,官方建议:young:old=3:5。 参数 -Xmx1024 Java Heap最大值,最佳设值应该视物理内存大小及计算机内其他内存开销而定; -Xms1024 Java Heap初始值,Server端JVM最好将-Xms和-Xm...原创 2019-03-30 09:29:35 · 348 阅读 · 0 评论 -
JVM工具
jps(Java Virtual Machine Process Status Tool) 查看jvm进程,包括进程ID,进程启动的路径等等 jstack(Java Stack Trace) 查看Java线程的调用堆栈的,可以用来分析线程问题;可以查看运行的java程序的java stack和native stack的信息。 1、针对活着的进程做本地的或远程的线程dump(jvm的dump文件)...原创 2019-03-30 09:29:45 · 139 阅读 · 0 评论