JVM
文章平均质量分 92
Anakki
后端开发/风光摄影师/驴友/航拍手/后期小佬/火星居民
展开
-
《深入理解Java虚拟机》第二版 第二章笔记
目录二.Java内存区域与内存溢出异常1 运行时数据区域1.1 程序计数器(Program Counter Register)1.2 Java虚拟机栈(JVM Stacks)1.3 本地方法栈(Native Method Stack)1.4 Java堆(Java Heap)1.5 方法区(Method Area)1.6 运行时常量池1.7 直接内存...原创 2018-12-29 17:39:33 · 505 阅读 · 0 评论 -
并行与并发的区别
首先记住一点:单核心cpu只能实现并发,不能实现并行。举例:cpu比作健身房。 核心数比作跑步机。 运行的程序等于上跑步机跑步的人。一台跑步机只能一个人跑。健身房只有一台跑步机。现在有10个人需要上跑步机跑。60分钟内,每个人都在不同的时间段上跑步机跑了一会锻炼完了身体。我们说这十个人在60分钟内,并发了。(concurrent) 但是现在健身房有多台跑步机...原创 2018-12-31 18:49:35 · 1100 阅读 · 1 评论 -
《深入理解Java虚拟机》第二版 第三章笔记
目录三.垃圾收集器与内存分配策略1.1 概述1.2 对象已死吗?1.2.1 引用计数法(RC Reference Counting)1.2.2 可达性分析算法1.2.3 引用1.2.4 生存还是死亡1.2.5 回收方法区1.3 垃圾收集算法1.3.1 标记 - 清除算法1.3.2 复制算法1.3.3 标记 - 整理算法1.4 HotSpot的算...原创 2019-01-15 22:18:52 · 587 阅读 · 0 评论 -
JVM栈溢出实践
本次在eclipse中实践本异常:通过递归调用自己,无结束语句制造栈溢出的情况 ,或在多线程的模式下无限创建线程来实践OOM的情况。1. 栈溢出的情况(StackOverflowError)虚拟机参数设置:-Xss128k /** * JavaVMStackSOF.java * @author anyunpei *2019年1月16日下午7:07:03 * VM Args...原创 2019-01-16 19:41:17 · 709 阅读 · 0 评论 -
JVM堆溢出实践
本次在eclipse中实践本异常:通过无终止的在队中创建对象,以制造堆溢出的情况。虚拟机参数设置:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError将最大内存和最小内存设为相等是为了避免虚拟机自动扩展对内存大小!参数解释:-Xms20m:虚拟机堆的最小内存-Xmx20m:虚拟机堆的最大内存-XX:+HeapDumpOnOutO...原创 2019-01-16 20:04:13 · 258 阅读 · 0 评论 -
《深入理解Java虚拟机》第二版 第七章笔记
虚拟机类加载机制7.2 类加载时机类从被加载到虚拟机内存到卸载出内存,他的生命周期包括:加载(Loading) 验证(Verification) 准备(Preparation) 解析(Resolution) 初始化(Initialization) 使用(Using) 卸载(Unloading)从上到下七个阶段。需要注意:其中解析阶段可以在某些情况下在初始化阶段之后再开...原创 2019-02-11 15:25:02 · 307 阅读 · 0 评论 -
idea64.exe.vmoptions 参数意义
在解决一些项目问题时,常常会有加虚拟机参数的需要。这里解释了 idea64.exe.vmoptions文件中个参数的意义:-Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=fa...原创 2019-05-29 03:44:20 · 15635 阅读 · 2 评论 -
JDK命令行工具(使用实践,基于JDK1.8)
目录一.概述1.1 工具位置:1.2 工具实现的class文件:这些工具类大部分由tool.jar实现二.工具的介绍三.工具的使用3.1 jps3.1.1 jps -l 输出主类全名,如果是jar,则输出jar名称3.1.2 jps -q 输出LVMID3.1.2 jps -m 输出main函数的参数3.1.2 jps -v 查看虚拟机启动参数3.2 j...原创 2019-09-10 03:54:30 · 664 阅读 · 0 评论