
JVM知识点
yao_zhi_qiang
这个作者很懒,什么都没留下…
展开
-
JVM垃圾回收机制及算法(四)
文章目录垃圾回收机制及算法垃圾回收基础知识什么是GC垃圾回收算法复制算法(Copying)Appel 式回收标记-清除算法(Mark-Sweep)标记-整理算法(Mark-Compact)JVM中常见的垃圾回收器Serial / Serial Old(了解)参数设置Stop The World (STW)Parallel Scavenger (ParallelGC) / Parallel Old参数设置开启参数Concurrent Mark Sweep(CMS)CMS 问题CMS 总结Garbage Fir原创 2020-11-10 17:25:08 · 516 阅读 · 1 评论 -
JVM基础(三)JVM中的对象分配内存
JVM中的对象分配JVM中对象的创建过程对象的内存分配虚拟机需要new指令时,首先检查是否被类加载器加载,如果没有,那先执行相应的类加载过程。类加载就是把class加载到 JVM 的运行时数据区的过程。1)检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用(查看目录),并且检查类是否已经被加载、解析和初始化过。2)分配内存 接下来虚拟机将为新生对象分配内存。为对象分配空间的任务等同于把一块确定大小的内存从 java 堆中划分出来。指针碰原创 2020-10-29 16:57:26 · 1035 阅读 · 3 评论 -
JVM基础概念(二)
内存溢出栈溢出参数:-Xss1m, 具体默认值需要查看官网:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABHDABIHotSpot 版本中栈的大小是固定的,是不支持拓展的。java.lang.StackOverflowError 一般的方法调用是很难出现的,如果出现了可能会是无限递归虚拟机栈带给我们的启示:方法的执行因为要打包成栈桢,所以天生要比实现同样功能的循环慢,所以树的遍历算法中:递归和非递归(原创 2020-10-28 11:06:06 · 205 阅读 · 3 评论 -
JVM基础概念(一)
JVM基础概念JVM的内存区域运行时数据区域**运行时数据区域定义:**Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域JVM内存主要分为:以线程的关系分为:线程私有区域:一个线程拥有单独的一份内存区域。虚拟机栈本地方法栈程序计数器线程共享区域:被所有线程共享,且只有一份。方法区堆这里还有一个直接内存,这个虽然不是运行时数据区的一部分,但是会被频繁使用。可以理解成没有被虚拟机化的操作系统上的其他内存(比如操作系统上有 8G原创 2020-10-23 15:07:04 · 261 阅读 · 0 评论