
JVM
文章平均质量分 71
JVM相关技术介绍
红枫忆梦
书到用时方恨少
展开
-
JVM:GC和GC-Tuning
JVM:GC和GC-Tuning GC的基础知识 1.什么是垃圾 C语言申请内存:malloc free C++: new delete Java: new ? 自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题: 忘记回收 多次回收 没有任何引用指向的一个对象或者多个对象(循环引用) 2.如何定位垃圾 引用计数(Reference Count) 不能解决循环引用的问题 对象的引用数变为0了,那么该对象就成为垃圾了。 根可达算法(Root Searching原创 2021-07-10 07:05:26 · 504 阅读 · 0 评论 -
JVM(五):Java运行时数据区和常用指令
JVM(五):Java运行时数据区和常用指令 jvms 2.4 2.5 指令集分类 基于寄存器的指令集(JVM) 基于栈的指令集 Hotspot中的Local Variable Table = JVM中的寄存器 Runtime Data Area PC程序计数器 存放指令位置 虚拟机的运行,类似于这样的循环 while(not end) { 取PC中的位置,找到对应位置的指令; 执行该指令; PC++; } JVM stacks Frame – 每个方法对应一个栈帧 L原创 2021-06-16 07:34:21 · 350 阅读 · 0 评论 -
JVM(四):Java内存模型(JMM)
JVM(四):Java内存模型(JMM) 硬件层的并发优化基础知识 存储器的层次结构 从CPU到各层所需要的时间 硬件层数据一致性协议 多线程一致性的硬件层支持(老的CPU使用的) Intel中的MESI-Cache一致性协议 协议很多,Intel采用MESI(https://www.cnblogs.com/z00377750/p/9180644.html) 现代CPU数据一致性实现 = 缓存锁(MESI…) + 总线锁 读取缓存以cache line为基本单位,目前64bytes;原创 2021-05-30 07:56:53 · 273 阅读 · 0 评论 -
JVM(三):ClassLoadingLinkingInitializing
类加载过程 Loading:将Class文件加载到内存中 类加载器 类加载器中的类加载过程 类加载器范围 (来自Launcher源码) sun.boot.class.path Bootstrap ClassLoader加载路径 java.ext.dirs ExtensionClassLoader加载路径 java.class.path AppClassLoader加载路径 测试代码 package com.lele.jvm.classloader; ..原创 2021-05-20 19:24:17 · 340 阅读 · 2 评论 -
JVM(二):Class文件格式
二进制字节流 数据类型:u1 u2 u4 u8 和 _info(表类型) _info 的来源是hotspot源码中的写法 查看16进制格式的ClassFile sublime/notepad/ IDEA插件-BinEd 有很多可以观察ByteCode的方法 javap:显示class文件信息(java自带) JBE:可以直接修改 JClassLib:IDEA插件之一 classfile构成 classFile { u4 magic; u2 minor_version;..原创 2021-05-16 07:29:22 · 158 阅读 · 0 评论 -
JVM(一):JVM入门
1.JVM基础知识 Java的解释和编译是可以混合的。 100多种语言可以直接运行在JVM虚拟机上 JVM是一种规范 java virtual machine specifications https://docs.oracle.com/en/java/javase/13/ https://docs.oracle.com/javase/specs/index.html 虚构出来的一台计算机 字节码指令集(汇编语言) 内存管理:栈 堆 方法区等 2.javac的过程 3.常见的JVM实原创 2021-05-15 22:12:07 · 316 阅读 · 0 评论 -
如何避免内存泄漏、溢出
什么是内存泄漏、溢出 内存泄漏 memory leak:对象可达但不可用;是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 内存溢出 out of memory:内存大小不够;是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的...转载 2018-10-12 20:26:57 · 590 阅读 · 0 评论