JVM核心知识体系
1.问题 1、如何理解类文件结构布局? 2、如何应用类加载器的工作原理进行将应用辗转腾挪? 3、热部署与热替换有何区别,如何隔离类冲突? 4、JVM如何管理内存,有何内存淘汰机制? 5、JVM执行引擎的工作机制是什么? 6、JVM调优应该遵循什么原则,使用什么工具? 7、JPDA架构是什么,如何应用代码热替换? 8、JVM字节码增强...

JVM知识体系学习八:OOM的案例(承接上篇博文,可以作为面试中的案例)
前言 JDK中的 垃圾回收器 JDK8:PS+PO JDK9:G1。逻辑分代,物理不分代。从这里之前都是逻辑、物理都分代。 JDK11:CMS就淘汰了,完成历史使命了。使用ZGC(Z Garbage Collector)垃圾回收器;逻辑、物理都不分代。 JDK13:ZGC 说明,GC的调优越来越简单了;在有GC调优阶段,这是优势。 学完这篇博客,可...

JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
前言 本博客主要讲了: JVM常用命令行参数 GC日志的详解 调优三大层面的细节 一、了解JVM常用命令行参数 JVM调优第一步,了解JVM常用命令行参数 1、命令行参数概述 JVM的命令行参数参考(只有8版本):https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html Ho...

JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
前言 本博文主要讲 invoke 指令、常用GC垃圾清除算法、堆内存逻辑分区、栈上分配、。 Java虚拟机基本结构 一、GC(Garbage Collector)Tuning 垃圾回收器 1、什么是垃圾 垃圾: 没有引用指向的任何对象,都叫做垃圾。 2、java与C++的区别 java GC处理垃圾 开发效率高,执行效率低 C++ 手工处理垃圾 ...

JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
前言 前边的 JVM知识体系学习 1-4讲的是 class loader (类加载)、类对象等知识。那这里讲的就是 类加载之后运行时 的数据区域,也就是 java 运行时数据区(java runtime data area),如下图所示: JVM 文档 是 JDK 13版本 本博客记录了JVM运行时区域的内容 线程私有:JVM栈、本地方法栈、PC(程序计数器) 线程公有...

JVM知识体系学习四:排序规范(happens-before原则)、对象创建过程、对象的内存中存储布局、对象的大小、对象头内容、对象如何定位、对象如何分配
前言 外部资料:一文搞懂java对象创建过程 本博客主要讲了 happens-before原则;对象的几个重点问题: 请解释一下对象的创建过程? load、link(verification, preparation, resolution) 、initial、申请对象地址、成员变量赋默认值、构造方法(成员变量赋初始值) 对象在内存中的存储布...

JVM知识体系学习三:class文件初始化过程、硬件层数据一致性(硬件层)、缓存行、指令乱序执行问题、如何保证不乱序(volatile等)
前言 这篇博客主要讲了 class 文件的初始化的流程和两个案例、DCL之单例模式、引出的volicate的作用和原理、进而引出指令重排序、线程(内存)一致性的概念、解决重排序的代码层面volicate 和JVM层次的规范以及CPU层次的内存屏障的三个层次、缓存行的概念、还有指令重排(乱序)的证明过程。 一、class文件初始化过程 1、概述 上一篇博文主要讲的类初始化的类加载过程,也就是...

JVM知识体系学习二:ClassLoader 类加载器、类加载器层次、类过载过程之双亲委派机制、类加载范围、自定义类加载器、编译器、懒加载模式、打破双亲委派机制
前言 切换jdk版本,我目前用的是最高版本18,但是学习需要改成8版本:JDK不同版本切换 本博文主要讲解:类初始化过程中的 ==类加载的过程细节,也就是 ClassLoader == 一、类初始化之 类加载 1、总述 编译好的class文件默默的趟在了硬盘上,怎样才可以到内存里并准备好呢, 如图三大步所示,解析如下: loading:把class文件 load 到 内存 link...

JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
前言 文中所用到的class文件结构思维导图下载:class文件思维导图(这个思维导图的来源是下面 的 jvm class 文件格式 官网 )jvm 13版本 规范 HTML 版本:https://docs.oracle.com/javase/specs/jvms/se19/html/index.htmljava 各版本和 JVM各版本下载...

金石原创 |【JVM盲点补漏系列】「并发编程的难题和挑战」深入理解JMM及JVM内存模型知识体系机制(1)
并发编程的难题和挑战 在并发编程的技术领域中,对于我们而言的难题主要有两个: 多线程之间如何进行通信和线程之间如何同步,通信是指线程之间以何种机制来交换信息。 多线程的线程通信机制 在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 共享内存的方式,多线程之间共享公共的状态(变量),那么线程之间通过写/读内存中...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java开发者
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
+关注