jvm
文章平均质量分 89
您是否遇到过运行着的线上系统突然卡死,系统无法访问,甚至直接OOM;想解决线上JVM GC问题,但却无从下手;订阅此栏目,将带领您轻松解决这类问题。
全栈行动派
专注 Java , 包括JVM、Spring Boot、Spring Cloud、多线程、数据结构与算法、K8S、Docker、MQ、架构设计、面试题等,一起学习进步,赶快上车。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java中CAS详解
什么是CAS,CAS为什么比Synchronized性能好,CAS实现原理是什么,什么是自旋锁,CAS有什么缺点?什么是ABA问题,又是怎么解决ABA问题,本篇文章一一详解。原创 2023-04-17 07:45:00 · 1209 阅读 · 0 评论 -
JMM之volatile关键字详解
在JMM规范下有三大特性分别是:可见性、原子性、有序性。而被volatile关键字修饰的共享变量拥有三大特性的两大特性分别是:可见性和有序性。为什么被volatile修饰的变量就可以保证变量的可见性和有序性呢?为啥不能保证原子性?我们带着这两个疑问展开深入分析。原创 2023-04-15 12:31:45 · 720 阅读 · 0 评论 -
JMM之先行发生原则(happens-before)详解
在JMM规范下,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happers-before(先行发生)原则。原创 2023-04-13 07:45:00 · 999 阅读 · 0 评论 -
JMM内存模型详解
JVM规范试图定义一种Java内存模型(JMM)来屏蔽各种硬件和操作系统的内存访问模型。关键技术点都是围绕多线程的原子性、可见性和有序性这三大特性展开的。原创 2023-04-11 07:45:00 · 1127 阅读 · 0 评论 -
线程(Thread)的三种等待唤醒机制详解
线程的等待唤醒机制是一种经典的“生产者和消费者”模型。目前可以通过三种方式实现各有优缺点,本篇文章通过实例代码演示三种实现方式以及优缺点。原创 2023-04-10 07:45:00 · 4229 阅读 · 2 评论 -
优雅停止Thread(线程)的3种方式
Thread类听过的stop()不安全已被弃用,通过volatile、AtomicBoolean或者interrupt和isInterrupted方法配合可以优雅的停止线程原创 2023-04-09 07:45:00 · 4285 阅读 · 0 评论 -
synchronized关键字全解
能用无锁数据结构,就不要用锁;能锁区块,就 不要锁整个方法体;能用对象锁,就不要用类锁。无锁最好,有锁也要控制锁的范围。锁的范围大小:方法内区块锁原创 2023-04-08 07:45:00 · 332 阅读 · 0 评论 -
JVM监控及诊断工具大全
JVM监控及诊断工具大全,包含:JConsole、Visual VM、Eclipse MAT、JProfiler、Arthas、Java Misssion Control、火焰图、Btree等原创 2023-04-02 07:45:00 · 3517 阅读 · 0 评论 -
Java自定义类加载器全解
Java自定义类加载器:为什么要自定义、使用场景、注意点、实现方式全解;实例通过自定义类加载器实现Java license实现原创 2023-03-27 07:45:00 · 1967 阅读 · 0 评论 -
Java中类ClassLoader(加载器)全解
Java中类ClassLoader(加载器)全解。引导类加载器、扩展类加载器、系统类加载器负责加载范围详解;ClassLoader源码解析;双亲委派模型流程详解、优势和劣势详解。原创 2023-03-26 07:45:00 · 15606 阅读 · 1 评论 -
JVM性能监控之命令行工具全解
Jdk自带监控命令行工具全解,包括jps、jstat、jinfo、jmap、jhat、jstack、jcm、jstatd原创 2023-03-25 07:45:00 · 1841 阅读 · 2 评论 -
Java中类的加载过程(类的生命周期)详解
Java中类的加载过程(类的生命周期)详解。包含加载、连接(验证、准备、解析)、初始化、类的使用、类的卸载,整个类的生命周期一篇带走原创 2023-03-24 07:45:00 · 836 阅读 · 0 评论 -
GC日志分析一篇带走~
系统调优的重要手段就是控制GC次数,优化GC就得通过分析GC日志,只有能读懂GC日志才可以分析,本篇文章带大家详细分析GC日志原创 2023-03-15 07:45:00 · 761 阅读 · 0 评论 -
JVM垃圾回收器G1详解
在我们应用程序所应对的业务越来越庞大、复杂,用户越来越多,没有GC就不能保证应用程序正常进行,而经常造成STW的GC又跟不上实际的需求,我们需要不断地尝试对GC进行优化。G1(Garbage-First)垃圾回收器是在Java7 update4之后引入的一个新的垃圾回收器,是当今收集器技术发展的最前沿成果之一原创 2023-03-14 07:45:00 · 5203 阅读 · 2 评论 -
Java中强、软、弱、虚、终结引用实例详解
Java中强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)详解、使用场景、创建方法、回收实例代码详解原创 2023-03-13 07:45:00 · 2404 阅读 · 1 评论 -
JVM垃圾回收器详解
JVM垃圾回收器分类、7个经典垃圾回收器流程、参数、优缺点详解。原创 2023-03-11 07:45:00 · 644 阅读 · 0 评论 -
Java中内存溢出和内存泄露详解
Java中内存溢出和内存泄露详解原创 2023-03-10 07:45:00 · 1129 阅读 · 0 评论 -
Java中System.gc()详解
调用System.gc()后,GC真的会立即执行吗?方法内的变量,在GC时会被回收吗,通过实际编码+可行性分析+字节码等详解。原创 2023-03-09 07:45:00 · 5417 阅读 · 0 评论 -
Java中对象的finalization机制
由于fiJava中对象的finalization机制是什么?由于finalize()方法的存在,虚拟机中的对象一般处于三种可能的状态,是哪三种状态呢,本篇文章统统给你讲解明白。原创 2023-03-08 07:45:00 · 576 阅读 · 0 评论 -
Java中垃圾回收(GC)算法详解
想深入了解Java中的GC,那GC的算法必须要知道,本篇文章咱们就详细介绍标记阶段:引用计算算法和可达性分析算法等;清除阶段:标记-清除算法、复制算法、标记整理算法等原创 2023-03-07 07:45:00 · 3012 阅读 · 0 评论 -
Java中垃圾回收(GC)基本概念
想要学习GC,首先需要理解为什么需要GC?那什么是垃圾、为什么需要GC、Java中垃圾回收机制、都回收那些区域?这些在本篇文章中都可以得到详细的说明。原创 2023-03-06 07:45:00 · 1164 阅读 · 0 评论 -
Java中String详解(从原理理解经典面试题)
通过JVM\字节码\String特性,深入理解String经典面试题,告别死记硬背,从原理上解答面试题原创 2023-03-04 07:45:00 · 1094 阅读 · 1 评论 -
JVM之执行引擎详解
执行引擎是Java虚拟机核心的组成部分之一,虽然没有运行时数据区内容多,但是没有执行引擎的翻译,java字节码是不能在操作系统上运行的,本篇文章带你详解执行引擎,解释什么Java被称为半解释半编译型语言、为什么能跨平台等。原创 2023-03-03 07:45:00 · 496 阅读 · 0 评论 -
JVM对象实例化详解
java中创建对象的多种方式、对象创建的过程、什么叫指针碰撞详解、对象内存布局。JVM是如何通过栈帧中的对象引用访问到其内部的对象实例呢?原创 2023-03-02 07:45:00 · 420 阅读 · 0 评论 -
JVM相关面试题深入详解~持续更新!
JVM相关面试题深入详解~持续更新!,总有一个你不知道的,刚好你又遇到了,恭喜你,offer在向你招手!原创 2023-03-12 07:41:42 · 238 阅读 · 0 评论 -
实例变量、类变量、全局常量你真的了解吗
实例变量VS类变量VS全局常量,你真的了解吗原创 2023-02-28 07:45:00 · 464 阅读 · 0 评论 -
JVM之方法区详解
JVM内存结构中方法区详解,包括方法区的基本理解、方法区的演进、方法区大小设置优化、方法区内部存储结构(类型信息、常量、静态变量、即时编译器编译后的代码缓存)原创 2023-03-01 07:45:00 · 1111 阅读 · 0 评论 -
JVM中TLAB(Thread Local Allocation Buffer)+逃逸分析
堆上存放的对象实例多线程不安全,并且影响分配速度。如果能将对象实例分配在独立的一块区域,那就能解决多线程不安全和分配速度慢问题,这就是TLAB。那JVM怎么判断对象是否启用TLAB?TLAB又怎么能知道开发人员优化代码呢?本篇为您揭晓原创 2023-02-27 07:45:00 · 1559 阅读 · 0 评论 -
JVM内存结构之堆(重要)
每个JVM进程有且只有一个堆,进程内的所有线程共享这块区域,堆区在JVM启动的时候即被创建,其空间大小也就确定了,是JVM内存结构中最大的一块区域。由于线程共享,堆也就成了JVM内存管理的核心区域。原创 2023-02-26 07:45:00 · 1167 阅读 · 0 评论 -
JVM本地方法接口和本地方法栈
JVM内存模型中有了方法区、虚拟机栈,为啥还要用到本地方法区和本地方法栈呢,本篇文章为您解答!原创 2023-02-25 07:45:00 · 451 阅读 · 0 评论 -
JVM虚拟机栈
Java虚拟机栈(Java Virtual Machine Stack),早期也叫Java栈。每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应着一次次的Java方法调用,是线程私有的,声明周期和线程一致。原创 2023-02-24 20:46:59 · 497 阅读 · 0 评论 -
JVM运行时数据区之程序计数器(PC寄存器)
JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且也不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。原创 2023-02-22 07:45:00 · 262 阅读 · 0 评论 -
JVM运行时数据区
Class文件被类加载子系统加载后就进入到了运行时数据区等待执行引擎执行,运行时数据区也是JVM中最重要的一部分,GC、OOM、性能调优全部在这里了原创 2023-02-21 07:45:00 · 189 阅读 · 0 评论 -
可视化已编译Java类文件字节码的神器jclasslib
jclasslib字节码编辑器是一个可视化已编译Java类文件和包含的字节码的工具。可以在UI中编辑类文件的许多方面。此外,它还包含一个库,使开发人员能够读写Java类文件和字节码原创 2023-02-17 08:41:09 · 3400 阅读 · 1 评论 -
JVM类加载子系统
JVM类加载子系统在内存结构中处于什么位置、是什么、加载过程、阶段。类加载器分类、加载器自定义、双亲委派机制等原创 2023-02-20 00:30:00 · 190 阅读 · 0 评论 -
JVM和JAVA体系结构
通过JVM和Java体系结构讲解,阐述为什么要学习JVM、怎么能学好JVM、JVM整体模型流程等。原创 2023-02-16 10:18:24 · 389 阅读 · 0 评论
分享